// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Ibxmlheader.pas' rev: 10.00

#ifndef IbxmlheaderHPP
#define IbxmlheaderHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Ibexternals.hpp>	// Pascal unit
#include <Ibheader.hpp>	// Pascal unit
#include <Ibsql.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Ibxmlheader
{
//-- type declarations -------------------------------------------------------
struct TVary
{
	
public:
	short vary_length;
	char vary_string;
} ;

typedef TVary *PVary;

struct Tib_xmlda
{
	
public:
	char *xmlda_file_name;
	char *xmlda_header_tag;
	char *xmlda_database_tag;
	char *xmlda_table_tag;
	char *xmlda_row_tag;
	file *xmlda_file_ptr;
	char * *xmlda_temo_buffer;
	int xmlda_fetch_stata;
	unsigned xmlda_flags;
	unsigned xmlda_more_data;
	unsigned xmlda_temp_size;
	short xmlda_status;
	short xmlda_more;
	Word xmlda_version;
	Word xmlda_array_size;
	unsigned xmlda_reserved;
} ;

typedef Tib_xmlda *PIB_XMLDA;

typedef int __stdcall (*Tisc_dsql_xml_fetch)(Ibexternals::PISC_STATUS status, Ibheader::PISC_STMT_HANDLE stmt, Word da_version, Ibheader::PXSQLDA sqlda, PIB_XMLDA ib_xmlda);

typedef int __stdcall (*Tisc_dsql_xml_fetch_all)(Ibexternals::PISC_STATUS status, Ibheader::PISC_STMT_HANDLE stmt, Word da_version, Ibheader::PXSQLDA sqlda, PIB_XMLDA ib_xmlda);

typedef int __stdcall (*Tisc_dsql_xml_buffer_fetch)(Ibexternals::PISC_STATUS status, Ibheader::PISC_STMT_HANDLE stmt, char * buffer, int buffer_size, Word da_version, Ibheader::PXSQLDA sqlda, PIB_XMLDA ib_xmlda);

//-- var, const, procedure ---------------------------------------------------
static const Shortint XMLDA_ATTRIBUTE_FLAG = 0x1;
static const Shortint XMLDA_DISPLAY_NULL_FLAG = 0x2;
static const Shortint XMLDA_NO_HEADER_FLAG = 0x4;
static const Shortint MAXCHARSET_LENGTH = 0x20;
static const Shortint SHORT_LEN = 0x7;
static const Shortint LONG_LEN = 0xc;
static const Shortint INT64_LEN = 0x15;
static const Shortint QUAD_LEN = 0x13;
static const Shortint FLOAT_LEN = 0xe;
static const Shortint DOUBLE_LEN = 0x17;
static const Shortint DATE_LEN = 0xb;
static const Shortint DATETIME_LEN = 0x19;
static const Shortint TIME_ONLY_LEN = 0xd;
static const Shortint DATE_ONLY_LEN = 0xb;
static const Shortint UNKNOWN_LEN = 0x14;
static const Shortint ERR_NOT_ENOUGH_MEMORY = -1;
static const Shortint ERR_BUFFERSIZE_NOT_ENOUGH = -2;
extern PACKAGE Tisc_dsql_xml_fetch isc_dsql_xml_fetch;
extern PACKAGE Tisc_dsql_xml_fetch_all isc_dsql_xml_fetch_all;
extern PACKAGE Tisc_dsql_xml_buffer_fetch isc_dsql_xml_buffer_fetch;
extern PACKAGE int __stdcall isc_dsql_xml_fetch_stub(Ibexternals::PISC_STATUS status, Ibheader::PISC_STMT_HANDLE stmt, Word da_version, Ibheader::PXSQLDA sqlda, PIB_XMLDA ib_xmlda);
extern PACKAGE int __stdcall isc_dsql_xml_fetch_all_stub(Ibexternals::PISC_STATUS status, Ibheader::PISC_STMT_HANDLE stmt, Word da_version, Ibheader::PXSQLDA sqlda, PIB_XMLDA ib_xmlda);
extern PACKAGE int __stdcall isc_dsql_xml_buffer_fetch_stub(Ibexternals::PISC_STATUS status, Ibheader::PISC_STMT_HANDLE stmt, char * buffer, int buffer_size, Word da_version, Ibheader::PXSQLDA sqlda, PIB_XMLDA ib_xmlda);

}	/* namespace Ibxmlheader */
using namespace Ibxmlheader;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Ibxmlheader
