{******************************************************************************} { UNIFIED INTERBASE (UIB) } { } { Project JEDI Code Library (JCL) } { } { The contents of this file are subject to the Mozilla Public License Version } { 1.1 (the "License"); you may not use this file except in compliance with the } { License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ } { } { Software distributed under the License is distributed on an "AS IS" basis, } { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for } { the specific language governing rights and limitations under the License. } { } { The Initial Developer of the Original Code is documented in the accompanying } { help file JCL.chm. Portions created by these individuals are Copyright (C) } { 2003 of these individuals. } { } { Interbase & FireBird Borland Compliant API Conversion. } { Interbase 6.x, 7.0, 7.1 } { FireBird 1.x } { Yaffil } { To use a specific version of Interbase or FireBird you must Define compiler } { Options in "JvUIB.inc" } { } { Unit owner: Henri Gourvest } { Last modified: September 21, 2003 } { } {******************************************************************************} {$I jvcl.inc} {$I JvUIB.inc} {$ALIGN ON} {$MINENUMSIZE 4} {$IFDEF USE_IBASE_H} (*$HPPEMIT '#include'*) {$ENDIF USE_IBASE_H} unit JvUIBase; interface uses {$IFDEF USEJVCL} {$IFDEF UNITVERSIONING} JclUnitVersioning, {$ENDIF UNITVERSIONING} {$ENDIF USEJVCL} {$IFDEF MSWINDOWS} Windows, {$ENDIF MSWINDOWS} {$IFDEF LINUX} {$IFDEF FPC} DL, {$ELSE} libc, {$ENDIF FPC} {$ENDIF LINUX} SysUtils, SyncObjs; (* Basic data types *) type {$IFNDEF COMPILER6_UP} {$IFNDEF FPC} PPointer = ^Pointer; PPChar = ^PChar; PWord = ^Word; PCardinal = ^Cardinal; PSmallInt = ^Smallint; PInteger = ^Integer; PDouble = ^Double; PSingle = ^Single; PInt64 = ^Int64; {$ENDIF !FPC} {$ELSE} {$IFDEF BCB} PPointer = ^Pointer; {$ENDIF BCB} {$ENDIF !COMPILER6_UP} UCHAR = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Char; {$IFNDEF FPC}{$NODEFINE UCHAR}{$ENDIF} USHORT = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Word; {$IFNDEF FPC}{$NODEFINE USHORT}{$ENDIF} ULONG = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Cardinal; {$IFNDEF FPC}{$NODEFINE ULONG}{$ENDIF} SCHAR = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Char; {$IFNDEF FPC}{$NODEFINE SCHAR}{$ENDIF} SSHORT = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Smallint; {$IFNDEF FPC}{$NODEFINE SSHORT}{$ENDIF} SLONG = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Integer; {$IFNDEF FPC}{$NODEFINE SLONG}{$ENDIF} SQUAD = record high: SLONG; low: ULONG; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQUAD}{$ENDIF} PGDSQuad = ^TGDSQuad; GDS_QUAD = record gds_quad_high: SLONG; gds_quad_low: ULONG; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM GDS_QUAD}{$ENDIF} TGDSQuad = GDS_QUAD; // ************************************************* // TMN: some misc data types from all over the place //************************************************** // Originally vary_length = SShort but if you need the correct length you // need to use isc_portable_integer that convert it to word so i simply convert // it directly to Word, Very strange. PVary = ^TVary; vary = record vary_length: USHORT; vary_string: array [0..0] of Char; end; TVary = vary; {$IFDEF FB15_UP} PLString = ^TLString; lstring = record lstr_length: ULONG; lstr_allocated: ULONG; lstr_address: ^UCHAR; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM lstring}{$ENDIF} TLString = lstring; {$ENDIF FB15_UP} //typedef unsigned char BOOLEAN; (Delphi Compatible) {$IFNDEF FPC} TEXT = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Char; (* To be expunged over time *) {$IFDEF USE_IBASE_H}{$EXTERNALSYM TEXT}{$ENDIF} {$ENDIF !FPC} STEXT = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Char; (* Signed text - very rare *) {$IFDEF USE_IBASE_H}{$EXTERNALSYM STEXT}{$ENDIF} UTEXT = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Char; (* Unsigned text - common *) {$IFDEF USE_IBASE_H}{$EXTERNALSYM UTEXT}{$ENDIF} //typedef unsigned char BYTE; /* Unsigned byte - common */(Delphi Compatible) SBYTE = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Byte; (* Signed byte - rare usage *) {$IFNDEF FPC}{$NODEFINE SBYTE}{$ENDIF} STATUS = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Longint; {$IFDEF USE_IBASE_H}{$EXTERNALSYM STATUS}{$ENDIF} IPTR = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Longint; {$IFDEF USE_IBASE_H}{$EXTERNALSYM IPTR}{$ENDIF} U_IPTR = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Cardinal; {$IFDEF USE_IBASE_H}{$EXTERNALSYM U_IPTR}{$ENDIF} RCRD_OFFSET = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Cardinal; {$IFDEF USE_IBASE_H}{$EXTERNALSYM RCRD_OFFSET}{$ENDIF} FLD_LENGTH = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Word; {$IFDEF USE_IBASE_H}{$EXTERNALSYM FLD_LENGTH}{$ENDIF} //typedef void (*FPTR_VOID) (); //typedef void (*FPTR_VOID_PTR) (void *); //typedef int (*FPTR_INT) (); //typedef int (*FPTR_INT_VOID_PTR) (void *); const (* Number of elements in an arry *) {$IFDEF FB15_UP} { TODO -oHG : TRANSLATE } //#define FB_NELEM(x) ((int)(sizeof(x) / sizeof(x[0]))) //#define FB_ALIGN(n,b) ((n+b-1)&~(b-1)) FB_API_VER = 15; {$ENDIF FB15_UP} GDS_TRUE = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM GDS_TRUE}{$ENDIF} GDS_FALSE = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM GDS_FALSE}{$ENDIF} //{$IFNDEF __cplusplus} // GDS__TRUE = GDS_TRUE; // {$IFDEF USE_IBASE_H} {$EXTERNALSYM GDS__TRUE} {$ENDIF} // GDS__FALSE = GDS_FALSE; // {$IFDEF USE_IBASE_H} {$EXTERNALSYM GDS__FALSE} {$ENDIF} //{$ENDIF} type (* We can remove these three #defines if we change gdsold.h and gen/codes.h *) GDS_LONG = SLONG; {$IFDEF USE_IBASE_H}{$EXTERNALSYM GDS_LONG}{$ENDIF} GDS_ULONG = ULONG; {$IFDEF USE_IBASE_H}{$EXTERNALSYM GDS_ULONG}{$ENDIF} GDS_STATUS = Longint; {$IFDEF USE_IBASE_H}{$EXTERNALSYM GDS_STATUS}{$ENDIF} const ISC_TRUE = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_TRUE}{$ENDIF} ISC_FALSE = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_FALSE}{$ENDIF} //{$IFNDEF __cplusplus} // ISC__TRUE = ISC_TRUE; // {$IFDEF USE_IBASE_H} {$EXTERNALSYM ISC__TRUE} {$ENDIF} // ISC__FALSE = ISC_FALSE; // {$IFDEF USE_IBASE_H} {$EXTERNALSYM ISC__FALSE} {$ENDIF} //{$ENDIF} //#if (defined __osf__ && defined __alpha) //#define ISC_LONG int //#define ISC_ULONG unsigned int //#else type ISC_LONG = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Integer; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_LONG}{$ENDIF} ISCLong = ISC_LONG; PISCLong = ^ISCLong; ISC_ULONG = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Cardinal; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_ULONG}{$ENDIF} ISCULong = ISC_ULONG; PISCULong = ^ISCULong; //#endif {$IFDEF IB7_UP} ISC_BOOLEAN = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Smallint; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_BOOLEAN}{$ENDIF} ISCBoolean = ISC_BOOLEAN; PISCBoolean = ^ISCBoolean; {$ENDIF IB7_UP} ISC_SHORT = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Smallint; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_SHORT}{$ENDIF} ISCShort = ISC_SHORT; PISCShort = ^ISCShort; ISC_USHORT = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Word; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_USHORT}{$ENDIF} ISCUShort = ISC_USHORT; PISCUShort = ^ISCUShort; ISC_STATUS = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Longint; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_STATUS}{$ENDIF} ISCStatus = ISC_STATUS; PISCStatus = ^ISCStatus; PPISCStatus = ^PISCStatus; ISC_UCHAR = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Char; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_UCHAR}{$ENDIF} ISCUChar = ISC_UCHAR; PISCUChar = ^ISCUChar; const DSQL_close = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM DSQL_close}{$ENDIF} DSQL_drop = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM DSQL_drop}{$ENDIF} {$IFDEF IB65ORYF867} DSQL_cancel = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM DSQL_cancel}{$ENDIF} {$ENDIF IB65ORYF867} {$IFDEF IB7_UP} METADATALENGTH = 68; {$IFDEF USE_IBASE_H}{$EXTERNALSYM METADATALENGTH}{$ENDIF} {$ELSE} METADATALENGTH = 32; {$ENDIF IB7_UP} (****************************************************************** * Define type, export and other stuff based on c/c++ and Windows * ******************************************************************) //#define ISC_EXPORT GDS_EXPORT //#define ISC_FAR //#if (defined(_MSC_VER) && defined(_WIN32)) || \ // (defined(__BORLANDC__) && defined(__WIN32__)) //# define ISC_FAR //# define ISC_EXPORT_VARARG __cdecl type ISC_INT64 = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Int64; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_INT64}{$ENDIF} ISCInt64 = ISC_INT64; ISC_UINT64 = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Int64; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_UINT64}{$ENDIF} ISCUInt64 = ISC_UINT64; {$DEFINE ISC_INT64_DEFINED} //#else /* Not Windows*/ //# define ISC_EXPORT_VARARG //#endif /* Windows/NT */ (******************************************************************* * 64 bit Integers * *******************************************************************) {$IFDEF ISC_INT64_DEFINED} {$UNDEF ISC_INT64_DEFINED} {$ELSE} ISC_INT64 = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Int64; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_INT64}{$ENDIF} ISC_UINT64 = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Int64; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_UINT64}{$ENDIF} {$ENDIF ISC_INT64_DEFINED} (******************************************************************* * Time & Date Support * *******************************************************************) ISC_DATE = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Longint; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_DATE}{$ENDIF} ISCDate = ISC_DATE; PISCDate = ^ISCDate; ISC_TIME = {$IFDEF TYPE_IDENTITY} type {$ENDIF} Cardinal; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_TIME}{$ENDIF} ISCTime = ISC_TIME; PISCTime = ^ISCTime; PISCTimeStamp = ^TISCTimeStamp; ISC_TIMESTAMP = record timestamp_date: ISC_DATE; timestamp_time: ISC_TIME; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_TIMESTAMP}{$ENDIF} TISCTimeStamp = ISC_TIMESTAMP; {$DEFINE ISC_TIMESTAMP_DEFINED} const ISC_TIME_SECONDS_PRECISION = 10000; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_TIME_SECONDS_PRECISION}{$ENDIF} ISC_TIME_SECONDS_PRECISION_SCALE = -4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_TIME_SECONDS_PRECISION_SCALE}{$ENDIF} (******************************************************************* * Blob id structure * *******************************************************************) //{$IFNDEF __cplusplus} // GDS__QUAD = GDS_QUAD; // {$IFDEF USE_IBASE_H} {$EXTERNALSYM GDS__QUAD} {$ENDIF} //{$ENDIF} (* !(defined __cplusplus) *) type ISC_QUAD = GDS_QUAD; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_QUAD}{$ENDIF} TISCQuad = {$IFDEF TYPE_IDENTITY} type {$ENDIF} ISC_QUAD; PISCQuad = ^TISCQuad; PISCArrayBound = ^TISCArrayBound; ISC_ARRAY_BOUND = record array_bound_lower: Smallint; array_bound_upper: Smallint; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_ARRAY_BOUND}{$ENDIF} TISCArrayBound = ISC_ARRAY_BOUND; {$IFDEF IB7_UP} PISCArrayDescV2 = ^TISCArrayDescV2; ISC_ARRAY_DESC_V2 = record array_desc_version: Smallint; array_desc_dtype: Char; array_desc_subtype: Char; array_desc_scale: Char; array_desc_length: Word; array_desc_field_name: array [0..METADATALENGTH - 1] of Char; array_desc_relation_name: array [0..METADATALENGTH - 1] of Char; array_desc_dimensions: Smallint; array_desc_flags: Smallint; array_desc_bounds: array [0..15] of TISCArrayBound; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_ARRAY_DESC_V2}{$ENDIF} TISCArrayDescV2 = ISC_ARRAY_DESC_V2; const ARR_DESC_VERSION2 = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ARR_DESC_VERSION2}{$ENDIF} ARR_DESC_CURRENT_VERSION = ARR_DESC_VERSION2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ARR_DESC_CURRENT_VERSION}{$ENDIF} type PISCBlobDescV2 = ^TISCBlobDescV2; ISC_BLOB_DESC_V2 = record blob_desc_version: Smallint; blob_desc_subtype: Smallint; blob_desc_charset: Smallint; blob_desc_segment_size: Smallint; blob_desc_field_name: array [0..METADATALENGTH - 1] of Char; blob_desc_relation_name: array [0..METADATALENGTH - 1] of Char; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_BLOB_DESC_V2}{$ENDIF} TISCBlobDescV2 = ISC_BLOB_DESC_V2; const BLB_DESC_VERSION2 = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM BLB_DESC_VERSION2}{$ENDIF} BLB_DESC_CURRENT_VERSION = BLB_DESC_VERSION2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM BLB_DESC_CURRENT_VERSION}{$ENDIF} {$ENDIF IB7_UP} type PISCArrayDesc = ^TISCArrayDesc; ISC_ARRAY_DESC = record array_desc_dtype: Char; array_desc_scale: Char; array_desc_length: Word; array_desc_field_name: array [0..METADATALENGTH - 1] of Char; array_desc_relation_name: array [0..METADATALENGTH - 1] of Char; array_desc_dimensions: Smallint; array_desc_flags: Smallint; array_desc_bounds: array [0..15] of TISCArrayBound; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_ARRAY_DESC}{$ENDIF} TISCArrayDesc = {$IFDEF TYPE_IDENTITY} type {$ENDIF} ISC_ARRAY_DESC; PISCBlobDesc = ^TISCBlobDesc; ISC_BLOB_DESC = record blob_desc_subtype: Smallint; blob_desc_charset: Smallint; blob_desc_segment_size: Smallint; blob_desc_field_name: array [0..METADATALENGTH - 1] of Char; blob_desc_relation_name: array [0..METADATALENGTH - 1] of Char; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_BLOB_DESC}{$ENDIF} TISCBlobDesc = {$IFDEF TYPE_IDENTITY} type {$ENDIF} ISC_BLOB_DESC; (*************************** * Blob control structure * ***************************) TISCStatusFn = function: ISCStatus; PISCBlobCtl = ^TISCBlobCtl; ISC_BLOB_CTL = record ctl_source: TISCStatusFn; // Source filter ctl_source_handle: PISCBlobCtl; // Argument to pass to source filter ctl_to_sub_type: Smallint; // Target type ctl_from_sub_type: Smallint; // Source type ctl_buffer_length: Word; // Length of buffer ctl_segment_length: Word; // Length of current segment ctl_bpb_length: Word; // Length of blob parameter block ctl_bpb: PChar; // Address of blob parameter block ctl_buffer: PChar; // Address of segment buffer ctl_max_segment: ISCLong; // Length of longest segment ctl_number_segments: ISCLong; // Total number of segments ctl_total_length: ISCLong; // Total length of blob ctl_status: PISCStatus; // Address of status vector ctl_data: array [0..7] of Longint; // Application specific data end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISC_BLOB_CTL}{$ENDIF} TISCBlobCtl = ISC_BLOB_CTL; (***************************) (* Blob stream definitions *) (***************************) PBStream = ^TBStream; BSTREAM = record bstr_blob: PPointer; // Blob handle bstr_buffer: PChar; // Address of buffer bstr_ptr: PChar; // Next character bstr_length: Smallint; // Length of buffer bstr_cnt: Smallint; // Characters in buffer bstr_mode: Char; // (mode) ? OUTPUT : INPUT end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM BSTREAM}{$ENDIF} TBStream = BSTREAM; (******************************************************************** * CVC: Public blob interface definition held in val.h. * * For some unknown reason, it was only documented in langRef * * and being the structure passed by the engine to UDFs it never * * made its way into this public definitions file. * * Being its original name "blob", I renamed it blobcallback here. * * I did the full definition with the proper parameters instead of * * the weak C declaration with any number and type of parameters. * * Since the first parameter -BLB- is unknown outside the engine, * * it's more accurate to use void* than int* as the blob pointer * ********************************************************************) //#if !defined(_JRD_VAL_H_) && !defined(REQUESTER) (* Blob passing structure *) type {$IFDEF FB102ORYF867} lseek_mode = (blb_seek_INVALID_0, blb_seek_relative, blb_seek_from_tail); {$IFDEF USE_IBASE_H}{$EXTERNALSYM lseek_mode}{$ENDIF} TLSeekMode = lseek_mode; {$ENDIF FB102ORYF867} TBlobGetSegmentFn = function(hnd: Pointer; buffer: PChar; buf_size: ISCUShort; var result_len: ISCUShort): Smallint; stdcall; TBlobPutSegmentFn = procedure(hnd: PPointer; buffer: PChar; buf_size: ISCUShort); stdcall; TBlobLSeekFn = function(hnd: PPointer; mode: ISCUShort; offset: ISCLong): ISCLong; stdcall; {$IFDEF FB102ORYF867} PBlobCallBack = ^TBlobCallBack; BLOBCALLBACK = record blob_get_segment: TBlobGetSegmentFn; blob_handle: PPointer; blob_number_segments: ISCLong; blob_max_segment: ISCLong; blob_total_length: ISCLong; blob_put_segment: TBlobPutSegmentFn; blob_lseek: TBlobLSeekFn; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM BLOBCALLBACK}{$ENDIF} TBlobCallBack = BLOBCALLBACK; //#endif /* !defined(_JRD_VAL_H_) && !defined(REQUESTER) */ (******************************************************************** * CVC: Public descriptor interface held in dsc.h. * * We need it documented to be able to recognize NULL in UDFs. * * Being its original name "dsc", I renamed it paramdsc here. * * Notice that I adjust to the original definition: contrary to * * other cases, the typedef is the same struct not the pointer. * * I included the enumeration of dsc_dtype possible values. * * Ultimately, dsc.h should be part of the public interface. * ********************************************************************) //#if !defined(_JRD_DSC_H_) (* This is the famous internal descriptor that UDFs can use, too. *) PParamDsc = ^TParamDsc; PARAMDSC = record dsc_dtype: Char; dsc_scale: Shortint; dsc_length: ISCUShort; dsc_sub_type: Smallint; dsc_flags: ISCUShort; dsc_address: PChar; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM PARAMDSC}{$ENDIF} TParamDsc = PARAMDSC; //#if !defined(_JRD_VAL_H_) (* This is a helper struct to work with varchars. *) PParamVary = ^TParamVary; PARAMVARY = record vary_length: ISCUShort; vary_string: array [0..0] of Char; end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM PARAMVARY}{$ENDIF} TParamVary = PARAMVARY; //#endif /* !defined(_JRD_VAL_H_) */ (* values for dsc_flags *) (* Note: DSC_null is only reliably set for local variables (blr_variable) *) const DSC_null = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM DSC_null}{$ENDIF} DSC_no_subtype = 2; (* dsc has no sub type specified *) {$IFDEF USE_IBASE_H}{$EXTERNALSYM DSC_no_subtype}{$ENDIF} DSC_nullable = 4; (* not stored. instead, is derived from metadata primarily to flag SQLDA (in DSQL) *) {$IFDEF USE_IBASE_H}{$EXTERNALSYM DSC_nullable}{$ENDIF} (* Note that dtype_null actually means that we do not yet know the dtype for this descriptor. A nice cleanup item would be to globally change it to dtype_unknown. --chrisj 1999-02-17 *) dtype_null = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_null}{$ENDIF} dtype_text = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_text}{$ENDIF} dtype_cstring = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_cstring}{$ENDIF} dtype_varying = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_varying}{$ENDIF} dtype_packed = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_packed}{$ENDIF} dtype_byte = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_byte}{$ENDIF} dtype_short = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_short}{$ENDIF} dtype_long = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_long}{$ENDIF} dtype_quad = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_quad}{$ENDIF} dtype_real = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_real}{$ENDIF} dtype_double = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_double}{$ENDIF} dtype_d_float = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_d_float}{$ENDIF} dtype_sql_date = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_sql_date}{$ENDIF} dtype_sql_time = 15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_sql_time}{$ENDIF} dtype_timestamp = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_timestamp}{$ENDIF} dtype_blob = 17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_blob}{$ENDIF} dtype_array = 18; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_array}{$ENDIF} dtype_int64 = 19; {$IFDEF USE_IBASE_H}{$EXTERNALSYM dtype_int64}{$ENDIF} DTYPE_TYPE_MAX = 20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM DTYPE_TYPE_MAX}{$ENDIF} //#endif /* !defined(_JRD_DSC_H_) */ {$ENDIF FB102ORYF867} (*************************** * Dynamic SQL definitions * ***************************) (****************************** * Declare the extended SQLDA * ******************************) {$IFDEF IB7_UP} (*********************************************************************** * Older and obsolete XSQLVAR, ISC_BLOB_DESC, ISC_ARRAY_DESC strucutres. * NOTE:These structure will no longer be available in future releases. * This is kept only for backward compatability. * Please refrain from using these old structures. * It is strongly recomended to use the newer SQLDA version * and related XSQLVAR, ISC_BLOB_DESC, ISC_ARRAY_DESC structures. ***********************************************************************) type PXSQLVarV1 = ^TXSQLVarV1; XSQLVAR_V1 = record sqltype: Smallint; // datatype of field sqlscale: Smallint; // scale factor sqlsubtype: Smallint; // datatype subtype sqllen: Smallint; // length of data area sqldata: PChar; // address of data sqlind: PSmallInt; // address of indicator variable sqlname_length: Smallint; // length of sqlname field sqlname: array [0..METADATALENGTH - 1] of Char; // name of field, name length + space for NULL relname_length: Smallint; // length of relation name relname: array [0..METADATALENGTH - 1] of Char; // field's relation name + space for NULL ownname_length: Smallint; // length of owner name ownname: array [0..METADATALENGTH - 1] of Char; // relation's owner name + space for NULL aliasname_length: Smallint; // length of alias name aliasname: array [0..METADATALENGTH - 1] of Char; // relation's alias name + space for NULL end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM XSQLVAR_V1}{$ENDIF} TXSQLVarV1 = XSQLVAR_V1; PXSQLVar = ^TXSQLVar; XSQLVAR = record sqltype: Smallint; // datatype of field sqlscale: Smallint; // scale factor sqlprecision: Smallint; // precision : Reserved for future sqlsubtype: Smallint; // datatype subtype sqllen: Smallint; // length of data area sqldata: PChar; // address of data sqlind: PSmallint; // address of indicator variable sqlname_length: Smallint; // length of sqlname field sqlname: array [0..METADATALENGTH - 1] of Char; // name of field, name length + space for NULL relname_length: Smallint; // length of relation name relname: array [0..METADATALENGTH - 1] of Char; // field's relation name + space for NULL ownname_length: Smallint; // length of owner name ownname: array [0..METADATALENGTH - 1] of Char; // relation's owner name + space for NULL aliasname_length: Smallint; // length of alias name aliasname: array [0..METADATALENGTH - 1] of Char; // relation's alias name + space for NULL end; {$ELSE} type PXSQLVar = ^TXSQLVar; XSQLVAR = record sqltype: Smallint; // datatype of field sqlscale: Smallint; // scale factor sqlsubtype: Smallint; // datatype subtype - BLOBs & Text types only sqllen: Smallint; // length of data area sqldata: PChar; // address of data sqlind: PSmallint; // address of indicator variable sqlname_length: Smallint; // length of sqlname field sqlname: array [0..METADATALENGTH - 1] of Char; // name of field, name length + space for NULL relname_length: Smallint; // length of relation name relname: array [0..METADATALENGTH - 1] of Char; // field's relation name + space for NULL ownname_length: Smallint; // length of owner name ownname: array [0..METADATALENGTH - 1] of Char; // relation's owner name + space for NULL aliasname_length: Smallint; // length of alias name aliasname: array [0..METADATALENGTH - 1] of Char; // relation's alias name + space for NULL end; {$ENDIF IB7_UP} {$IFDEF USE_IBASE_H}{$EXTERNALSYM XSQLVAR}{$ENDIF} TXSQLVar = {$IFDEF TYPE_IDENTITY} type {$ENDIF} XSQLVAR; PXSQLDA = ^TXSQLDA; XSQLDA = record version: Smallint; // version of this XSQLDA sqldaid: array [0..7] of Char; // XSQLDA name field -> RESERVED sqldabc: ISCLong; // length in bytes of SQLDA -> RESERVED sqln: Smallint; // number of fields allocated sqld: Smallint; // actual number of fields sqlvar: array [0..0] of TXSQLVar; // first field address end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM XSQLDA}{$ENDIF} TXSQLDA = XSQLDA; function XSQLDA_LENGTH(n: Integer): Integer; {$IFDEF USE_IBASE_H}{$EXTERNALSYM XSQLDA_LENGTH}{$ENDIF} const SQLDA_VERSION1 = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQLDA_VERSION1}{$ENDIF} {$IFDEF IB7_UP} SQLDA_VERSION2 = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQLDA_VERSION2}{$ENDIF} {$ENDIF IB7_UP} {$IFDEF IB7_UP} SQLDA_CURRENT_VERSION = SQLDA_VERSION2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQLDA_CURRENT_VERSION}{$ENDIF} {$ELSE} SQLDA_CURRENT_VERSION = SQLDA_VERSION1; {.$EXTERNALSYM SQLDA_CURRENT_VERSION} {$ENDIF IB7_UP} SQL_DIALECT_V5 = 1; (* meaning is same as DIALECT_xsqlda. *) {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_DIALECT_V5}{$ENDIF} SQL_DIALECT_V6_TRANSITION = 2; (* flagging anything that is delimited by double quotes as an error and flagging keyword DATE as an error *) {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_DIALECT_V6_TRANSITION}{$ENDIF} SQL_DIALECT_V6 = 3; (* supports SQL delimited identifier, SQLDATE/DATE, TIME, TIMESTAMP, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, and 64-bit exact numeric type *) {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_DIALECT_V6}{$ENDIF} SQL_DIALECT_CURRENT = SQL_DIALECT_V6; (* latest IB DIALECT *) {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_DIALECT_CURRENT}{$ENDIF} (******************************** * InterBase Handle Definitions * ********************************) type isc_att_handle = PPointer; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_att_handle}{$ENDIF} IscAttHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_att_handle; PIscAttHandle = ^IscAttHandle; isc_blob_handle = PPointer; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_handle}{$ENDIF} IscBlobHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_blob_handle; PIscBlobHandle = ^IscBlobHandle; isc_db_handle = PPointer; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_db_handle}{$ENDIF} IscDbHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_db_handle; PIscDbHandle = ^IscDbHandle; isc_form_handle = PPointer; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_form_handle}{$ENDIF} IscFormHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_form_handle; PIscFormHandle = ^IscFormHandle; isc_req_handle = PPointer; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_req_handle}{$ENDIF} IscReqHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_req_handle; PIscReqHandle = ^IscReqHandle; isc_stmt_handle = PPointer; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_stmt_handle}{$ENDIF} IscStmtHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_stmt_handle; PIscStmtHandle = ^IscStmtHandle; isc_svc_handle = PPointer; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_svc_handle}{$ENDIF} IscSvcHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_svc_handle; PIscSvcHandle = ^IscSvcHandle; isc_tr_handle = PPointer; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tr_handle}{$ENDIF} IscTrHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_tr_handle; PIscTrHandle = ^IscTrHandle; isc_win_handle = PPointer; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_win_handle}{$ENDIF} IscWinHandle = {$IFDEF TYPE_IDENTITY} type {$ENDIF} isc_win_handle; PIscWinHandle = ^IscWinHandle; isc_callback = procedure; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_callback}{$ENDIF} IscCallback = isc_callback; isc_resv_handle = ISC_LONG; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_resv_handle}{$ENDIF} IscResvHandle = isc_resv_handle; PIscResvHandle = ^IscResvHandle; (*************************** * OSRI database functions * ***************************) type // Parameter for transaction on multiple Database, see PISCTEB = ^TISCTEB; TISCTEB = packed record Handle: PIscDbHandle; Len: Integer; Address: PChar; end; (************************************* * Security Functions and structures * *************************************) const sec_uid_spec = $01; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_uid_spec}{$ENDIF} sec_gid_spec = $02; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_gid_spec}{$ENDIF} sec_server_spec = $04; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_server_spec}{$ENDIF} sec_password_spec = $08; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_password_spec}{$ENDIF} sec_group_name_spec = $10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_group_name_spec}{$ENDIF} sec_first_name_spec = $20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_first_name_spec}{$ENDIF} sec_middle_name_spec = $40; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_middle_name_spec}{$ENDIF} sec_last_name_spec = $80; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_last_name_spec}{$ENDIF} sec_dba_user_name_spec = $100; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_dba_user_name_spec}{$ENDIF} sec_dba_password_spec = $200; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_dba_password_spec}{$ENDIF} sec_protocol_tcpip = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_protocol_tcpip}{$ENDIF} sec_protocol_netbeui = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_protocol_netbeui}{$ENDIF} {$IFNDEF FIREBIRD} {$IFNDEF FB15_UP} sec_protocol_spx = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_protocol_spx}{$ENDIF} {$ENDIF !FB15_UP} {$ENDIF !FIREBIRD} sec_protocol_local = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM sec_protocol_local}{$ENDIF} type PUserSecData = ^TUserSecData; USER_SEC_DATA = record sec_flags: Smallint; // which fields are specified uid: Integer; // the user's id gid: Integer; // the user's group id protocol: Integer; // protocol to use for connection server: PChar; // server to administer user_name: PChar; // the user's name password: PChar; // the user's password group_name: PChar; // the group name first_name: PChar; // the user's first name middle_name: PChar; // the user's middle name last_name: PChar; // the user's last name dba_user_name: PChar; // the dba user name dba_password: PChar; // the dba password end; {$IFDEF USE_IBASE_H}{$EXTERNALSYM USER_SEC_DATA}{$ENDIF} TUserSecData = USER_SEC_DATA; (***************************************** * Service manager functions * *****************************************) procedure ADD_SPB_LENGTH(var p: PChar; length: Integer); {$IFDEF USE_IBASE_H}{$EXTERNALSYM ADD_SPB_LENGTH}{$ENDIF} procedure ADD_SPB_NUMERIC(var p: PChar; data: Integer); {$IFDEF USE_IBASE_H}{$EXTERNALSYM ADD_SPB_NUMERIC}{$ENDIF} (*************************************************** * Actions to pass to the blob filter (ctl_source) * ***************************************************) const isc_blob_filter_open = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_open}{$ENDIF} isc_blob_filter_get_segment = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_get_segment}{$ENDIF} isc_blob_filter_close = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_close}{$ENDIF} isc_blob_filter_create = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_create}{$ENDIF} isc_blob_filter_put_segment = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_put_segment}{$ENDIF} isc_blob_filter_alloc = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_alloc}{$ENDIF} isc_blob_filter_free = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_free}{$ENDIF} isc_blob_filter_seek = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_filter_seek}{$ENDIF} (******************* * Blr definitions * *******************) blr_text = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_text}{$ENDIF} blr_text2 = 15; // added in 3.2 JPN {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_text2}{$ENDIF} blr_short = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_short}{$ENDIF} blr_long = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_long}{$ENDIF} blr_quad = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_quad}{$ENDIF} blr_float = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_float}{$ENDIF} blr_double = 27; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_double}{$ENDIF} blr_d_float = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_d_float}{$ENDIF} blr_timestamp = 35; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_timestamp}{$ENDIF} blr_varying = 37; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_varying}{$ENDIF} blr_varying2 = 38; // added in 3.2 JPN {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_varying2}{$ENDIF} blr_blob = 261; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_blob}{$ENDIF} blr_cstring = 40; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_cstring}{$ENDIF} blr_cstring2 = 41; // added in 3.2 JPN {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_cstring2}{$ENDIF} blr_blob_id = 45; // added from gds.h {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_blob_id}{$ENDIF} blr_sql_date = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_sql_date}{$ENDIF} blr_sql_time = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_sql_time}{$ENDIF} blr_int64 = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_int64}{$ENDIF} {$IFDEF IB7_UP} blr_boolean_dtype = 17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_boolean_dtype}{$ENDIF} {$ENDIF IB7_UP} (* Historical alias for pre V6 applications *) blr_date = blr_timestamp; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_date}{$ENDIF} blr_inner = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_inner}{$ENDIF} blr_left = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_left}{$ENDIF} blr_right = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_right}{$ENDIF} blr_full = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_full}{$ENDIF} blr_gds_code = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_gds_code}{$ENDIF} blr_sql_code = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_sql_code}{$ENDIF} blr_exception = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_exception}{$ENDIF} blr_trigger_code = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_trigger_code}{$ENDIF} blr_default_code = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_default_code}{$ENDIF} blr_raise = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_raise}{$ENDIF} blr_exception_msg = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_exception_msg}{$ENDIF} blr_version4 = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_version4}{$ENDIF} blr_version5 = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_version5}{$ENDIF} blr_eoc = 76; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_eoc}{$ENDIF} blr_end = 255; // note: defined as -1 in gds.h {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_end}{$ENDIF} blr_assignment = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_assignment}{$ENDIF} blr_begin = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_begin}{$ENDIF} blr_dcl_variable = 3; // added from gds.h {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_dcl_variable}{$ENDIF} blr_message = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_message}{$ENDIF} blr_erase = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_erase}{$ENDIF} blr_fetch = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_fetch}{$ENDIF} blr_for = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_for}{$ENDIF} blr_if = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_if}{$ENDIF} blr_loop = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_loop}{$ENDIF} blr_modify = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_modify}{$ENDIF} blr_handler = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_handler}{$ENDIF} blr_receive = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_receive}{$ENDIF} blr_select = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_select}{$ENDIF} blr_send = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_send}{$ENDIF} blr_store = 15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_store}{$ENDIF} blr_label = 17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_label}{$ENDIF} blr_leave = 18; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_leave}{$ENDIF} blr_store2 = 19; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_store2}{$ENDIF} blr_post = 20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_post}{$ENDIF} blr_literal = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_literal}{$ENDIF} blr_dbkey = 22; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_dbkey}{$ENDIF} blr_field = 23; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_field}{$ENDIF} blr_fid = 24; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_fid}{$ENDIF} blr_parameter = 25; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_parameter}{$ENDIF} blr_variable = 26; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_variable}{$ENDIF} blr_average = 27; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_average}{$ENDIF} blr_count = 28; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_count}{$ENDIF} blr_maximum = 29; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_maximum}{$ENDIF} blr_minimum = 30; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_minimum}{$ENDIF} blr_total = 31; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_total}{$ENDIF} (* count 2 define blr_count2 32 *) blr_add = 34; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_add}{$ENDIF} blr_subtract = 35; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_subtract}{$ENDIF} blr_multiply = 36; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_multiply}{$ENDIF} blr_divide = 37; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_divide}{$ENDIF} blr_negate = 38; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_negate}{$ENDIF} blr_concatenate = 39; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_concatenate}{$ENDIF} blr_substring = 40; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_substring}{$ENDIF} blr_parameter2 = 41; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_parameter2}{$ENDIF} blr_from = 42; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_from}{$ENDIF} blr_via = 43; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_via}{$ENDIF} blr_parameter2_old = 44; // Confusion {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_parameter2_old}{$ENDIF} blr_user_name = 44; // added from gds.h {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_user_name}{$ENDIF} blr_null = 45; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_null}{$ENDIF} blr_eql = 47; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_eql}{$ENDIF} blr_neq = 48; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_neq}{$ENDIF} blr_gtr = 49; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_gtr}{$ENDIF} blr_geq = 50; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_geq}{$ENDIF} blr_lss = 51; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_lss}{$ENDIF} blr_leq = 52; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_leq}{$ENDIF} blr_containing = 53; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_containing}{$ENDIF} blr_matching = 54; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_matching}{$ENDIF} blr_starting = 55; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_starting}{$ENDIF} blr_between = 56; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_between}{$ENDIF} blr_or = 57; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_or}{$ENDIF} blr_and = 58; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_and}{$ENDIF} blr_not = 59; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_not}{$ENDIF} blr_any = 60; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_any}{$ENDIF} blr_missing = 61; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_missing}{$ENDIF} blr_unique = 62; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_unique}{$ENDIF} blr_like = 63; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_like}{$ENDIF} blr_stream = 65; // added from gds.h {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_stream}{$ENDIF} blr_set_index = 66; // added from gds.h {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_set_index}{$ENDIF} blr_rse = 67; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_rse}{$ENDIF} blr_first = 68; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_first}{$ENDIF} blr_project = 69; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_project}{$ENDIF} blr_sort = 70; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_sort}{$ENDIF} blr_boolean = 71; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_boolean}{$ENDIF} blr_ascending = 72; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_ascending}{$ENDIF} blr_descending = 73; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_descending}{$ENDIF} blr_relation = 74; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_relation}{$ENDIF} blr_rid = 75; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_rid}{$ENDIF} blr_union = 76; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_union}{$ENDIF} blr_map = 77; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_map}{$ENDIF} blr_group_by = 78; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_group_by}{$ENDIF} blr_aggregate = 79; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_aggregate}{$ENDIF} blr_join_type = 80; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_join_type}{$ENDIF} {$IFDEF IB65ORYF867} blr_rows = 81; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_rows}{$ENDIF} (* sub parameters for blr_rows *) blr_ties = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_ties}{$ENDIF} blr_percent = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_percent}{$ENDIF} {$ENDIF IB65ORYF867} blr_agg_count = 83; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_agg_count}{$ENDIF} blr_agg_max = 84; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_agg_max}{$ENDIF} blr_agg_min = 85; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_agg_min}{$ENDIF} blr_agg_total = 86; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_agg_total}{$ENDIF} blr_agg_average = 87; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_agg_average}{$ENDIF} blr_parameter3 = 88; // same as Rdb definition {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_parameter3}{$ENDIF} blr_run_max = 89; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_run_max}{$ENDIF} blr_run_min = 90; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_run_min}{$ENDIF} blr_run_total = 91; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_run_total}{$ENDIF} blr_run_average = 92; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_run_average}{$ENDIF} blr_agg_count2 = 93; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_agg_count2}{$ENDIF} blr_agg_count_distinct = 94; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_agg_count_distinct}{$ENDIF} blr_agg_total_distinct = 95; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_agg_total_distinct}{$ENDIF} blr_agg_average_distinct = 96; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_agg_average_distinct}{$ENDIF} blr_function = 100; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_function}{$ENDIF} blr_gen_id = 101; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_gen_id}{$ENDIF} blr_prot_mask = 102; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_prot_mask}{$ENDIF} blr_upcase = 103; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_upcase}{$ENDIF} blr_lock_state = 104; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_lock_state}{$ENDIF} blr_value_if = 105; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_value_if}{$ENDIF} blr_matching2 = 106; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_matching2}{$ENDIF} blr_index = 107; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_index}{$ENDIF} blr_ansi_like = 108; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_ansi_like}{$ENDIF} blr_bookmark = 109; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_bookmark}{$ENDIF} blr_crack = 110; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_crack}{$ENDIF} blr_force_crack = 111; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_force_crack}{$ENDIF} blr_seek = 112; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_seek}{$ENDIF} blr_find = 113; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_find}{$ENDIF} (* these indicate directions for blr_seek and blr_find *) blr_continue = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_continue}{$ENDIF} blr_forward = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_forward}{$ENDIF} blr_backward = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_backward}{$ENDIF} blr_bof_forward = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_bof_forward}{$ENDIF} blr_eof_backward = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_eof_backward}{$ENDIF} blr_lock_relation = 114; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_lock_relation}{$ENDIF} blr_lock_record = 115; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_lock_record}{$ENDIF} blr_set_bookmark = 116; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_set_bookmark}{$ENDIF} blr_get_bookmark = 117; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_get_bookmark}{$ENDIF} blr_run_count = 118; // changed from 88 to avoid conflict with blr_parameter3 {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_run_count}{$ENDIF} blr_rs_stream = 119; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_rs_stream}{$ENDIF} blr_exec_proc = 120; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_exec_proc}{$ENDIF} blr_begin_range = 121; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_begin_range}{$ENDIF} blr_end_range = 122; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_end_range}{$ENDIF} blr_delete_range = 123; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_delete_range}{$ENDIF} blr_procedure = 124; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_procedure}{$ENDIF} blr_pid = 125; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_pid}{$ENDIF} blr_exec_pid = 126; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_exec_pid}{$ENDIF} blr_singular = 127; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_singular}{$ENDIF} blr_abort = 128; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_abort}{$ENDIF} blr_block = 129; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_block}{$ENDIF} blr_error_handler = 130; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_error_handler}{$ENDIF} blr_cast = 131; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_cast}{$ENDIF} blr_release_lock = 132; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_release_lock}{$ENDIF} blr_release_locks = 133; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_release_locks}{$ENDIF} blr_start_savepoint = 134; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_start_savepoint}{$ENDIF} blr_end_savepoint = 135; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_end_savepoint}{$ENDIF} blr_find_dbkey = 136; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_find_dbkey}{$ENDIF} blr_range_relation = 137; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_range_relation}{$ENDIF} blr_delete_ranges = 138; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_delete_ranges}{$ENDIF} blr_plan = 139; // access plan items {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_plan}{$ENDIF} blr_merge = 140; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_merge}{$ENDIF} blr_join = 141; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_join}{$ENDIF} blr_sequential = 142; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_sequential}{$ENDIF} blr_navigational = 143; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_navigational}{$ENDIF} blr_indices = 144; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_indices}{$ENDIF} blr_retrieve = 145; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_retrieve}{$ENDIF} blr_relation2 = 146; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_relation2}{$ENDIF} blr_rid2 = 147; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_rid2}{$ENDIF} blr_reset_stream = 148; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_reset_stream}{$ENDIF} blr_release_bookmark = 149; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_release_bookmark}{$ENDIF} blr_set_generator = 150; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_set_generator}{$ENDIF} blr_ansi_any = 151; // required for NULL handling {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_ansi_any}{$ENDIF} blr_exists = 152; // required for NULL handling {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_exists}{$ENDIF} blr_cardinality = 153; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_cardinality}{$ENDIF} blr_record_version = 154; // get tid of record {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_record_version}{$ENDIF} blr_stall = 155; // fake server stall {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_stall}{$ENDIF} blr_seek_no_warn = 156; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_seek_no_warn}{$ENDIF} blr_find_dbkey_version = 157; // find dbkey with record version {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_find_dbkey_version}{$ENDIF} blr_ansi_all = 158; // required for NULL handling {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_ansi_all}{$ENDIF} blr_extract = 159; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_extract}{$ENDIF} (* sub parameters for blr_extract *) blr_extract_year = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_extract_year}{$ENDIF} blr_extract_month = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_extract_month}{$ENDIF} blr_extract_day = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_extract_day}{$ENDIF} blr_extract_hour = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_extract_hour}{$ENDIF} blr_extract_minute = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_extract_minute}{$ENDIF} blr_extract_second = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_extract_second}{$ENDIF} blr_extract_weekday = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_extract_weekday}{$ENDIF} blr_extract_yearday = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_extract_yearday}{$ENDIF} blr_current_date = 160; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_current_date}{$ENDIF} blr_current_timestamp = 161; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_current_timestamp}{$ENDIF} blr_current_time = 162; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_current_time}{$ENDIF} {$IFDEF FB102ORYF867} (* FB1 specific BLR *) blr_current_role = 174; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_current_role}{$ENDIF} blr_skip = 175; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_skip}{$ENDIF} {$ENDIF FB102ORYF867} {$IFDEF IB7_UP} (* These verbs were added in 7.0 for BOOLEAN dtype support *) blr_boolean_true = 174; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_boolean_true}{$ENDIF} blr_boolean_false = 175; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_boolean_false}{$ENDIF} {$ENDIF IB7_UP} {$IFDEF IB71_UP} (* These verbs were added in 7.1 for SQL savepoint support *) blr_start_savepoint2 = 176; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_start_savepoint2}{$ENDIF} blr_release_savepoint = 177; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_release_savepoint}{$ENDIF} blr_rollback_savepoint = 178; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_rollback_savepoint}{$ENDIF} {$ENDIF IB71_UP} {$IFDEF FB15_UP} (* FB 1.5 specific BLR *) blr_exec_sql = 176; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_exec_sql}{$ENDIF} blr_internal_info = 177; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_internal_info}{$ENDIF} blr_nullsfirst = 178; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_nullsfirst}{$ENDIF} blr_writelock = 179; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_writelock}{$ENDIF} blr_nullslast = 180; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_nullslast}{$ENDIF} (* This codes reuse BLR code space *) blr_post_arg = 163; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_post_arg}{$ENDIF} (* These codes are actions for user-defined savepoints *) blr_savepoint_set = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_savepoint_set}{$ENDIF} blr_savepoint_release = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_savepoint_release}{$ENDIF} blr_savepoint_undo = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_savepoint_undo}{$ENDIF} blr_savepoint_release_single = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM blr_savepoint_release_single}{$ENDIF} {$ENDIF FB15_UP} (********************************** * Database parameter block stuff * **********************************) isc_dpb_version1 = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_version1}{$ENDIF} isc_dpb_cdd_pathname = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_cdd_pathname}{$ENDIF} isc_dpb_allocation = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_allocation}{$ENDIF} isc_dpb_journal = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_journal}{$ENDIF} isc_dpb_page_size = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_page_size}{$ENDIF} isc_dpb_num_buffers = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_num_buffers}{$ENDIF} isc_dpb_buffer_length = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_buffer_length}{$ENDIF} isc_dpb_debug = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_debug}{$ENDIF} isc_dpb_garbage_collect = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_garbage_collect}{$ENDIF} isc_dpb_verify = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_verify}{$ENDIF} isc_dpb_sweep = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sweep}{$ENDIF} isc_dpb_enable_journal = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_enable_journal}{$ENDIF} isc_dpb_disable_journal = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_disable_journal}{$ENDIF} isc_dpb_dbkey_scope = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_dbkey_scope}{$ENDIF} isc_dpb_number_of_users = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_number_of_users}{$ENDIF} isc_dpb_trace = 15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_trace}{$ENDIF} isc_dpb_no_garbage_collect = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_no_garbage_collect}{$ENDIF} isc_dpb_damaged = 17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_damaged}{$ENDIF} isc_dpb_license = 18; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_license}{$ENDIF} isc_dpb_sys_user_name = 19; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sys_user_name}{$ENDIF} isc_dpb_encrypt_key = 20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_encrypt_key}{$ENDIF} isc_dpb_activate_shadow = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_activate_shadow}{$ENDIF} isc_dpb_sweep_interval = 22; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sweep_interval}{$ENDIF} isc_dpb_delete_shadow = 23; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_delete_shadow}{$ENDIF} isc_dpb_force_write = 24; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_force_write}{$ENDIF} isc_dpb_begin_log = 25; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_begin_log}{$ENDIF} isc_dpb_quit_log = 26; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_quit_log}{$ENDIF} isc_dpb_no_reserve = 27; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_no_reserve}{$ENDIF} isc_dpb_user_name = 28; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_user_name}{$ENDIF} isc_dpb_password = 29; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_password}{$ENDIF} isc_dpb_password_enc = 30; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_password_enc}{$ENDIF} isc_dpb_sys_user_name_enc = 31; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sys_user_name_enc}{$ENDIF} isc_dpb_interp = 32; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_interp}{$ENDIF} isc_dpb_online_dump = 33; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_online_dump}{$ENDIF} isc_dpb_old_file_size = 34; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_old_file_size}{$ENDIF} isc_dpb_old_num_files = 35; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_old_num_files}{$ENDIF} isc_dpb_old_file = 36; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_old_file}{$ENDIF} isc_dpb_old_start_page = 37; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_old_start_page}{$ENDIF} isc_dpb_old_start_seqno = 38; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_old_start_seqno}{$ENDIF} isc_dpb_old_start_file = 39; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_old_start_file}{$ENDIF} isc_dpb_drop_walfile = 40; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_drop_walfile}{$ENDIF} isc_dpb_old_dump_id = 41; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_old_dump_id}{$ENDIF} isc_dpb_wal_backup_dir = 42; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_wal_backup_dir}{$ENDIF} isc_dpb_wal_chkptlen = 43; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_wal_chkptlen}{$ENDIF} isc_dpb_wal_numbufs = 44; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_wal_numbufs}{$ENDIF} isc_dpb_wal_bufsize = 45; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_wal_bufsize}{$ENDIF} isc_dpb_wal_grp_cmt_wait = 46; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_wal_grp_cmt_wait}{$ENDIF} isc_dpb_lc_messages = 47; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_lc_messages}{$ENDIF} isc_dpb_lc_ctype = 48; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_lc_ctype}{$ENDIF} isc_dpb_cache_manager = 49; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_cache_manager}{$ENDIF} isc_dpb_shutdown = 50; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_shutdown}{$ENDIF} isc_dpb_online = 51; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_online}{$ENDIF} isc_dpb_shutdown_delay = 52; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_shutdown_delay}{$ENDIF} isc_dpb_reserved = 53; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_reserved}{$ENDIF} isc_dpb_overwrite = 54; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_overwrite}{$ENDIF} isc_dpb_sec_attach = 55; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_attach}{$ENDIF} isc_dpb_disable_wal = 56; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_disable_wal}{$ENDIF} isc_dpb_connect_timeout = 57; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_connect_timeout}{$ENDIF} isc_dpb_dummy_packet_interval = 58; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_dummy_packet_interval}{$ENDIF} isc_dpb_gbak_attach = 59; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_gbak_attach}{$ENDIF} isc_dpb_sql_role_name = 60; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sql_role_name}{$ENDIF} isc_dpb_set_page_buffers = 61; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_set_page_buffers}{$ENDIF} isc_dpb_working_directory = 62; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_working_directory}{$ENDIF} isc_dpb_sql_dialect = 63; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sql_dialect}{$ENDIF} isc_dpb_set_db_readonly = 64; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_set_db_readonly}{$ENDIF} isc_dpb_set_db_sql_dialect = 65; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_set_db_sql_dialect}{$ENDIF} isc_dpb_gfix_attach = 66; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_gfix_attach}{$ENDIF} isc_dpb_gstat_attach = 67; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_gstat_attach}{$ENDIF} {$IFDEF FB103_UP} isc_dpb_set_db_charset = 68; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_set_db_charset}{$ENDIF} {$ENDIF FB103_UP} {$IFDEF IB65ORYF867} isc_dpb_gbak_ods_version = 68; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_gbak_ods_version}{$ENDIF} isc_dpb_gbak_ods_minor_version = 69; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_gbak_ods_minor_version}{$ENDIF} {$ENDIF IB65ORYF867} {$IFDEF YF867_UP} isc_dpb_numeric_scale_reduction = 70; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_numeric_scale_reduction}{$ENDIF} isc_dpb_sec_flags = 91; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_flags}{$ENDIF} isc_dpb_sec_type = 92; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_type}{$ENDIF} isc_dpb_sec_principal = 93; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_principal}{$ENDIF} isc_dpb_sec_srv_name = 94; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_srv_name}{$ENDIF} {$ENDIF YF867_UP} {$IFDEF IB7_UP} isc_dpb_set_group_commit = 70; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_set_group_commit}{$ENDIF} {$ENDIF IB7_UP} {$IFDEF IB71_UP} isc_dpb_gbak_validate = 71; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_gbak_validate}{$ENDIF} {$ENDIF IB71_UP} {$IFDEF IB65} isc_dpb_Max_Value = 69; {$ELSE} {$IFDEF IB7} isc_dpb_Max_Value = 70; {$ELSE} {$IFDEF IB71} isc_dpb_Max_Value = 71; {$ELSE} {$IFDEF FB15} isc_dpb_Max_Value = 68; {$ELSE} {$IFDEF FB103} isc_dpb_Max_Value = 68; {$ELSE} {$IFDEF YF867} isc_dpb_Max_Value = 70; {$ELSE} isc_dpb_Max_Value = 67; {$ENDIF YF867} {$ENDIF FB103} {$ENDIF FB15} {$ENDIF IB71} {$ENDIF IB7} {$ENDIF IB65} (********************************* * isc_dpb_verify specific flags * *********************************) isc_dpb_pages = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_pages}{$ENDIF} isc_dpb_records = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_records}{$ENDIF} isc_dpb_indices = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_indices}{$ENDIF} isc_dpb_transactions = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_transactions}{$ENDIF} isc_dpb_no_update = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_no_update}{$ENDIF} isc_dpb_repair = 32; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_repair}{$ENDIF} isc_dpb_ignore = 64; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_ignore}{$ENDIF} (*********************************** * isc_dpb_shutdown specific flags * ***********************************) isc_dpb_shut_cache = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_shut_cache}{$ENDIF} isc_dpb_shut_attachment = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_shut_attachment}{$ENDIF} isc_dpb_shut_transaction = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_shut_transaction}{$ENDIF} isc_dpb_shut_force = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_shut_force}{$ENDIF} {$IFDEF YF867_UP} (************************************ * isc_dpb_sec_flags specific flags * ************************************) isc_dpb_sec_delegation = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_delegation}{$ENDIF} isc_dpb_sec_mutual_auth = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_mutual_auth}{$ENDIF} isc_dpb_sec_replay = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_replay}{$ENDIF} isc_dpb_sec_sequence = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_sequence}{$ENDIF} isc_dpb_sec_confidentiality = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_confidentiality}{$ENDIF} isc_dpb_sec_integrity = 32; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_integrity}{$ENDIF} isc_dpb_sec_anonymous = 64; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_anonymous}{$ENDIF} isc_dpb_sec_transport = $08000000; // use transport security if supported by underlying protocol {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dpb_sec_transport}{$ENDIF} {$ENDIF YF867_UP} (************************************** * Bit assignments in RDB$SYSTEM_FLAG * **************************************) RDB_system = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM RDB_system}{$ENDIF} RDB_id_assigned = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM RDB_id_assigned}{$ENDIF} (************************************* * Transaction parameter block stuff * *************************************) isc_tpb_version1 = #1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_version1}{$ENDIF} isc_tpb_version3 = #3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_version3}{$ENDIF} isc_tpb_consistency = #1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_consistency}{$ENDIF} isc_tpb_concurrency = #2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_concurrency}{$ENDIF} isc_tpb_shared = #3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_shared}{$ENDIF} isc_tpb_protected = #4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_protected}{$ENDIF} isc_tpb_exclusive = #5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_exclusive}{$ENDIF} isc_tpb_wait = #6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_wait}{$ENDIF} isc_tpb_nowait = #7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_nowait}{$ENDIF} isc_tpb_read = #8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_read}{$ENDIF} isc_tpb_write = #9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_write}{$ENDIF} isc_tpb_lock_read = #10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_lock_read}{$ENDIF} isc_tpb_lock_write = #11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_lock_write}{$ENDIF} isc_tpb_verb_time = #12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_verb_time}{$ENDIF} isc_tpb_commit_time = #13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_commit_time}{$ENDIF} isc_tpb_ignore_limbo = #14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_ignore_limbo}{$ENDIF} isc_tpb_read_committed = #15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_read_committed}{$ENDIF} isc_tpb_autocommit = #16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_autocommit}{$ENDIF} isc_tpb_rec_version = #17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_rec_version}{$ENDIF} isc_tpb_no_rec_version = #18; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_no_rec_version}{$ENDIF} isc_tpb_restart_requests = #19; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_restart_requests}{$ENDIF} isc_tpb_no_auto_undo = #20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_tpb_no_auto_undo}{$ENDIF} (************************ * Blob Parameter Block * ************************) isc_bpb_version1 = #1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_bpb_version1}{$ENDIF} isc_bpb_source_type = #1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_bpb_source_type}{$ENDIF} isc_bpb_target_type = #2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_bpb_target_type}{$ENDIF} isc_bpb_type = #3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_bpb_type}{$ENDIF} isc_bpb_source_interp = #4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_bpb_source_interp}{$ENDIF} isc_bpb_target_interp = #5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_bpb_target_interp}{$ENDIF} isc_bpb_filter_parameter = #6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_bpb_filter_parameter}{$ENDIF} isc_bpb_type_segmented = #0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_bpb_type_segmented}{$ENDIF} isc_bpb_type_stream = #1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_bpb_type_stream}{$ENDIF} (********************************* * Service parameter block stuff * *********************************) isc_spb_version1 = #1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_version1}{$ENDIF} isc_spb_current_version = #2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_current_version}{$ENDIF} isc_spb_version = isc_spb_current_version; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_version}{$ENDIF} isc_spb_user_name = Char(isc_dpb_user_name); {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_user_name}{$ENDIF} isc_spb_sys_user_name = Char(isc_dpb_sys_user_name); {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sys_user_name}{$ENDIF} isc_spb_sys_user_name_enc = Char(isc_dpb_sys_user_name_enc); {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sys_user_name_enc}{$ENDIF} isc_spb_password = Char(isc_dpb_password); {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_password}{$ENDIF} isc_spb_password_enc = Char(isc_dpb_password_enc); {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_password_enc}{$ENDIF} isc_spb_command_line = #105; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_command_line}{$ENDIF} isc_spb_dbname = #106; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_dbname}{$ENDIF} isc_spb_verbose = #107; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_verbose}{$ENDIF} isc_spb_options = #108; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_options}{$ENDIF} isc_spb_connect_timeout = Char(isc_dpb_connect_timeout); {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_connect_timeout}{$ENDIF} isc_spb_dummy_packet_interval = Char(isc_dpb_dummy_packet_interval); {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_dummy_packet_interval}{$ENDIF} isc_spb_sql_role_name = Char(isc_dpb_sql_role_name); {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sql_role_name}{$ENDIF} (********************************* * Information call declarations * *********************************) (**************************** * Common, structural codes * ****************************) isc_info_end = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_end}{$ENDIF} isc_info_truncated = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_truncated}{$ENDIF} isc_info_error = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_error}{$ENDIF} isc_info_data_not_ready = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_data_not_ready}{$ENDIF} isc_info_flag_end = 127; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_flag_end}{$ENDIF} (****************************** * Database information items * ******************************) isc_info_db_id = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_id}{$ENDIF} isc_info_reads = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_reads}{$ENDIF} isc_info_writes = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_writes}{$ENDIF} isc_info_fetches = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_fetches}{$ENDIF} isc_info_marks = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_marks}{$ENDIF} isc_info_implementation = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_implementation}{$ENDIF} isc_info_isc_version = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_isc_version}{$ENDIF} isc_info_base_level = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_base_level}{$ENDIF} {$IFDEF IB71_UP} isc_info_svr_maj_ver = isc_info_base_level; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svr_maj_ver}{$ENDIF} {$ENDIF IB71_UP} isc_info_page_size = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_page_size}{$ENDIF} isc_info_num_buffers = 15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_num_buffers}{$ENDIF} isc_info_limbo = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_limbo}{$ENDIF} isc_info_current_memory = 17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_current_memory}{$ENDIF} isc_info_max_memory = 18; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_max_memory}{$ENDIF} isc_info_window_turns = 19; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_window_turns}{$ENDIF} isc_info_license = 20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_license}{$ENDIF} isc_info_allocation = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_allocation}{$ENDIF} isc_info_attachment_id = 22; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_attachment_id}{$ENDIF} isc_info_read_seq_count = 23; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_read_seq_count}{$ENDIF} isc_info_read_idx_count = 24; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_read_idx_count}{$ENDIF} isc_info_insert_count = 25; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_insert_count}{$ENDIF} isc_info_update_count = 26; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_update_count}{$ENDIF} isc_info_delete_count = 27; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_delete_count}{$ENDIF} isc_info_backout_count = 28; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_backout_count}{$ENDIF} isc_info_purge_count = 29; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_purge_count}{$ENDIF} isc_info_expunge_count = 30; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_expunge_count}{$ENDIF} isc_info_sweep_interval = 31; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sweep_interval}{$ENDIF} isc_info_ods_version = 32; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_ods_version}{$ENDIF} isc_info_ods_minor_version = 33; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_ods_minor_version}{$ENDIF} isc_info_no_reserve = 34; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_no_reserve}{$ENDIF} isc_info_logfile = 35; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_logfile}{$ENDIF} isc_info_cur_logfile_name = 36; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_cur_logfile_name}{$ENDIF} isc_info_cur_log_part_offset = 37; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_cur_log_part_offset}{$ENDIF} isc_info_num_wal_buffers = 38; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_num_wal_buffers}{$ENDIF} isc_info_wal_buffer_size = 39; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_buffer_size}{$ENDIF} isc_info_wal_ckpt_length = 40; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_ckpt_length}{$ENDIF} isc_info_wal_cur_ckpt_interval = 41; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_cur_ckpt_interval}{$ENDIF} isc_info_wal_prv_ckpt_fname = 42; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_prv_ckpt_fname}{$ENDIF} isc_info_wal_prv_ckpt_poffset = 43; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_prv_ckpt_poffset}{$ENDIF} isc_info_wal_recv_ckpt_fname = 44; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_recv_ckpt_fname}{$ENDIF} isc_info_wal_recv_ckpt_poffset = 45; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_recv_ckpt_poffset}{$ENDIF} isc_info_wal_grpc_wait_usecs = 47; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_grpc_wait_usecs}{$ENDIF} isc_info_wal_num_io = 48; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_num_io}{$ENDIF} isc_info_wal_avg_io_size = 49; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_avg_io_size}{$ENDIF} isc_info_wal_num_commits = 50; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_num_commits}{$ENDIF} isc_info_wal_avg_grpc_size = 51; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_wal_avg_grpc_size}{$ENDIF} isc_info_forced_writes = 52; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_forced_writes}{$ENDIF} isc_info_user_names = 53; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_user_names}{$ENDIF} isc_info_page_errors = 54; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_page_errors}{$ENDIF} isc_info_record_errors = 55; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_record_errors}{$ENDIF} isc_info_bpage_errors = 56; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_bpage_errors}{$ENDIF} isc_info_dpage_errors = 57; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_dpage_errors}{$ENDIF} isc_info_ipage_errors = 58; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_ipage_errors}{$ENDIF} isc_info_ppage_errors = 59; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_ppage_errors}{$ENDIF} isc_info_tpage_errors = 60; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_tpage_errors}{$ENDIF} isc_info_set_page_buffers = 61; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_set_page_buffers}{$ENDIF} isc_info_db_sql_dialect = 62; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_sql_dialect}{$ENDIF} isc_info_db_read_only = 63; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_read_only}{$ENDIF} isc_info_db_size_in_pages = 64; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_size_in_pages}{$ENDIF} {$IFDEF IB7_UP} isc_info_db_reads = 65; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_reads}{$ENDIF} isc_info_db_writes = 66; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_writes}{$ENDIF} isc_info_db_fetches = 67; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_fetches}{$ENDIF} isc_info_db_marks = 68; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_marks}{$ENDIF} isc_info_db_group_commit = 69; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_group_commit}{$ENDIF} {$ENDIF IB7_UP} {$IFDEF IB71_UP} isc_info_att_charset = 70; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_att_charset}{$ENDIF} isc_info_svr_min_ver = 71; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_att_charset}{$ENDIF} {$ENDIF IB71_UP} {$IFDEF FB102ORYF867} frb_info_att_charset = 101; {$IFDEF USE_IBASE_H}{$EXTERNALSYM frb_info_att_charset}{$ENDIF} isc_info_db_class = 102; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_class}{$ENDIF} isc_info_firebird_version = 103; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_firebird_version}{$ENDIF} isc_info_oldest_transaction = 104; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_oldest_transaction}{$ENDIF} isc_info_oldest_active = 105; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_oldest_active}{$ENDIF} isc_info_oldest_snapshot = 106; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_oldest_snapshot}{$ENDIF} isc_info_next_transaction = 107; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_next_transaction}{$ENDIF} isc_info_db_provider = 108; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_provider}{$ENDIF} isc_info_active_transactions = 109; {$ENDIF FB102ORYF867} isc_info_version = isc_info_isc_version; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_version}{$ENDIF} (************************************** * Database information return values * **************************************) isc_info_db_impl_rdb_vms = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_rdb_vms}{$ENDIF} isc_info_db_impl_rdb_eln = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_rdb_eln}{$ENDIF} isc_info_db_impl_rdb_eln_dev = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_rdb_eln_dev}{$ENDIF} isc_info_db_impl_rdb_vms_y = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_rdb_vms_y}{$ENDIF} isc_info_db_impl_rdb_eln_y = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_rdb_eln_y}{$ENDIF} isc_info_db_impl_jri = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_jri}{$ENDIF} isc_info_db_impl_jsv = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_jsv}{$ENDIF} isc_info_db_impl_isc_apl_68K = 25; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_apl_68K}{$ENDIF} isc_info_db_impl_isc_vax_ultr = 26; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_vax_ultr}{$ENDIF} isc_info_db_impl_isc_vms = 27; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_vms}{$ENDIF} isc_info_db_impl_isc_sun_68k = 28; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_sun_68k}{$ENDIF} isc_info_db_impl_isc_os2 = 29; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_os2}{$ENDIF} isc_info_db_impl_isc_sun4 = 30; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_sun4}{$ENDIF} isc_info_db_impl_isc_hp_ux = 31; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_hp_ux}{$ENDIF} isc_info_db_impl_isc_sun_386i = 32; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_sun_386i}{$ENDIF} isc_info_db_impl_isc_vms_orcl = 33; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_vms_orcl}{$ENDIF} isc_info_db_impl_isc_mac_aux = 34; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_mac_aux}{$ENDIF} isc_info_db_impl_isc_rt_aix = 35; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_rt_aix}{$ENDIF} isc_info_db_impl_isc_mips_ult = 36; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_mips_ult}{$ENDIF} isc_info_db_impl_isc_xenix = 37; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_xenix}{$ENDIF} isc_info_db_impl_isc_dg = 38; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_dg}{$ENDIF} isc_info_db_impl_isc_hp_mpexl = 39; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_hp_mpexl}{$ENDIF} isc_info_db_impl_isc_hp_ux68K = 40; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_hp_ux68K}{$ENDIF} isc_info_db_impl_isc_sgi = 41; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_sgi}{$ENDIF} isc_info_db_impl_isc_sco_unix = 42; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_sco_unix}{$ENDIF} isc_info_db_impl_isc_cray = 43; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_cray}{$ENDIF} isc_info_db_impl_isc_imp = 44; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_imp}{$ENDIF} isc_info_db_impl_isc_delta = 45; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_delta}{$ENDIF} isc_info_db_impl_isc_next = 46; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_next}{$ENDIF} isc_info_db_impl_isc_dos = 47; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_dos}{$ENDIF} {$IFDEF IB65_UP} isc_info_db_impl_isc_winnt = 48; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_winnt}{$ENDIF} isc_info_db_impl_isc_epson = 49; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_epson}{$ENDIF} {$ENDIF IB65_UP} {$IFDEF FB102ORYF867} isc_info_db_impl_m88K = 48; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_m88K}{$ENDIF} isc_info_db_impl_unixware = 49; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_unixware}{$ENDIF} isc_info_db_impl_isc_winnt_x86 = 50; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_winnt_x86}{$ENDIF} isc_info_db_impl_isc_epson = 51; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_epson}{$ENDIF} isc_info_db_impl_alpha_osf = 52; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_alpha_osf}{$ENDIF} isc_info_db_impl_alpha_vms = 53; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_alpha_vms}{$ENDIF} isc_info_db_impl_netware_386 = 54; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_netware_386}{$ENDIF} isc_info_db_impl_win_only = 55; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_win_only}{$ENDIF} isc_info_db_impl_ncr_3000 = 56; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_ncr_3000}{$ENDIF} isc_info_db_impl_winnt_ppc = 57; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_winnt_ppc}{$ENDIF} isc_info_db_impl_dg_x86 = 58; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_dg_x86}{$ENDIF} isc_info_db_impl_sco_ev = 59; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_sco_ev}{$ENDIF} isc_info_db_impl_i386 = 60; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_i386}{$ENDIF} isc_info_db_impl_freebsd = 61; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_freebsd}{$ENDIF} isc_info_db_impl_netbsd = 62; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_netbsd}{$ENDIF} isc_info_db_impl_darwin = 63; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_darwin}{$ENDIF} {$ENDIF FB102ORYF867} {$IFDEF FB102_UP} isc_info_db_impl_sinixz = 64; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_sinixz}{$ENDIF} {$ENDIF FB102_UP} {$IFDEF FB15_UP} isc_info_db_impl_linux_sparc = 65; isc_info_db_impl_linux_amd64 = 66; // FB151 {$ENDIF FB15_UP} isc_info_db_impl_isc_a = isc_info_db_impl_isc_apl_68K; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_a}{$ENDIF} isc_info_db_impl_isc_u = isc_info_db_impl_isc_vax_ultr; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_u}{$ENDIF} isc_info_db_impl_isc_v = isc_info_db_impl_isc_vms; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_v}{$ENDIF} isc_info_db_impl_isc_s = isc_info_db_impl_isc_sun_68k; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_db_impl_isc_s}{$ENDIF} type info_db_class = ( isc_info_db_class_INVALID_0, isc_info_db_class_access, isc_info_db_class_y_valve, isc_info_db_class_rem_int, isc_info_db_class_rem_srvr, isc_info_db_class_INVALID_5, isc_info_db_class_INVALID_6, isc_info_db_class_pipe_int, isc_info_db_class_pipe_srvr, isc_info_db_class_sam_int, isc_info_db_class_sam_srvr, isc_info_db_class_gateway, isc_info_db_class_cache, {$IFDEF FB102ORYF867} isc_info_db_class_classic_access, isc_info_db_class_server_access, {$ENDIF FB102ORYF867} isc_info_db_class_last_value (* Leave this LAST! *) ); {$IFDEF USE_IBASE_H}{$EXTERNALSYM info_db_class}{$ENDIF} {$IFDEF FB102ORYF867} info_db_provider = ( isc_info_db_code_INVALID_0, isc_info_db_code_rdb_eln, isc_info_db_code_rdb_vms, isc_info_db_code_interbase, isc_info_db_code_firebird, isc_info_db_code_last_value (* Leave this LAST! *) ); {$IFDEF USE_IBASE_H}{$EXTERNALSYM info_db_provider}{$ENDIF} {$ENDIF FB102ORYF867} (***************************** * Request information items * *****************************) const isc_info_number_messages = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_number_messages}{$ENDIF} isc_info_max_message = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_max_message}{$ENDIF} isc_info_max_send = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_max_send}{$ENDIF} isc_info_max_receive = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_max_receive}{$ENDIF} isc_info_state = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_state}{$ENDIF} isc_info_message_number = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_message_number}{$ENDIF} isc_info_message_size = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_message_size}{$ENDIF} isc_info_request_cost = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_request_cost}{$ENDIF} isc_info_access_path = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_access_path}{$ENDIF} isc_info_req_select_count = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_req_select_count}{$ENDIF} isc_info_req_insert_count = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_req_insert_count}{$ENDIF} isc_info_req_update_count = 15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_req_update_count}{$ENDIF} isc_info_req_delete_count = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_req_delete_count}{$ENDIF} (********************* * Access path items * *********************) isc_info_rsb_end = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_end}{$ENDIF} isc_info_rsb_begin = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_begin}{$ENDIF} isc_info_rsb_type = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_type}{$ENDIF} isc_info_rsb_relation = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_relation}{$ENDIF} isc_info_rsb_plan = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_plan}{$ENDIF} (************* * Rsb types * *************) isc_info_rsb_unknown = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_unknown}{$ENDIF} isc_info_rsb_indexed = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_indexed}{$ENDIF} isc_info_rsb_navigate = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_navigate}{$ENDIF} isc_info_rsb_sequential = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_sequential}{$ENDIF} isc_info_rsb_cross = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_cross}{$ENDIF} isc_info_rsb_sort = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_sort}{$ENDIF} isc_info_rsb_first = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_first}{$ENDIF} isc_info_rsb_boolean = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_boolean}{$ENDIF} isc_info_rsb_union = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_union}{$ENDIF} isc_info_rsb_aggregate = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_aggregate}{$ENDIF} isc_info_rsb_merge = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_merge}{$ENDIF} isc_info_rsb_ext_sequential = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_ext_sequential}{$ENDIF} isc_info_rsb_ext_indexed = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_ext_indexed}{$ENDIF} isc_info_rsb_ext_dbkey = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_ext_dbkey}{$ENDIF} isc_info_rsb_left_cross = 15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_left_cross}{$ENDIF} isc_info_rsb_select = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_select}{$ENDIF} isc_info_rsb_sql_join = 17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_sql_join}{$ENDIF} isc_info_rsb_simulate = 18; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_simulate}{$ENDIF} isc_info_rsb_sim_cross = 19; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_sim_cross}{$ENDIF} isc_info_rsb_once = 20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_once}{$ENDIF} isc_info_rsb_procedure = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_procedure}{$ENDIF} (********************** * Bitmap expressions * **********************) isc_info_rsb_and = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_and}{$ENDIF} isc_info_rsb_or = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_or}{$ENDIF} isc_info_rsb_dbkey = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_dbkey}{$ENDIF} isc_info_rsb_index = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_rsb_index}{$ENDIF} isc_info_req_active = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_req_active}{$ENDIF} isc_info_req_inactive = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_req_inactive}{$ENDIF} isc_info_req_send = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_req_send}{$ENDIF} isc_info_req_receive = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_req_receive}{$ENDIF} isc_info_req_select = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_req_select}{$ENDIF} isc_info_req_sql_stall = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_req_sql_stall}{$ENDIF} (************************** * Blob information items * **************************) isc_info_blob_num_segments = #4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_blob_num_segments}{$ENDIF} isc_info_blob_max_segment = #5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_blob_max_segment}{$ENDIF} isc_info_blob_total_length = #6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_blob_total_length}{$ENDIF} isc_info_blob_type = #7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_blob_type}{$ENDIF} (********************************* * Transaction information items * *********************************) isc_info_tra_id = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_tra_id}{$ENDIF} (***************************** * Service action items * *****************************) isc_action_svc_backup = #1; // Starts database backup process on the server {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_backup}{$ENDIF} isc_action_svc_restore = #2; // Starts database restore process on the server {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_restore}{$ENDIF} isc_action_svc_repair = #3; // Starts database repair process on the server {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_repair}{$ENDIF} isc_action_svc_add_user = #4; // Adds a new user to the security database {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_add_user}{$ENDIF} isc_action_svc_delete_user = #5; // Deletes a user record from the security database {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_delete_user}{$ENDIF} isc_action_svc_modify_user = #6; // Modifies a user record in the security database {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_modify_user}{$ENDIF} isc_action_svc_display_user = #7; // Displays a user record from the security database {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_display_user}{$ENDIF} isc_action_svc_properties = #8; // Sets database properties {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_properties}{$ENDIF} isc_action_svc_add_license = #9; // Adds a license to the license file {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_add_license}{$ENDIF} isc_action_svc_remove_license = #10; // Removes a license from the license file {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_remove_license}{$ENDIF} isc_action_svc_db_stats = #11; // Retrieves database statistics {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_db_stats}{$ENDIF} isc_action_svc_get_ib_log = #12; // Retrieves the InterBase log file from the server {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_action_svc_get_ib_log}{$ENDIF} (***************************** * Service information items * *****************************) // Retrieves the number of attachments and databases isc_info_svc_svr_db_info = #50; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_svr_db_info}{$ENDIF} // Retrieves all license keys and IDs from the license file isc_info_svc_get_license = #51; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_get_license}{$ENDIF} // Retrieves a bitmask representing licensed options on the server isc_info_svc_get_license_mask = #52; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_get_license_mask}{$ENDIF} // Retrieves the parameters and values for IB_CONFIG isc_info_svc_get_config = #53; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_get_config}{$ENDIF} // Retrieves the version of the services manager isc_info_svc_version = #54; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_version}{$ENDIF} // Retrieves the version of the InterBase server isc_info_svc_server_version = #55; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_server_version}{$ENDIF} // Retrieves the implementation of the InterBase server isc_info_svc_implementation = #56; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_implementation}{$ENDIF} // Retrieves a bitmask representing the server's capabilities isc_info_svc_capabilities = #57; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_capabilities}{$ENDIF} // Retrieves the path to the security database in use by the server isc_info_svc_user_dbpath = #58; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_user_dbpath}{$ENDIF} // Retrieves the setting of $INTERBASE isc_info_svc_get_env = #59; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_get_env}{$ENDIF} // Retrieves the setting of $INTERBASE_LCK isc_info_svc_get_env_lock = #60; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_get_env_lock}{$ENDIF} // Retrieves the setting of $INTERBASE_MSG isc_info_svc_get_env_msg = #61; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_get_env_msg}{$ENDIF} // Retrieves 1 line of service output per call isc_info_svc_line = #62; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_line}{$ENDIF} // Retrieves as much of the server output as will fit in the supplied buffer isc_info_svc_to_eof = #63; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_to_eof}{$ENDIF} // Sets / signifies a timeout value for reading service information isc_info_svc_timeout = #64; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_timeout}{$ENDIF} // Retrieves the number of users licensed for accessing the server isc_info_svc_get_licensed_users = #65; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_get_licensed_users}{$ENDIF} // Retrieve the limbo transactions isc_info_svc_limbo_trans = #66; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_limbo_trans}{$ENDIF} // Checks to see if a service is running on an attachment isc_info_svc_running = #67; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_running}{$ENDIF} // Returns the user information from isc_action_svc_display_users isc_info_svc_get_users = #68; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_svc_get_users}{$ENDIF} (****************************************************** * Parameters for isc_action_{add|delete|modify)_user * ******************************************************) isc_spb_sec_userid = #5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sec_userid}{$ENDIF} isc_spb_sec_groupid = #6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sec_groupid}{$ENDIF} isc_spb_sec_username = #7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sec_username}{$ENDIF} isc_spb_sec_password = #8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sec_password}{$ENDIF} isc_spb_sec_groupname = #9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sec_groupname}{$ENDIF} isc_spb_sec_firstname = #10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sec_firstname}{$ENDIF} isc_spb_sec_middlename = #11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sec_middlename}{$ENDIF} isc_spb_sec_lastname = #12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sec_lastname}{$ENDIF} (******************************************************* * Parameters for isc_action_svc_(add|remove)_license, * * isc_info_svc_get_license * *******************************************************) isc_spb_lic_key = #5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_lic_key}{$ENDIF} isc_spb_lic_id = #6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_lic_id}{$ENDIF} isc_spb_lic_desc = #7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_lic_desc}{$ENDIF} (***************************************** * Parameters for isc_action_svc_backup * *****************************************) isc_spb_bkp_file = #5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_bkp_file}{$ENDIF} isc_spb_bkp_factor = #6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_bkp_factor}{$ENDIF} isc_spb_bkp_length = #7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_bkp_length}{$ENDIF} //flags isc_spb_bkp_ignore_checksums = $01; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_bkp_ignore_checksums}{$ENDIF} isc_spb_bkp_ignore_limbo = $02; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_bkp_ignore_limbo}{$ENDIF} isc_spb_bkp_metadata_only = $04; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_bkp_metadata_only}{$ENDIF} isc_spb_bkp_no_garbage_collect = $08; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_bkp_no_garbage_collect}{$ENDIF} isc_spb_bkp_old_descriptions = $10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_bkp_old_descriptions}{$ENDIF} isc_spb_bkp_non_transportable = $20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_bkp_non_transportable}{$ENDIF} isc_spb_bkp_convert = $40; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_bkp_convert}{$ENDIF} isc_spb_bkp_expand = $80; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_bkp_expand}{$ENDIF} (******************************************** * Parameters for isc_action_svc_properties * ********************************************) isc_spb_prp_page_buffers = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_page_buffers}{$ENDIF} isc_spb_prp_sweep_interval = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_sweep_interval}{$ENDIF} isc_spb_prp_shutdown_db = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_shutdown_db}{$ENDIF} isc_spb_prp_deny_new_attachments = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_deny_new_attachments}{$ENDIF} isc_spb_prp_deny_new_transactions = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_deny_new_transactions}{$ENDIF} isc_spb_prp_reserve_space = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_reserve_space}{$ENDIF} isc_spb_prp_write_mode = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_write_mode}{$ENDIF} isc_spb_prp_access_mode = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_access_mode}{$ENDIF} isc_spb_prp_set_sql_dialect = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_set_sql_dialect}{$ENDIF} isc_spb_prp_activate = $0100; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_activate}{$ENDIF} isc_spb_prp_db_online = $0200; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_db_online}{$ENDIF} (******************************************** * Parameters for isc_spb_prp_reserve_space * ********************************************) isc_spb_prp_res_use_full = 35; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_res_use_full}{$ENDIF} isc_spb_prp_res = 36; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_res}{$ENDIF} (****************************************** * Parameters for isc_spb_prp_write_mode * ******************************************) isc_spb_prp_wm_async = 37; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_wm_async}{$ENDIF} isc_spb_prp_wm_sync = 38; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_wm_sync}{$ENDIF} (****************************************** * Parameters for isc_spb_prp_access_mode * ******************************************) isc_spb_prp_am_readonly = 39; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_am_readonly}{$ENDIF} isc_spb_prp_am_readwrite = 40; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_prp_am_readwrite}{$ENDIF} (***************************************** * Parameters for isc_action_svc_repair * *****************************************) isc_spb_rpr_commit_trans = 15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_rpr_commit_trans}{$ENDIF} isc_spb_rpr_rollback_trans = 34; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_rpr_rollback_trans}{$ENDIF} isc_spb_rpr_recover_two_phase = 17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_rpr_recover_two_phase}{$ENDIF} isc_spb_tra_id = 18; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_id}{$ENDIF} isc_spb_single_tra_id = 19; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_single_tra_id}{$ENDIF} isc_spb_multi_tra_id = 20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_multi_tra_id}{$ENDIF} isc_spb_tra_state = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_state}{$ENDIF} isc_spb_tra_state_limbo = 22; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_state_limbo}{$ENDIF} isc_spb_tra_state_commit = 23; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_state_commit}{$ENDIF} isc_spb_tra_state_rollback = 24; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_state_rollback}{$ENDIF} isc_spb_tra_state_unknown = 25; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_state_unknown}{$ENDIF} isc_spb_tra_host_site = 26; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_host_site}{$ENDIF} isc_spb_tra_remote_site = 27; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_remote_site}{$ENDIF} isc_spb_tra_db_path = 28; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_db_path}{$ENDIF} isc_spb_tra_advise = 29; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_advise}{$ENDIF} isc_spb_tra_advise_commit = 30; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_advise_commit}{$ENDIF} isc_spb_tra_advise_rollback = 31; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_advise_rollback}{$ENDIF} isc_spb_tra_advise_unknown = 33; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_tra_advise_unknown}{$ENDIF} isc_spb_rpr_validate_db = $01; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_rpr_validate_db}{$ENDIF} isc_spb_rpr_sweep_db = $02; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_rpr_sweep_db}{$ENDIF} isc_spb_rpr_mend_db = $04; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_rpr_mend_db}{$ENDIF} isc_spb_rpr_list_limbo_trans = $08; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_rpr_list_limbo_trans}{$ENDIF} isc_spb_rpr_check_db = $10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_rpr_check_db}{$ENDIF} isc_spb_rpr_ignore_checksum = $20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_rpr_ignore_checksum}{$ENDIF} isc_spb_rpr_kill_shadows = $40; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_rpr_kill_shadows}{$ENDIF} isc_spb_rpr_full = $80; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_rpr_full}{$ENDIF} (***************************************** * Parameters for isc_action_svc_restore * *****************************************) isc_spb_res_buffers = #9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_buffers}{$ENDIF} isc_spb_res_page_size = #10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_page_size}{$ENDIF} isc_spb_res_length = #11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_length}{$ENDIF} isc_spb_res_access_mode = #12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_access_mode}{$ENDIF} isc_spb_res_deactivate_idx = $0100; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_deactivate_idx}{$ENDIF} isc_spb_res_no_shadow = $0200; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_no_shadow}{$ENDIF} isc_spb_res_no_validity = $0400; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_no_validity}{$ENDIF} isc_spb_res_one_at_a_time = $0800; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_one_at_a_time}{$ENDIF} isc_spb_res_replace = $1000; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_replace}{$ENDIF} isc_spb_res_create = $2000; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_create}{$ENDIF} isc_spb_res_use_all_space = $4000; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_use_all_space}{$ENDIF} {$IFDEF IB71_UP} isc_spb_res_validate = $8000; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_validate}{$ENDIF} {$ENDIF IB71_UP} (****************************************** * Parameters for isc_spb_res_access_mode * ******************************************) isc_spb_res_am_readonly = isc_spb_prp_am_readonly; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_am_readonly}{$ENDIF} isc_spb_res_am_readwrite = isc_spb_prp_am_readwrite; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_res_am_readwrite}{$ENDIF} (******************************************* * Parameters for isc_info_svc_svr_db_info * *******************************************) isc_spb_num_att = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_num_att}{$ENDIF} isc_spb_num_db = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_num_db}{$ENDIF} (***************************************** * Parameters for isc_info_svc_db_stats * *****************************************) isc_spb_sts_data_pages = $01; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sts_data_pages}{$ENDIF} isc_spb_sts_db_log = $02; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sts_db_log}{$ENDIF} isc_spb_sts_hdr_pages = $04; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sts_hdr_pages}{$ENDIF} isc_spb_sts_idx_pages = $08; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sts_idx_pages}{$ENDIF} isc_spb_sts_sys_relations = $10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sts_sys_relations}{$ENDIF} {$IFDEF IB7} isc_spb_sts_record_versions = $20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sts_record_versions}{$ENDIF} isc_spb_sts_table = $40; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sts_table}{$ENDIF} {$ELSE} {$IFDEF IB65ORYF867} isc_spb_sts_record_versions = $12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sts_record_versions}{$ENDIF} isc_spb_sts_table = $14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_spb_sts_table}{$ENDIF} {$ENDIF IB65ORYF867} {$ENDIF IB7} {$IFDEF FB15_UP} isc_spb_sts_record_versions = $20; isc_spb_sts_table = $40; {$ENDIF FB15_UP} (************************* * SQL information items * *************************) isc_info_sql_select = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_select}{$ENDIF} isc_info_sql_bind = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_bind}{$ENDIF} isc_info_sql_num_variables = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_num_variables}{$ENDIF} isc_info_sql_describe_vars = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_describe_vars}{$ENDIF} isc_info_sql_describe_end = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_describe_end}{$ENDIF} isc_info_sql_sqlda_seq = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_sqlda_seq}{$ENDIF} isc_info_sql_message_seq = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_message_seq}{$ENDIF} isc_info_sql_type = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_type}{$ENDIF} isc_info_sql_sub_type = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_sub_type}{$ENDIF} isc_info_sql_scale = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_scale}{$ENDIF} isc_info_sql_length = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_length}{$ENDIF} isc_info_sql_null_ind = 15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_null_ind}{$ENDIF} isc_info_sql_field = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_field}{$ENDIF} isc_info_sql_relation = 17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_relation}{$ENDIF} isc_info_sql_owner = 18; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_owner}{$ENDIF} isc_info_sql_alias = 19; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_alias}{$ENDIF} isc_info_sql_sqlda_start = 20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_sqlda_start}{$ENDIF} isc_info_sql_stmt_type = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_type}{$ENDIF} isc_info_sql_get_plan = 22; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_get_plan}{$ENDIF} isc_info_sql_records = 23; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_records}{$ENDIF} isc_info_sql_batch_fetch = 24; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_batch_fetch}{$ENDIF} {$IFDEF IB71_UP} isc_info_sql_precision = 25; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_precision}{$ENDIF} {$ENDIF IB71_UP} (********************************* * SQL information return values * *********************************) isc_info_sql_stmt_select = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_select}{$ENDIF} isc_info_sql_stmt_insert = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_insert}{$ENDIF} isc_info_sql_stmt_update = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_update}{$ENDIF} isc_info_sql_stmt_delete = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_delete}{$ENDIF} isc_info_sql_stmt_ddl = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_ddl}{$ENDIF} isc_info_sql_stmt_get_segment = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_get_segment}{$ENDIF} isc_info_sql_stmt_put_segment = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_put_segment}{$ENDIF} isc_info_sql_stmt_exec_procedure = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_exec_procedure}{$ENDIF} isc_info_sql_stmt_start_trans = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_start_trans}{$ENDIF} isc_info_sql_stmt_commit = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_commit}{$ENDIF} isc_info_sql_stmt_rollback = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_rollback}{$ENDIF} isc_info_sql_stmt_select_for_upd = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_select_for_upd}{$ENDIF} isc_info_sql_stmt_set_generator = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_set_generator}{$ENDIF} {$IFDEF FB15_UP} isc_info_sql_stmt_savepoint = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_info_sql_stmt_savepoint}{$ENDIF} {$ENDIF FB15_UP} (*********************************** * Server configuration key values * ***********************************) {$IFNDEF FB15_UP} ISCCFG_LOCKMEM_KEY = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_LOCKMEM_KEY}{$ENDIF} ISCCFG_LOCKSEM_KEY = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_LOCKSEM_KEY}{$ENDIF} ISCCFG_LOCKSIG_KEY = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_LOCKSIG_KEY}{$ENDIF} ISCCFG_EVNTMEM_KEY = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_EVNTMEM_KEY}{$ENDIF} ISCCFG_DBCACHE_KEY = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_DBCACHE_KEY}{$ENDIF} ISCCFG_PRIORITY_KEY = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_PRIORITY_KEY}{$ENDIF} ISCCFG_IPCMAP_KEY = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_IPCMAP_KEY}{$ENDIF} ISCCFG_MEMMIN_KEY = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_MEMMIN_KEY}{$ENDIF} ISCCFG_MEMMAX_KEY = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_MEMMAX_KEY}{$ENDIF} ISCCFG_LOCKORDER_KEY = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_LOCKORDER_KEY}{$ENDIF} ISCCFG_ANYLOCKMEM_KEY = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_ANYLOCKMEM_KEY}{$ENDIF} ISCCFG_ANYLOCKSEM_KEY = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_ANYLOCKSEM_KEY}{$ENDIF} ISCCFG_ANYLOCKSIG_KEY = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_ANYLOCKSIG_KEY}{$ENDIF} ISCCFG_ANYEVNTMEM_KEY = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_ANYEVNTMEM_KEY}{$ENDIF} ISCCFG_LOCKHASH_KEY = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_LOCKHASH_KEY}{$ENDIF} ISCCFG_DEADLOCK_KEY = 15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_DEADLOCK_KEY}{$ENDIF} ISCCFG_LOCKSPIN_KEY = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_LOCKSPIN_KEY}{$ENDIF} ISCCFG_CONN_TIMEOUT_KEY = 17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_CONN_TIMEOUT_KEY}{$ENDIF} ISCCFG_DUMMY_INTRVL_KEY = 18; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_DUMMY_INTRVL_KEY}{$ENDIF} ISCCFG_TRACE_POOLS_KEY = 19; // Internal Use only {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_TRACE_POOLS_KEY}{$ENDIF} ISCCFG_REMOTE_BUFFER_KEY = 20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_REMOTE_BUFFER_KEY}{$ENDIF} {$IFDEF FB102_UP} {$IFDEF SET_TCP_NO_DELAY} ISCCFG_NO_NAGLE_KEY = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_NO_NAGLE_KEY}{$ENDIF} {$ENDIF SET_TCP_NO_DELAY} {$IFDEF MSWINDOWS} {$IFDEF SET_TCP_NO_DELAY} {$MESSAGE Fatal 'Currently unsupported configuration.'} {$ENDIF SET_TCP_NO_DELAY} ISCCFG_CPU_AFFINITY_KEY = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_CPU_AFFINITY_KEY}{$ENDIF} {$ENDIF MSWINDOWS} {$ENDIF FB102_UP} {$ENDIF !FB15_UP} {$IFDEF IB65_UP} ISCCFG_CPU_AFFINITY_KEY = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_CPU_AFFINITY_KEY}{$ENDIF} ISCCFG_SWEEP_QUANTUM_KEY = 22; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_SWEEP_QUANTUM_KEY}{$ENDIF} ISCCFG_USER_QUANTUM_KEY = 23; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_USER_QUANTUM_KEY}{$ENDIF} ISCCFG_SLEEP_TIME_KEY = 24; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_SLEEP_TIME_KEY}{$ENDIF} {$ENDIF IB65_UP} {$IFDEF IB7_UP} ISCCFG_MAX_THREADS_KEY = 25; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_MAX_THREADS_KEY}{$ENDIF} ISCCFG_ADMIN_DB_KEY = 26; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_ADMIN_DB_KEY}{$ENDIF} {$ENDIF IB7_UP} {$IFDEF IB71_UP} ISCCFG_USE_SANCTUARY_KEY = 27; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_USE_SANCTUARY_KEY}{$ENDIF} ISCCFG_ENABLE_HT_KEY = 28; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_ENABLE_HT_KEY}{$ENDIF} {$ENDIF IB71_UP} {$IFDEF YF867_UP} ISCCFG_CPU_AFFINITY_KEY = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_CPU_AFFINITY_KEY}{$ENDIF} ISCCFG_SWEEP_QUANTUM_KEY = 22; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_SWEEP_QUANTUM_KEY}{$ENDIF} ISCCFG_USER_QUANTUM_KEY = 23; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_USER_QUANTUM_KEY}{$ENDIF} ISCCFG_REJECT_AMBIGUITY_KEY = 24; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_REJECT_AMBIGUITY_KEY}{$ENDIF} ISCCFG_SQZ_BLOCK_KEY = 25; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_SQZ_BLOCK_KEY}{$ENDIF} ISCCFG_LOCK_TIMEOUT_KEY = 26; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_LOCK_TIMEOUT_KEY}{$ENDIF} ISCCFG_YAFFIL_ODS_KEY = 27; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_YAFFIL_ODS_KEY}{$ENDIF} ISCCFG_CONSTRAINT_INDEX_NAME_KEY = 28; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_CONSTRAINT_INDEX_NAME_KEY}{$ENDIF} ISCCFG_NO_NAGLE_KEY = 29; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_NO_NAGLE_KEY}{$ENDIF} ISCCFG_WIN32_DISABLEFILECACHE_KEY = 30; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_WIN32_DISABLEFILECACHE_KEY}{$ENDIF} ISCCFG_LOCKMEM_RES_KEY = 31; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_LOCKMEM_RES_KEY}{$ENDIF} ISCCFG_FORCERESHEDULE_KEY = 32; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_FORCERESHEDULE_KEY}{$ENDIF} ISCCFG_LEGACY_DIALECT1_KEY = 33; {$IFDEF USE_IBASE_H}{$EXTERNALSYM ISCCFG_LEGACY_DIALECT1_KEY}{$ENDIF} {$ENDIF YF867_UP} (********************************************** * Dynamic Data Definition Language operators * **********************************************) (****************** * Version number * ******************) isc_dyn_version_1 = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_version_1}{$ENDIF} isc_dyn_eoc = 255; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_eoc}{$ENDIF} (****************************** * Operations (may be nested) * ******************************) isc_dyn_begin = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_begin}{$ENDIF} isc_dyn_end = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_end}{$ENDIF} isc_dyn_if = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_if}{$ENDIF} isc_dyn_def_database = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_database}{$ENDIF} isc_dyn_def_global_fld = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_global_fld}{$ENDIF} isc_dyn_def_local_fld = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_local_fld}{$ENDIF} isc_dyn_def_idx = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_idx}{$ENDIF} isc_dyn_def_rel = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_rel}{$ENDIF} isc_dyn_def_sql_fld = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_sql_fld}{$ENDIF} isc_dyn_def_view = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_view}{$ENDIF} isc_dyn_def_trigger = 15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_trigger}{$ENDIF} isc_dyn_def_security_class = 120; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_security_class}{$ENDIF} isc_dyn_def_dimension = 140; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_dimension}{$ENDIF} isc_dyn_def_generator = 24; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_generator}{$ENDIF} isc_dyn_def_function = 25; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_function}{$ENDIF} isc_dyn_def_filter = 26; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_filter}{$ENDIF} isc_dyn_def_function_arg = 27; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_function_arg}{$ENDIF} isc_dyn_def_shadow = 34; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_shadow}{$ENDIF} isc_dyn_def_trigger_msg = 17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_trigger_msg}{$ENDIF} isc_dyn_def_file = 36; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_file}{$ENDIF} isc_dyn_mod_database = 39; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_database}{$ENDIF} isc_dyn_mod_rel = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_rel}{$ENDIF} isc_dyn_mod_global_fld = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_global_fld}{$ENDIF} isc_dyn_mod_idx = 102; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_idx}{$ENDIF} isc_dyn_mod_local_fld = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_local_fld}{$ENDIF} isc_dyn_mod_sql_fld = 216; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_sql_fld}{$ENDIF} isc_dyn_mod_view = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_view}{$ENDIF} isc_dyn_mod_security_class = 122; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_security_class}{$ENDIF} isc_dyn_mod_trigger = 113; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_trigger}{$ENDIF} isc_dyn_mod_trigger_msg = 28; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_trigger_msg}{$ENDIF} isc_dyn_delete_database = 18; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_database}{$ENDIF} isc_dyn_delete_rel = 19; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_rel}{$ENDIF} isc_dyn_delete_global_fld = 20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_global_fld}{$ENDIF} isc_dyn_delete_local_fld = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_local_fld}{$ENDIF} isc_dyn_delete_idx = 22; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_idx}{$ENDIF} isc_dyn_delete_security_class = 123; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_security_class}{$ENDIF} isc_dyn_delete_dimensions = 143; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_dimensions}{$ENDIF} isc_dyn_delete_trigger = 23; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_trigger}{$ENDIF} isc_dyn_delete_trigger_msg = 29; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_trigger_msg}{$ENDIF} isc_dyn_delete_filter = 32; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_filter}{$ENDIF} isc_dyn_delete_function = 33; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_function}{$ENDIF} {$IFDEF IB71_UP} isc_dyn_delete_generator = 217; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_generator}{$ENDIF} {$ENDIF IB71_UP} isc_dyn_delete_shadow = 35; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_shadow}{$ENDIF} isc_dyn_grant = 30; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_grant}{$ENDIF} isc_dyn_revoke = 31; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_revoke}{$ENDIF} isc_dyn_def_primary_key = 37; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_primary_key}{$ENDIF} isc_dyn_def_foreign_key = 38; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_foreign_key}{$ENDIF} isc_dyn_def_unique = 40; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_unique}{$ENDIF} isc_dyn_def_procedure = 164; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_procedure}{$ENDIF} isc_dyn_delete_procedure = 165; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_procedure}{$ENDIF} isc_dyn_def_parameter = 135; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_parameter}{$ENDIF} isc_dyn_delete_parameter = 136; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_parameter}{$ENDIF} isc_dyn_mod_procedure = 175; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_procedure}{$ENDIF} isc_dyn_def_log_file = 176; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_log_file}{$ENDIF} isc_dyn_def_cache_file = 180; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_cache_file}{$ENDIF} isc_dyn_def_exception = 181; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_exception}{$ENDIF} isc_dyn_mod_exception = 182; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_mod_exception}{$ENDIF} isc_dyn_del_exception = 183; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_del_exception}{$ENDIF} isc_dyn_drop_log = 194; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_drop_log}{$ENDIF} isc_dyn_drop_cache = 195; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_drop_cache}{$ENDIF} isc_dyn_def_default_log = 202; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_default_log}{$ENDIF} (*********************** * View specific stuff * ***********************) isc_dyn_view_blr = 43; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_view_blr}{$ENDIF} isc_dyn_view_source = 44; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_view_source}{$ENDIF} isc_dyn_view_relation = 45; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_view_relation}{$ENDIF} isc_dyn_view_context = 46; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_view_context}{$ENDIF} isc_dyn_view_context_name = 47; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_view_context_name}{$ENDIF} (********************** * Generic attributes * **********************) isc_dyn_rel_name = 50; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_rel_name}{$ENDIF} isc_dyn_fld_name = 51; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_name}{$ENDIF} isc_dyn_new_fld_name = 215; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_new_fld_name}{$ENDIF} isc_dyn_idx_name = 52; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_idx_name}{$ENDIF} isc_dyn_description = 53; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_description}{$ENDIF} isc_dyn_security_class = 54; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_security_class}{$ENDIF} isc_dyn_system_flag = 55; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_system_flag}{$ENDIF} isc_dyn_update_flag = 56; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_update_flag}{$ENDIF} isc_dyn_prc_name = 166; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_prc_name}{$ENDIF} isc_dyn_prm_name = 137; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_prm_name}{$ENDIF} isc_dyn_sql_object = 196; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_sql_object}{$ENDIF} isc_dyn_fld_character_set_name = 174; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_character_set_name}{$ENDIF} (******************************** * Relation specific attributes * ********************************) isc_dyn_rel_dbkey_length = 61; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_rel_dbkey_length}{$ENDIF} isc_dyn_rel_store_trig = 62; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_rel_store_trig}{$ENDIF} isc_dyn_rel_modify_trig = 63; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_rel_modify_trig}{$ENDIF} isc_dyn_rel_erase_trig = 64; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_rel_erase_trig}{$ENDIF} isc_dyn_rel_store_trig_source = 65; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_rel_store_trig_source}{$ENDIF} isc_dyn_rel_modify_trig_source = 66; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_rel_modify_trig_source}{$ENDIF} isc_dyn_rel_erase_trig_source = 67; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_rel_erase_trig_source}{$ENDIF} isc_dyn_rel_ext_file = 68; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_rel_ext_file}{$ENDIF} isc_dyn_rel_sql_protection = 69; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_rel_sql_protection}{$ENDIF} isc_dyn_rel_constraint = 162; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_rel_constraint}{$ENDIF} isc_dyn_delete_rel_constraint = 163; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_delete_rel_constraint}{$ENDIF} (************************************ * Global field specific attributes * ************************************) isc_dyn_fld_type = 70; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_type}{$ENDIF} isc_dyn_fld_length = 71; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_length}{$ENDIF} isc_dyn_fld_scale = 72; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_scale}{$ENDIF} isc_dyn_fld_sub_type = 73; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_sub_type}{$ENDIF} isc_dyn_fld_segment_length = 74; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_segment_length}{$ENDIF} isc_dyn_fld_query_header = 75; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_query_header}{$ENDIF} isc_dyn_fld_edit_string = 76; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_edit_string}{$ENDIF} isc_dyn_fld_validation_blr = 77; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_validation_blr}{$ENDIF} isc_dyn_fld_validation_source = 78; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_validation_source}{$ENDIF} isc_dyn_fld_computed_blr = 79; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_computed_blr}{$ENDIF} isc_dyn_fld_computed_source = 80; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_computed_source}{$ENDIF} isc_dyn_fld_missing_value = 81; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_missing_value}{$ENDIF} isc_dyn_fld_default_value = 82; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_default_value}{$ENDIF} isc_dyn_fld_query_name = 83; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_query_name}{$ENDIF} isc_dyn_fld_dimensions = 84; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_dimensions}{$ENDIF} isc_dyn_fld_not_null = 85; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_not_null}{$ENDIF} isc_dyn_fld_precision = 86; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_precision}{$ENDIF} isc_dyn_fld_char_length = 172; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_char_length}{$ENDIF} isc_dyn_fld_collation = 173; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_collation}{$ENDIF} isc_dyn_fld_default_source = 193; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_default_source}{$ENDIF} isc_dyn_del_default = 197; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_del_default}{$ENDIF} isc_dyn_del_validation = 198; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_del_validation}{$ENDIF} isc_dyn_single_validation = 199; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_single_validation}{$ENDIF} isc_dyn_fld_character_set = 203; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_character_set}{$ENDIF} (*********************************** * Local field specific attributes * ***********************************) isc_dyn_fld_source = 90; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_source}{$ENDIF} isc_dyn_fld_base_fld = 91; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_base_fld}{$ENDIF} isc_dyn_fld_position = 92; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_position}{$ENDIF} isc_dyn_fld_update_flag = 93; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_update_flag}{$ENDIF} (***************************** * Index specific attributes * *****************************) isc_dyn_idx_unique = 100; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_idx_unique}{$ENDIF} isc_dyn_idx_inactive = 101; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_idx_inactive}{$ENDIF} isc_dyn_idx_type = 103; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_idx_type}{$ENDIF} isc_dyn_idx_foreign_key = 104; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_idx_foreign_key}{$ENDIF} isc_dyn_idx_ref_column = 105; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_idx_ref_column}{$ENDIF} isc_dyn_idx_statistic = 204; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_idx_statistic}{$ENDIF} (******************************* * Trigger specific attributes * *******************************) isc_dyn_trg_type = 110; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_trg_type}{$ENDIF} isc_dyn_trg_blr = 111; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_trg_blr}{$ENDIF} isc_dyn_trg_source = 112; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_trg_source}{$ENDIF} isc_dyn_trg_name = 114; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_trg_name}{$ENDIF} isc_dyn_trg_sequence = 115; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_trg_sequence}{$ENDIF} isc_dyn_trg_inactive = 116; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_trg_inactive}{$ENDIF} isc_dyn_trg_msg_number = 117; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_trg_msg_number}{$ENDIF} isc_dyn_trg_msg = 118; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_trg_msg}{$ENDIF} (************************************** * Security Class specific attributes * **************************************) isc_dyn_scl_acl = 121; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_scl_acl}{$ENDIF} isc_dyn_grant_user = 130; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_grant_user}{$ENDIF} isc_dyn_grant_proc = 186; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_grant_proc}{$ENDIF} isc_dyn_grant_trig = 187; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_grant_trig}{$ENDIF} isc_dyn_grant_view = 188; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_grant_view}{$ENDIF} isc_dyn_grant_options = 132; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_grant_options}{$ENDIF} isc_dyn_grant_user_group = 205; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_grant_user_group}{$ENDIF} {$IFDEF FB102ORYF867} isc_dyn_grant_role = 218; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_grant_role}{$ENDIF} isc_dyn_grant_user_explicit = 219; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_grant_user_explicit}{$ENDIF} {$ENDIF FB102ORYF867} (********************************** * Dimension specific information * **********************************) isc_dyn_dim_lower = 141; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_dim_lower}{$ENDIF} isc_dyn_dim_upper = 142; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_dim_upper}{$ENDIF} (**************************** * File specific attributes * ****************************) isc_dyn_file_name = 125; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_file_name}{$ENDIF} isc_dyn_file_start = 126; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_file_start}{$ENDIF} isc_dyn_file_length = 127; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_file_length}{$ENDIF} isc_dyn_shadow_number = 128; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_shadow_number}{$ENDIF} isc_dyn_shadow_man_auto = 129; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_shadow_man_auto}{$ENDIF} isc_dyn_shadow_conditional = 130; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_shadow_conditional}{$ENDIF} (******************************** * Log file specific attributes * ********************************) isc_dyn_log_file_sequence = 177; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_log_file_sequence}{$ENDIF} isc_dyn_log_file_partitions = 178; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_log_file_partitions}{$ENDIF} isc_dyn_log_file_serial = 179; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_log_file_serial}{$ENDIF} isc_dyn_log_file_overflow = 200; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_log_file_overflow}{$ENDIF} isc_dyn_log_file_raw = 201; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_log_file_raw}{$ENDIF} (*************************** * Log specific attributes * ***************************) isc_dyn_log_group_commit_wait = 189; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_log_group_commit_wait}{$ENDIF} isc_dyn_log_buffer_size = 190; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_log_buffer_size}{$ENDIF} isc_dyn_log_check_point_length = 191; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_log_check_point_length}{$ENDIF} isc_dyn_log_num_of_buffers = 192; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_log_num_of_buffers}{$ENDIF} (******************************** * Function specific attributes * ********************************) isc_dyn_function_name = 145; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_function_name}{$ENDIF} isc_dyn_function_type = 146; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_function_type}{$ENDIF} isc_dyn_func_module_name = 147; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_func_module_name}{$ENDIF} isc_dyn_func_entry_point = 148; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_func_entry_point}{$ENDIF} isc_dyn_func_return_argument = 149; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_func_return_argument}{$ENDIF} isc_dyn_func_arg_position = 150; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_func_arg_position}{$ENDIF} isc_dyn_func_mechanism = 151; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_func_mechanism}{$ENDIF} isc_dyn_filter_in_subtype = 152; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_filter_in_subtype}{$ENDIF} isc_dyn_filter_out_subtype = 153; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_filter_out_subtype}{$ENDIF} isc_dyn_description2 = 154; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_description2}{$ENDIF} isc_dyn_fld_computed_source2 = 155; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_computed_source2}{$ENDIF} isc_dyn_fld_edit_string2 = 156; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_edit_string2}{$ENDIF} isc_dyn_fld_query_header2 = 157; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_query_header2}{$ENDIF} isc_dyn_fld_validation_source2 = 158; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_fld_validation_source2}{$ENDIF} isc_dyn_trg_msg2 = 159; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_trg_msg2}{$ENDIF} isc_dyn_trg_source2 = 160; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_trg_source2}{$ENDIF} isc_dyn_view_source2 = 161; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_view_source2}{$ENDIF} isc_dyn_xcp_msg2 = 184; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_xcp_msg2}{$ENDIF} (********************************* * Generator specific attributes * *********************************) isc_dyn_generator_name = 95; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_generator_name}{$ENDIF} isc_dyn_generator_id = 96; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_generator_id}{$ENDIF} (********************************* * Procedure specific attributes * *********************************) isc_dyn_prc_inputs = 167; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_prc_inputs}{$ENDIF} isc_dyn_prc_outputs = 168; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_prc_outputs}{$ENDIF} isc_dyn_prc_source = 169; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_prc_source}{$ENDIF} isc_dyn_prc_blr = 170; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_prc_blr}{$ENDIF} isc_dyn_prc_source2 = 171; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_prc_source2}{$ENDIF} (********************************* * Parameter specific attributes * *********************************) isc_dyn_prm_number = 138; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_prm_number}{$ENDIF} isc_dyn_prm_type = 139; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_prm_type}{$ENDIF} (******************************** * Relation specific attributes * ********************************) isc_dyn_xcp_msg = 185; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_xcp_msg}{$ENDIF} (********************************************** * Cascading referential integrity values * **********************************************) isc_dyn_foreign_key_update = 205; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_foreign_key_update}{$ENDIF} isc_dyn_foreign_key_delete = 206; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_foreign_key_delete}{$ENDIF} isc_dyn_foreign_key_cascade = 207; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_foreign_key_cascade}{$ENDIF} isc_dyn_foreign_key_default = 208; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_foreign_key_default}{$ENDIF} isc_dyn_foreign_key_null = 209; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_foreign_key_null}{$ENDIF} isc_dyn_foreign_key_none = 210; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_foreign_key_none}{$ENDIF} (*********************** * SQL role values * ***********************) isc_dyn_def_sql_role = 211; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_def_sql_role}{$ENDIF} isc_dyn_sql_role_name = 212; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_sql_role_name}{$ENDIF} isc_dyn_grant_admin_options = 213; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_grant_admin_options}{$ENDIF} isc_dyn_del_sql_role = 214; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_del_sql_role}{$ENDIF} (* 215 & 216 are used some lines above. *) (********************************************** * Generators again * **********************************************) {$IFDEF FB15ORYF867} gds_dyn_delete_generator = 217; {$IFDEF USE_IBASE_H}{$EXTERNALSYM gds_dyn_delete_generator}{$ENDIF} {$ENDIF FB15ORYF867} (**************************** * Last $dyn value assigned * ****************************) {$IFDEF FB15} isc_dyn_last_dyn_value = 219; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_last_dyn_value}{$ENDIF} {$ENDIF FB15} {$IFDEF FB103} isc_dyn_last_dyn_value = 219; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_last_dyn_value}{$ENDIF} {$ENDIF FB103} {$IFDEF FB102} isc_dyn_last_dyn_value = 219; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_last_dyn_value}{$ENDIF} {$ENDIF FB102} {$IFDEF IB65} isc_dyn_last_dyn_value = 216; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_last_dyn_value}{$ENDIF} {$ENDIF IB65} {$IFDEF IB71} isc_dyn_last_dyn_value = 217; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_dyn_last_dyn_value}{$ENDIF} {$ENDIF IB71} (****************************************** * Array slice description language (SDL) * ******************************************) isc_sdl_version1 = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_version1}{$ENDIF} isc_sdl_eoc = 255; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_eoc}{$ENDIF} isc_sdl_relation = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_relation}{$ENDIF} isc_sdl_rid = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_rid}{$ENDIF} isc_sdl_field = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_field}{$ENDIF} isc_sdl_fid = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_fid}{$ENDIF} isc_sdl_struct = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_struct}{$ENDIF} isc_sdl_variable = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_variable}{$ENDIF} isc_sdl_scalar = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_scalar}{$ENDIF} isc_sdl_tiny_integer = 9; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_tiny_integer}{$ENDIF} isc_sdl_short_integer = 10; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_short_integer}{$ENDIF} isc_sdl_long_integer = 11; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_long_integer}{$ENDIF} isc_sdl_literal = 12; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_literal}{$ENDIF} isc_sdl_add = 13; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_add}{$ENDIF} isc_sdl_subtract = 14; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_subtract}{$ENDIF} isc_sdl_multiply = 15; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_multiply}{$ENDIF} isc_sdl_divide = 16; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_divide}{$ENDIF} isc_sdl_negate = 17; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_negate}{$ENDIF} isc_sdl_eql = 18; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_eql}{$ENDIF} isc_sdl_neq = 19; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_neq}{$ENDIF} isc_sdl_gtr = 20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_gtr}{$ENDIF} isc_sdl_geq = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_geq}{$ENDIF} isc_sdl_lss = 22; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_lss}{$ENDIF} isc_sdl_leq = 23; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_leq}{$ENDIF} isc_sdl_and = 24; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_and}{$ENDIF} isc_sdl_or = 25; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_or}{$ENDIF} isc_sdl_not = 26; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_not}{$ENDIF} isc_sdl_while = 27; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_while}{$ENDIF} isc_sdl_assignment = 28; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_assignment}{$ENDIF} isc_sdl_label = 29; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_label}{$ENDIF} isc_sdl_leave = 30; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_leave}{$ENDIF} isc_sdl_begin = 31; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_begin}{$ENDIF} isc_sdl_end = 32; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_end}{$ENDIF} isc_sdl_do3 = 33; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_do3}{$ENDIF} isc_sdl_do2 = 34; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_do2}{$ENDIF} isc_sdl_do1 = 35; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_do1}{$ENDIF} isc_sdl_element = 36; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_sdl_element}{$ENDIF} (******************************************** * International text interpretation values * ********************************************) isc_interp_eng_ascii = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_interp_eng_ascii}{$ENDIF} isc_interp_jpn_sjis = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_interp_jpn_sjis}{$ENDIF} isc_interp_jpn_euc = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_interp_jpn_euc}{$ENDIF} (******************* * SQL definitions * *******************) SQL_TEXT = 452; // Array of char {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_TEXT}{$ENDIF} SQL_VARYING = 448; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_VARYING}{$ENDIF} SQL_SHORT = 500; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_SHORT}{$ENDIF} SQL_LONG = 496; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_LONG}{$ENDIF} SQL_FLOAT = 482; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_FLOAT}{$ENDIF} SQL_DOUBLE = 480; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_DOUBLE}{$ENDIF} SQL_D_FLOAT = 530; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_D_FLOAT}{$ENDIF} SQL_TIMESTAMP = 510; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_TIMESTAMP}{$ENDIF} SQL_BLOB = 520; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_BLOB}{$ENDIF} SQL_ARRAY = 540; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_ARRAY}{$ENDIF} SQL_QUAD = 550; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_QUAD}{$ENDIF} SQL_TYPE_TIME = 560; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_TYPE_TIME}{$ENDIF} SQL_TYPE_DATE = 570; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_TYPE_DATE}{$ENDIF} SQL_INT64 = 580; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_INT64}{$ENDIF} {$IFDEF IB7_UP} SQL_BOOLEAN = 590; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_BOOLEAN}{$ENDIF} {$ENDIF IB7_UP} (* Historical alias for pre V6 applications *) SQL_DATE = SQL_TIMESTAMP; {$IFDEF USE_IBASE_H}{$EXTERNALSYM SQL_DATE}{$ENDIF} (***************** * Blob Subtypes * *****************) (* types less than zero are reserved for customer use *) isc_blob_untyped = 0; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_untyped}{$ENDIF} (* internal subtypes *) isc_blob_text = 1; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_text}{$ENDIF} isc_blob_blr = 2; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_blr}{$ENDIF} isc_blob_acl = 3; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_acl}{$ENDIF} isc_blob_ranges = 4; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_ranges}{$ENDIF} isc_blob_summary = 5; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_summary}{$ENDIF} isc_blob_format = 6; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_format}{$ENDIF} isc_blob_tra = 7; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_tra}{$ENDIF} isc_blob_extfile = 8; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_extfile}{$ENDIF} (* the range 20-30 is reserved for dBASE and Paradox types *) isc_blob_formatted_memo = 20; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_formatted_memo}{$ENDIF} isc_blob_paradox_ole = 21; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_paradox_ole}{$ENDIF} isc_blob_graphic = 22; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_graphic}{$ENDIF} isc_blob_dbase_ole = 23; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_dbase_ole}{$ENDIF} isc_blob_typed_binary = 24; {$IFDEF USE_IBASE_H}{$EXTERNALSYM isc_blob_typed_binary}{$ENDIF} (******************************************************************************* * LINK LIBRARY * *******************************************************************************) const {$IFDEF MSWINDOWS} {$IFDEF FB15_UP} {$IFDEF FBEMBED} GDS32DLL = 'fbembed.dll'; {$ELSE} GDS32DLL = 'fbclient.dll'; {$ENDIF FBEMBED} {$ELSE} GDS32DLL = 'gds32.dll'; {$ENDIF FB15_UP} {$ENDIF MSWINDOWS} {$IFDEF LINUX} {$IFDEF FB15_UP} {$IFDEF FBEMBED} GDS32DLL = 'libfbembed.so'; {$ELSE} GDS32DLL = 'libfbclient.so'; {$ENDIF FBEMBED} {$ELSE} GDS32DLL = 'libfbclient.so'; {$ENDIF FB15_UP} {$ENDIF LINUX} type TUIBaseLibrary = class(TObject) private {$IFDEF MSWINDOWS} FGDS32Lib: THandle; {$ENDIF MSWINDOWS} {$IFDEF LINUX} FCryptLib: Pointer; FGDS32Lib: Pointer; {$ENDIF LINUX} FLIBCritSec: TCriticalSection; protected BLOB_close: function(Stream: PBStream): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} {$IFDEF INTERBASEORFIREBIRD} BLOB_display: function(blob_id: PISCQuad; database: IscDbHandle; transaction: IscTrHandle; field_name: PChar): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} {$ENDIF INTERBASEORFIREBIRD} BLOB_dump: function(blob_id: PISCQuad; database: IscDbHandle; transaction: IscTrHandle; file_name: PChar): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} BLOB_edit: function(blob_id: PISCQuad; database: IscDbHandle; transaction: IscTrHandle; field_name: PChar): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} BLOB_get: function(Stream: PBStream): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} BLOB_load: function(blob_id: PISCQuad; database: IscDbHandle; transaction: IscTrHandle; file_name: PChar): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} BLOB_open: function(blob: IscBlobHandle; buffer: PChar; length: Integer): PBStream; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} BLOB_put: function(x: Char; Stream: PBStream): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} BLOB_text_dump: function(blob_id: PISCQuad; database: IscDbHandle; transaction: IscTrHandle; file_name: PChar): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} BLOB_text_load: function(blob_id: PISCQuad; database: IscDbHandle; transaction: IscTrHandle; file_name: PChar): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} Bopen: function(blob_id: PISCQuad; database: IscDbHandle; transaction: IscTrHandle; mode: PChar): PBStream; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_add_user: function(status: PISCStatus; user_data: PUserSecData): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_array_gen_sdl: function(status: PISCStatus; desc: PISCArrayDesc; sdl_buffer_length: PSmallInt; sdl_buffer: PChar; sdl_length: PSmallInt): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_array_get_slice: function(status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; array_id: PISCQuad; desc: PISCArrayDesc; array_: PPointer; slice_length: PISCLong): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_array_lookup_bounds: function(status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; relation_name, field_name: PChar; desc: PISCArrayDesc): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_array_lookup_desc: function(status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; relation_name, field_name: PChar; desc: PISCArrayDesc): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_array_put_slice: function(status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; array_id: PISCQuad; desc: PISCArrayDesc; array_: PPointer; slice_length: PISCLong): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_array_set_desc: function(status: PISCStatus; relation_name, field_name: PChar; sql_dtype, sql_length, dimensions: PSmallint; desc: PISCArrayDesc): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_attach_database: function(user_status: PISCStatus; file_length: Smallint; file_name: PChar; handle: PIscDbHandle; dpb_length: Smallint; dpb: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_blob_default_desc: procedure(desc: PISCBlobDesc; relation_name, field_name: PChar); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_blob_gen_bpb: function(status: PISCStatus; to_desc, from_desc: PISCBlobDesc; bpb_buffer_length: Word; bpb_buffer: PChar; bpb_length: PWord): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_blob_info: function(user_status: PISCStatus; blob_handle: PIscBlobHandle; item_length: Smallint; items: PChar; buffer_length: Smallint; buffer: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_blob_lookup_desc: function(status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; relation_name, field_name: PChar; desc: PISCBlobDesc; global: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_blob_set_desc: function(status: PISCStatus; relation_name, field_name: PChar; subtype, charset, segment_size: Smallint; desc: PISCBlobDesc): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_cancel_blob: function(user_status: PISCStatus; blob_handle: PIscBlobHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_cancel_events: function(user_status: PISCStatus; handle: PIscDbHandle; id: PISCLong): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_close: function(user_status: PISCStatus; name: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_close_blob: function(user_status: PISCStatus; blob_handle: PIscBlobHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_commit_retaining: function(user_status: PISCStatus; tra_handle: PIscTrHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_commit_transaction: function(user_status: PISCStatus; tra_handle: PIscTrHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_compile_request: function(user_status: PISCStatus; db_handle: PIscDbHandle; req_handle: PIscReqHandle; blr_length: Smallint; blr: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_compile_request2: function(user_status: PISCStatus; db_handle: PIscDbHandle; req_handle: PIscReqHandle; blr_length: Smallint; blr: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_create_blob: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; blob_handle: PIscBlobHandle; blob_id: PISCQuad): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_create_blob2: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; blob_handle: PIscBlobHandle; blob_id: PISCQuad; bpb_length: Smallint; bpb: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_create_database: function(user_status: PISCStatus; file_length: Smallint; file_name: PChar; handle: PIscDbHandle; dpb_length: Smallint; dpb: PChar; db_type: Smallint): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_database_info: function(user_status: PISCStatus; handle: PIscDbHandle; item_length: Smallint; items: PChar; buffer_length: Smallint; buffer: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_ddl: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; length: Smallint; ddl: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_declare: function(user_status: PISCStatus; statement, cursor: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_decode_date: procedure(date: PISCQuad; times: PPointer); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_decode_sql_date: procedure(date: PISCDate; times_arg: PPointer); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_decode_sql_time: procedure(sql_time: PISCTime; times_arg: PPointer); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_decode_timestamp: procedure(date: PISCTimeStamp; times_arg: PPointer); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_delete_user: function(status: PISCStatus; user_data: PUserSecData): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_describe: function(user_status: PISCStatus; name: PChar; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_describe_bind: function(user_status: PISCStatus; name: PChar; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_detach_database: function(user_status: PISCStatus; handle: PIscDbHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_drop_database: function(user_status: PISCStatus; handle: PIscDbHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_alloc_statement2: function(user_status: PISCStatus; db_handle: PIscDbHandle; stmt_handle: PIscStmtHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_allocate_statement: function(user_status: PISCStatus; db_handle: PIscDbHandle; stmt_handle: PIscStmtHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_describe: function(user_status: PISCStatus; stmt_handle: PIscStmtHandle; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_describe_bind: function(user_status: PISCStatus; stmt_handle: PIscStmtHandle; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_exec_immed2: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; length: Word; string_: PChar; dialect: Word; in_sqlda, out_sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_exec_immed3_m: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; Length: Word; string_: PChar; dialect, in_blr_length: Word; in_blr: PChar; in_msg_type, in_msg_length: Word; in_msg: PChar; out_blr_length: Word; out_blr: PChar; out_msg_type, out_msg_length: Word; out_msg: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_execute: function(user_status: PISCStatus; tra_handle: PIscTrHandle; stmt_handle: PIscStmtHandle; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_execute_immediate: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; length: Word; string_: PChar; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_execute_immediate_m: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; length: Word; string_: PChar; dialect, blr_length: Word; blr: PChar; msg_type, msg_length: Word; msg: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_execute_m: function(user_status: PISCStatus; tra_handle: PIscTrHandle; stmt_handle: PIscStmtHandle; blr_length: Word; blr: PChar; msg_type, msg_length: Word; msg: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_execute2: function(user_status: PISCStatus; tra_handle: PIscTrHandle; stmt_handle: PIscStmtHandle; dialect: Word; in_sqlda, out_sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_execute2_m: function(user_status: PISCStatus; tra_handle: PIscTrHandle; stmt_handle: PIscStmtHandle; in_blr_length: Word; in_blr: PChar; in_msg_type, in_msg_length: Word; in_msg: PChar; out_blr_length: Word; out_blr: PChar; out_msg_type, out_msg_length: Word; out_msg: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_fetch: function(user_status: PISCStatus; stmt_handle: PIscStmtHandle; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_fetch_m: function(user_status: PISCStatus; stmt_handle: PIscStmtHandle; blr_length: Word; blr: PChar; msg_type, msg_length: Word; msg: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_finish: function(db_handle: PIscDbHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_free_statement: function(user_status: PISCStatus; stmt_handle: PIscStmtHandle; option: Word): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_insert: function(user_status: PISCStatus; stmt_handle: PIscStmtHandle; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_insert_m: function(user_status: PISCStatus; stmt_handle: PIscStmtHandle; blr_length: Word; blr: PChar; msg_type, msg_length: Word; msg: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_prepare: function(user_status: PISCStatus; tra_handle: PIscTrHandle; stmt_handle: PIscStmtHandle; length: Word; string_: PChar; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_prepare_m: function(user_status: PISCStatus; tra_handle: PIscTrHandle; stmt_handle: PIscStmtHandle; length: Word; string_: PChar; dialect, item_length: Word; items: PChar; buffer_length: Word; buffer: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_release: function(user_status: PISCStatus; name: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_set_cursor_name: function(user_status: PISCStatus; stmt_handle: PIscStmtHandle; cursor: PChar; type_: Word): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_dsql_sql_info: function(user_status: PISCStatus; stmt_handle: PIscStmtHandle; item_length: Smallint; items: PChar; buffer_length: Smallint; buffer: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_close: function(user_status: PISCStatus; name: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_declare: function(user_status: PISCStatus; stmt_name, cursor: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_describe: function(user_status: PISCStatus; stmt_name: PChar; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_describe_bind: function(user_status: PISCStatus; stmt_name: PChar; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_execute: function(user_status: PISCStatus; trans_handle: PIscTrHandle; stmt_name: PChar; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_execute_immed: function(user_status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; length: Word; string_: PChar; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_execute2: function(user_status: PISCStatus; trans_handle: PIscTrHandle; stmt_name: PChar; dialect: Word; in_sqlda, out_sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_fetch: function(user_status: PISCStatus; cursor_name: PChar; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_insert: function(user_status: PISCStatus; cursor_name: PChar; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_open: function(user_status: PISCStatus; trans_handle: PIscTrHandle; cursor_name: PChar; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_open2: function(user_status: PISCStatus; trans_handle: PIscTrHandle; cursor_name: PChar; dialect: Word; in_sqlda, out_sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_prepare: function(user_status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; stmt_name: PChar; length: Word; string_: PChar; dialect: Word; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_embed_dsql_release: function(user_status: PISCStatus; stmt_name: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_encode_date: procedure(times: PPointer; date: PISCQuad); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_encode_sql_date: procedure(times_arg: PPointer; date: PISCDate); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_encode_sql_time: procedure(times_arg: PPointer; isc_time: PISCTime); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_encode_timestamp: procedure(times_arg: PPointer; date: PISCTimeStamp); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_event_block: function(event_buffer, result_buffer: PPChar; count: Word; name_buffer: PPChar): ISCLong; cdecl; isc_event_counts: procedure(result_vector: PISCULong; buffer_length: Smallint; event_buffer, result_buffer: PChar); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_execute: function(user_status: PISCStatus; trans_handle: PIscTrHandle; name: PChar; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_execute_immediate: function(user_status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; length: PSmallint; string_: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_expand_dpb: procedure(dpb: PPChar; dpb_size: PSmallint; name_buffer: PPChar); cdecl; isc_fetch: function(user_status: PISCStatus; name: PChar; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_free: function(blk: PChar): ISCLong; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_ftof: function(string_: PChar; length1: Word; field: PChar; length2: Word): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_get_segment: function(user_status: PISCStatus; blob_handle: PIscBlobHandle; length: PWord; buffer_length: Word; buffer: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_get_slice: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; array_id: PISCQuad; sdl_length: Smallint; sdl: PChar; param_length: Smallint; param: PISCLong; slice_length: ISCLong; slice: PPointer; return_length: PISCLong): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_interprete: function(buffer: PChar; status_vector: PPISCStatus): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_modify_dpb: function(dpb: PPChar; dpb_length: PSmallint; type_: Word; str: PChar; str_len: Smallint): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_modify_user: function(status: PISCStatus; user_data: PUserSecData): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_open: function(user_status: PISCStatus; trans_handle: PIscTrHandle; name: PChar; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_open_blob: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; blob_handle: PIscBlobHandle; blob_id: PISCQuad): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_open_blob2: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; blob_handle: PIscBlobHandle; blob_id: PISCQuad; bpb_length: Word; bpb: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_portable_integer: function(ptr: PChar; length: Smallint): ISCInt64; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_prepare: function(user_status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; name: PChar; length: PSmallint; string_: PChar; sqlda: PXSQLDA): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_prepare_transaction: function(user_status: PISCStatus; tra_handle: PIscTrHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_prepare_transaction2: function(user_status: PISCStatus; tra_handle: PIscTrHandle; msg_length: ISCUShort; msg: PISCUChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_print_blr: function(blr: PChar; callback: IscCallback; callback_argument: PPointer; language: Smallint): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_print_sqlerror: procedure(sqlcode: ISCShort; status_vector: PISCStatus); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_print_status: function(status_vector: PISCStatus): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_put_segment: function(user_status: PISCStatus; blob_handle: PIscBlobHandle; buffer_length: Word; buffer: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_put_slice: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; array_id: PISCQuad; sdl_length: Smallint; sdl: PChar; param_length: Smallint; param: PISCLong; slice_length: ISCLong; slice: PPointer): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_qtoq: procedure(quad1, quad2: PISCQuad); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_que_events: function(user_status: PISCStatus; handle: PIscDbHandle; id: PISCLong; length: ISCUShort; events: PISCUChar; ast: IscCallback; arg: PPointer): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_receive: function(user_status: PISCStatus; req_handle: PIscReqHandle; msg_type, msg_length: Smallint; msg: PPointer; level: Smallint): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_reconnect_transaction: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; length: Smallint; id: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_release_request: function(user_status: PISCStatus; req_handle: PIscReqHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_request_info: function(user_status: PISCStatus; req_handle: PIscReqHandle; level, item_length: Smallint; items: PChar; buffer_length: Smallint; buffer: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_rollback_retaining: function(status_vector: PISCStatus; trans_handle: PIscTrHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_rollback_transaction: function(user_status: PISCStatus; tra_handle: PIscTrHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_seek_blob: function(user_status: PISCStatus; blob_handle: PIscBlobHandle; mode: Smallint; offset: ISCLong; Result_: PISCLong): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_send: function(user_status: PISCStatus; req_handle: PIscReqHandle; msg_type, msg_length: Smallint; msg: PPointer; level: Smallint): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_service_attach: function(status_vector: PISCStatus; service_length: Word; service_name: PChar; handle: PIscSvcHandle; spb_length: Word; spb: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_service_detach: function(status_vector: PISCStatus; handle: PIscSvcHandle): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_service_query: function(status_vector: PISCStatus; svc_handle: PIscSvcHandle; reserved: PIscResvHandle; send_spb_length: Word; send_spb: PChar; request_spb_length: Word; request_spb: PChar; buffer_length: Word; buffer: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_service_start: function(status_vector: PISCStatus; svc_handle: PIscSvcHandle; reserved: PIscResvHandle; spb_length: Word; spb: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} {$IFDEF INTERBASEORFIREBIRD} isc_set_debug: procedure(flag: Integer); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} {$ENDIF INTERBASEORFIREBIRD} isc_sql_interprete: procedure(SQLCODE: Smallint; buffer: PChar; buffer_length: Smallint); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_sqlcode: function(user_status: PISCStatus): ISCLong; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_start_and_send: function(user_status: PISCStatus; req_handle: PIscReqHandle; tra_handle: PIscTrHandle; msg_type, msg_length: Smallint; msg: PPointer; level: Smallint): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_start_multiple: function(user_status: PISCStatus; tra_handle: PIscTrHandle; count: Smallint; vector: PISCTEB): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_start_request: function(user_status: PISCStatus; req_handle: PIscReqHandle; tra_handle: PIscTrHandle; level: Smallint): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_start_transaction: function(user_status: PISCStatus; tra_handle: PIscTrHandle; count: Smallint; db_handle: PIscDbHandle; tpb_length: ISCUShort; tpb_ad: PChar): ISCStatus; cdecl; isc_transact_request: function(user_status: PISCStatus; db_handle: PIscDbHandle; tra_handle: PIscTrHandle; blr_length: Word; blr: PChar; in_msg_length: Word; in_msg: PChar; out_msg_length: Word; out_msg: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_transaction_info: function(user_status: PISCStatus; tra_handle: PIscTrHandle; item_length: Smallint; items: PChar; buffer_length: Smallint; buffer: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_unwind_request: function(user_status: PISCStatus; req_handle: PIscTrHandle; level: Smallint): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_vax_integer: function(ptr: PChar; length: Smallint): ISCLong; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_version: function(db_handle: PIscDbHandle; callback: IscCallback; callback_argument: PPointer): Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_vtof: procedure(string1, string2: PChar; length: Word); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_vtov: procedure(string1, string2: PChar; length: Smallint); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_wait_for_event: function(user_status: PISCStatus; handle: PIscDbHandle; length: Smallint; events, buffer: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} {$IFDEF FB15_UP} isc_reset_fpe: function(fpe_status: Word): ISCLong; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} {$ENDIF FB15_UP} {$IFDEF IB7_UP} isc_array_gen_sdl2: function(status: PISCStatus; desc: PISCArrayDescV2; sdl_buffer_length: PSmallInt; sdl_buffer: PChar; sdl_length: PSmallInt): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_array_get_slice2: function(status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; array_id: PISCQuad; desc: PISCArrayDescV2; array_: PPointer; slice_length: PISCLong): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_array_lookup_bounds2: function(status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; relation_name, field_name: PChar; desc: PISCArrayDescV2): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_array_lookup_desc2: function(status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; relation_name, field_name: PChar; desc: PISCArrayDescV2): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_array_put_slice2: function(status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; array_id: PISCQuad; desc: PISCArrayDescV2; array_: PPointer; slice_length: PISCLong): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_array_set_desc2: function(status: PISCStatus; relation_name, field_name: PChar; sql_dtype, sql_length, dimensions: PSmallint; desc: PISCArrayDescV2): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_blob_default_desc2: procedure(desc: PISCBlobDescV2; relation_name, field_name: PChar); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_blob_gen_bpb2: function(status: PISCStatus; to_desc, from_desc: PISCBlobDescV2; bpb_buffer_length: Word; bpb_buffer: PChar; bpb_length: PWord): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_blob_lookup_desc2: function(status: PISCStatus; db_handle: PIscDbHandle; trans_handle: PIscTrHandle; relation_name, field_name: PChar; desc: PISCBlobDescV2; global: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_blob_set_desc2: function(status: PISCStatus; relation_name, field_name: PChar; subtype, charset, segment_size: Smallint; desc: PISCBlobDescV2): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} {$ENDIF IB7_UP} {$IFDEF IB7ORFB15} isc_get_client_version: procedure(version: PChar); {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_get_client_major_version: function: Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_get_client_minor_version: function: Integer; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} {$ENDIF IB7ORFB15} {$IFDEF IB71_UP} isc_release_savepoint: function(status: PISCStatus; TrHandle: PIscTrHandle; name: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_rollback_savepoint: function(status: PISCStatus; TrHandle: PIscTrHandle; name: PChar; Option: Word): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} isc_start_savepoint: function(status: PISCStatus; TrHandle: PIscTrHandle; name: PChar): ISCStatus; {$IFDEF LINUX} cdecl; {$ELSE} stdcall; {$ENDIF} {$ENDIF IB71_UP} procedure Lock; procedure UnLock; public constructor Create; virtual; destructor Destroy; override; function getb(p: PBStream): Char; function putb(x: Char; p: PBStream): Integer; function putbx(x: Char; p: PBStream): Integer; function Loaded: Boolean; function Unload: Boolean; function Load(const lib: string = GDS32DLL): Boolean; end; {$IFDEF USEJVCL} {$IFDEF UNITVERSIONING} const UnitVersioning: TUnitVersionInfo = ( RCSfile: '$URL: https://jvcl.svn.sourceforge.net/svnroot/jvcl/tags/JVCL3_32/run/JvUIBase.pas $'; Revision: '$Revision: 10612 $'; Date: '$Date: 2006-05-19 21:04:09 +0200 (ven., 19 mai 2006) $'; LogPath: 'JVCL\run' ); {$ENDIF UNITVERSIONING} {$ENDIF USEJVCL} implementation uses JvUIBConst; (******************************************************************************* * MACROS * *******************************************************************************) //#define XSQLDA_LENGTH(n) (sizeof (XSQLDA) + ((n)-1) * sizeof (XSQLVAR)) function XSQLDA_LENGTH(n: Integer): Integer; begin Result := SizeOf(TXSQLDA) + ((n - 1) * SizeOf(TXSQLVAR)); end; //#define ADD_SPB_LENGTH(p, length) {*(p)++ = (length); \ // *(p)++ = (length) >> 8;} procedure ADD_SPB_LENGTH(var p: PChar; length: Integer); begin p^ := Char(length); Inc(p); p^ := Char(length shr 8); Inc(p); end; //#define ADD_SPB_NUMERIC(p, data) {*(p)++ = (data); \ // *(p)++ = (data) >> 8; \ // *(p)++ = (data) >> 16; \ // *(p)++ = (data) >> 24;} procedure ADD_SPB_NUMERIC(var p: PChar; data: Integer); begin p^ := Char(data); Inc(p); p^ := Char(data shr 8); Inc(p); p^ := Char(data shr 16); Inc(p); p^ := Char(data shr 24); Inc(p); end; //=== { TUIBLibrary } ======================================================== constructor TUIBaseLibrary.Create; begin FLIBCritSec := TCriticalSection.Create; {$IFDEF MSWINDOWS} FGDS32Lib := 0; {$ENDIF MSWINDOWS} {$IFDEF LINUX} FCryptLib := nil; FGDS32Lib := nil; {$ENDIF LINUX} end; // getb(p) (--(p)->bstr_cnt >= 0 ? *(p)->bstr_ptr++ & 0377: BLOB_get (p)) function TUIBaseLibrary.getb(p: PBStream): Char; begin Dec(p^.bstr_cnt); if p^.bstr_cnt >= 0 then begin // (rom) fixed bug with octal value Result := Char(Integer(p^.bstr_ptr^) and $FF); Inc(p^.bstr_ptr); end else Result := Char(BLOB_get(p)); end; //#define putb(x,p) (((x) == '\n' || (!(--(p)->bstr_cnt))) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x)))) // (rom) several macro conversion bugs fixed here function TUIBaseLibrary.putb(x: Char; p: PBStream): Integer; begin // (rom) this is not a 1:1 conversion of the above macro, but it is // (rom) correct, because BLOB_put reinitializes bstr_cnt Dec(p^.bstr_cnt); if (x = #10) or (p^.bstr_cnt = 0) then Result := BLOB_put(x, p) else begin p^.bstr_ptr^ := Char(x); // (rom) the pointer is incremented here not the value it points to Inc(p^.bstr_ptr); Result := Cardinal(x); end; end; //#define putbx(x,p) ((!(--(p)->bstr_cnt)) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x)))) function TUIBaseLibrary.putbx(x: Char; p: PBStream): Integer; begin Dec(p^.bstr_cnt); if p^.bstr_cnt = 0 then Result := BLOB_put(x, p) else begin p^.bstr_ptr^ := Char(x); // (rom) the pointer is incremented here not the value it points to Inc(p^.bstr_ptr); Result := Cardinal(x); end; end; function TUIBaseLibrary.Loaded: Boolean; begin {$IFDEF MSWINDOWS} Result := FGDS32Lib > HINSTANCE_ERROR; {$ENDIF MSWINDOWS} {$IFDEF LINUX} Result := FGDS32Lib <> nil; {$ENDIF LINUX} end; function TUIBaseLibrary.Unload: Boolean; begin Lock; try Result := True; if Loaded then begin {$IFDEF MSWINDOWS} Result := Boolean(FreeLibrary(FGDS32Lib)); FGDS32Lib := 0; {$ENDIF MSWINDOWS} {$IFDEF LINUX} FGDS32Lib := nil; if FCryptLib <> nil then begin dlclose(FCryptLib); FCryptLib := nil; end; {$ENDIF LINUX} BLOB_close := nil; {$IFDEF INTERBASEORFIREBIRD} BLOB_display := nil; {$ENDIF INTERBASEORFIREBIRD} BLOB_dump := nil; BLOB_edit := nil; BLOB_get := nil; BLOB_load := nil; BLOB_open := nil; BLOB_put := nil; BLOB_text_dump := nil; BLOB_text_load := nil; Bopen := nil; isc_add_user := nil; isc_array_gen_sdl := nil; isc_array_get_slice := nil; isc_array_lookup_bounds := nil; isc_array_lookup_desc := nil; isc_array_put_slice := nil; isc_array_set_desc := nil; isc_attach_database := nil; isc_blob_default_desc := nil; isc_blob_gen_bpb := nil; isc_blob_info := nil; isc_blob_lookup_desc := nil; isc_blob_set_desc := nil; isc_cancel_blob := nil; isc_cancel_events := nil; isc_close := nil; isc_close_blob := nil; isc_commit_retaining := nil; isc_commit_transaction := nil; isc_compile_request := nil; isc_compile_request2 := nil; isc_create_blob := nil; isc_create_blob2 := nil; isc_create_database := nil; isc_database_info := nil; isc_ddl := nil; isc_declare := nil; isc_decode_date := nil; isc_decode_sql_date := nil; isc_decode_sql_time := nil; isc_decode_timestamp := nil; isc_delete_user := nil; isc_describe := nil; isc_describe_bind := nil; isc_detach_database := nil; isc_drop_database := nil; isc_dsql_alloc_statement2 := nil; isc_dsql_allocate_statement := nil; isc_dsql_describe := nil; isc_dsql_describe_bind := nil; isc_dsql_exec_immed2 := nil; isc_dsql_exec_immed3_m := nil; isc_dsql_execute := nil; isc_dsql_execute_immediate := nil; isc_dsql_execute_immediate_m := nil; isc_dsql_execute_m := nil; isc_dsql_execute2 := nil; isc_dsql_execute2_m := nil; isc_dsql_fetch := nil; isc_dsql_fetch_m := nil; isc_dsql_finish := nil; isc_dsql_free_statement := nil; isc_dsql_insert := nil; isc_dsql_insert_m := nil; isc_dsql_prepare := nil; isc_dsql_prepare_m := nil; isc_dsql_release := nil; isc_dsql_set_cursor_name := nil; isc_dsql_sql_info := nil; isc_embed_dsql_close := nil; isc_embed_dsql_declare := nil; isc_embed_dsql_describe := nil; isc_embed_dsql_describe_bind := nil; isc_embed_dsql_execute := nil; isc_embed_dsql_execute_immed := nil; isc_embed_dsql_execute2 := nil; isc_embed_dsql_fetch := nil; isc_embed_dsql_insert := nil; isc_embed_dsql_open := nil; isc_embed_dsql_open2 := nil; isc_embed_dsql_prepare := nil; isc_embed_dsql_release := nil; isc_encode_date := nil; isc_encode_sql_date := nil; isc_encode_sql_time := nil; isc_encode_timestamp := nil; isc_event_block := nil; isc_event_counts := nil; isc_execute := nil; isc_execute_immediate := nil; isc_expand_dpb := nil; isc_fetch := nil; isc_free := nil; isc_ftof := nil; isc_get_segment := nil; isc_get_slice := nil; isc_interprete := nil; isc_modify_dpb := nil; isc_modify_user := nil; isc_open := nil; isc_open_blob := nil; isc_open_blob2 := nil; isc_portable_integer := nil; isc_prepare := nil; isc_prepare_transaction := nil; isc_prepare_transaction2 := nil; isc_print_blr := nil; isc_print_sqlerror := nil; isc_print_status := nil; isc_put_segment := nil; isc_put_slice := nil; isc_qtoq := nil; isc_que_events := nil; isc_receive := nil; isc_reconnect_transaction := nil; isc_release_request := nil; isc_request_info := nil; isc_rollback_retaining := nil; isc_rollback_transaction := nil; isc_seek_blob := nil; isc_send := nil; isc_service_attach := nil; isc_service_detach := nil; isc_service_query := nil; isc_service_start := nil; {$IFDEF INTERBASEORFIREBIRD} isc_set_debug := nil; {$ENDIF INTERBASEORFIREBIRD} isc_sql_interprete := nil; isc_sqlcode := nil; isc_start_and_send := nil; isc_start_multiple := nil; isc_start_request := nil; isc_start_transaction := nil; isc_transact_request := nil; isc_transaction_info := nil; isc_unwind_request := nil; isc_vax_integer := nil; isc_version := nil; isc_vtof := nil; isc_vtov := nil; isc_wait_for_event := nil; {$IFDEF FB15_UP} isc_reset_fpe := nil; {$ENDIF FB15_UP} {$IFDEF IB7_UP} isc_array_gen_sdl2 := nil; isc_array_gen_sdl2 := nil; isc_array_get_slice2 := nil; isc_array_lookup_bounds2 := nil; isc_array_lookup_desc2 := nil; isc_array_put_slice2 := nil; isc_array_set_desc2 := nil; isc_blob_default_desc2 := nil; isc_blob_gen_bpb2 := nil; isc_blob_lookup_desc2 := nil; isc_blob_set_desc2 := nil; {$ENDIF IB7_UP} {$IFDEF IB7ORFB15} isc_get_client_version := nil; isc_get_client_major_version := nil; isc_get_client_minor_version := nil; {$ENDIF IB7ORFB15} {$IFDEF IB71_UP} isc_release_savepoint := nil; isc_rollback_savepoint := nil; isc_start_savepoint := nil; {$ENDIF IB71_UP} end; finally UnLock; end; end; {$IFDEF FPC} {$IFDEF LINUX} const RTLD_GLOBAL = $101; {$ENDIF LINUX} {$ENDIF FPC} function TUIBaseLibrary.Load(const lib: string = GDS32DLL): Boolean; {$IFDEF LINUX} function GetProcAddress(Lib: Pointer; Name: PChar): Pointer; begin Result := dlsym(Lib, Name); end; {$ENDIF LINUX} begin FLIBCritSec.Enter; try Result := Loaded; if not Result then begin {$IFDEF MSWINDOWS} FGDS32Lib := LoadLibrary(PChar(lib)); {$ENDIF MSWINDOWS} {$IFDEF LINUX} FCryptLib := dlopen('libcrypt.so', RTLD_GLOBAL); // Service FGDS32Lib := dlopen(PChar(lib), RTLD_GLOBAL); {$ENDIF LINUX} if Loaded then begin BLOB_close := GetProcAddress(FGDS32Lib, 'BLOB_close'); {$IFDEF INTERBASEORFIREBIRD} BLOB_display := GetProcAddress(FGDS32Lib, 'BLOB_display'); {$ENDIF INTERBASEORFIREBIRD} BLOB_dump := GetProcAddress(FGDS32Lib, 'BLOB_dump'); BLOB_edit := GetProcAddress(FGDS32Lib, 'BLOB_edit'); BLOB_get := GetProcAddress(FGDS32Lib, 'BLOB_get'); BLOB_load := GetProcAddress(FGDS32Lib, 'BLOB_load'); BLOB_open := GetProcAddress(FGDS32Lib, 'BLOB_open'); BLOB_put := GetProcAddress(FGDS32Lib, 'BLOB_put'); BLOB_text_dump := GetProcAddress(FGDS32Lib, 'BLOB_text_dump'); BLOB_text_load := GetProcAddress(FGDS32Lib, 'BLOB_text_load'); Bopen := GetProcAddress(FGDS32Lib, 'Bopen'); isc_add_user := GetProcAddress(FGDS32Lib, 'isc_add_user'); isc_array_gen_sdl := GetProcAddress(FGDS32Lib, 'isc_array_gen_sdl'); isc_array_get_slice := GetProcAddress(FGDS32Lib, 'isc_array_get_slice'); isc_array_lookup_bounds := GetProcAddress(FGDS32Lib, 'isc_array_lookup_bounds'); isc_array_lookup_desc := GetProcAddress(FGDS32Lib, 'isc_array_lookup_desc'); isc_array_put_slice := GetProcAddress(FGDS32Lib, 'isc_array_put_slice'); isc_array_set_desc := GetProcAddress(FGDS32Lib, 'isc_array_set_desc'); isc_attach_database := GetProcAddress(FGDS32Lib, 'isc_attach_database'); isc_blob_default_desc := GetProcAddress(FGDS32Lib, 'isc_blob_default_desc'); isc_blob_gen_bpb := GetProcAddress(FGDS32Lib, 'isc_blob_gen_bpb'); isc_blob_info := GetProcAddress(FGDS32Lib, 'isc_blob_info'); isc_blob_lookup_desc := GetProcAddress(FGDS32Lib, 'isc_blob_lookup_desc'); isc_blob_set_desc := GetProcAddress(FGDS32Lib, 'isc_blob_set_desc'); isc_cancel_blob := GetProcAddress(FGDS32Lib, 'isc_cancel_blob'); isc_cancel_events := GetProcAddress(FGDS32Lib, 'isc_cancel_events'); isc_close := GetProcAddress(FGDS32Lib, 'isc_close'); isc_close_blob := GetProcAddress(FGDS32Lib, 'isc_close_blob'); isc_commit_retaining := GetProcAddress(FGDS32Lib, 'isc_commit_retaining'); isc_commit_transaction := GetProcAddress(FGDS32Lib, 'isc_commit_transaction'); isc_compile_request := GetProcAddress(FGDS32Lib, 'isc_compile_request'); isc_compile_request2 := GetProcAddress(FGDS32Lib, 'isc_compile_request2'); isc_create_blob := GetProcAddress(FGDS32Lib, 'isc_create_blob'); isc_create_blob2 := GetProcAddress(FGDS32Lib, 'isc_create_blob2'); isc_create_database := GetProcAddress(FGDS32Lib, 'isc_create_database'); isc_database_info := GetProcAddress(FGDS32Lib, 'isc_database_info'); isc_ddl := GetProcAddress(FGDS32Lib, 'isc_ddl'); isc_declare := GetProcAddress(FGDS32Lib, 'isc_declare'); isc_decode_date := GetProcAddress(FGDS32Lib, 'isc_decode_date'); isc_decode_sql_date := GetProcAddress(FGDS32Lib, 'isc_decode_sql_date'); isc_decode_sql_time := GetProcAddress(FGDS32Lib, 'isc_decode_sql_time'); isc_decode_timestamp := GetProcAddress(FGDS32Lib, 'isc_decode_timestamp'); isc_delete_user := GetProcAddress(FGDS32Lib, 'isc_delete_user'); isc_describe := GetProcAddress(FGDS32Lib, 'isc_describe'); isc_describe_bind := GetProcAddress(FGDS32Lib, 'isc_describe_bind'); isc_detach_database := GetProcAddress(FGDS32Lib, 'isc_detach_database'); isc_drop_database := GetProcAddress(FGDS32Lib, 'isc_drop_database'); isc_dsql_alloc_statement2 := GetProcAddress(FGDS32Lib, 'isc_dsql_alloc_statement2'); isc_dsql_allocate_statement := GetProcAddress(FGDS32Lib, 'isc_dsql_allocate_statement'); isc_dsql_describe := GetProcAddress(FGDS32Lib, 'isc_dsql_describe'); isc_dsql_describe_bind := GetProcAddress(FGDS32Lib, 'isc_dsql_describe_bind'); isc_dsql_exec_immed2 := GetProcAddress(FGDS32Lib, 'isc_dsql_exec_immed2'); isc_dsql_exec_immed3_m := GetProcAddress(FGDS32Lib, 'isc_dsql_exec_immed3_m'); isc_dsql_execute := GetProcAddress(FGDS32Lib, 'isc_dsql_execute'); isc_dsql_execute_immediate := GetProcAddress(FGDS32Lib, 'isc_dsql_execute_immediate'); isc_dsql_execute_immediate_m := GetProcAddress(FGDS32Lib, 'isc_dsql_execute_immediate_m'); isc_dsql_execute_m := GetProcAddress(FGDS32Lib, 'isc_dsql_execute_m'); isc_dsql_execute2 := GetProcAddress(FGDS32Lib, 'isc_dsql_execute2'); isc_dsql_execute2_m := GetProcAddress(FGDS32Lib, 'isc_dsql_execute2_m'); isc_dsql_fetch := GetProcAddress(FGDS32Lib, 'isc_dsql_fetch'); isc_dsql_fetch_m := GetProcAddress(FGDS32Lib, 'isc_dsql_fetch_m'); isc_dsql_finish := GetProcAddress(FGDS32Lib, 'isc_dsql_finish'); isc_dsql_free_statement := GetProcAddress(FGDS32Lib, 'isc_dsql_free_statement'); isc_dsql_insert := GetProcAddress(FGDS32Lib, 'isc_dsql_insert'); isc_dsql_insert_m := GetProcAddress(FGDS32Lib, 'isc_dsql_insert_m'); isc_dsql_prepare := GetProcAddress(FGDS32Lib, 'isc_dsql_prepare'); isc_dsql_prepare_m := GetProcAddress(FGDS32Lib, 'isc_dsql_prepare_m'); isc_dsql_release := GetProcAddress(FGDS32Lib, 'isc_dsql_release'); isc_dsql_set_cursor_name := GetProcAddress(FGDS32Lib, 'isc_dsql_set_cursor_name'); isc_dsql_sql_info := GetProcAddress(FGDS32Lib, 'isc_dsql_sql_info'); isc_embed_dsql_close := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_close'); isc_embed_dsql_declare := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_declare'); isc_embed_dsql_describe := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_describe'); isc_embed_dsql_describe_bind := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_describe_bind'); isc_embed_dsql_execute := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_execute'); isc_embed_dsql_execute_immed := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_execute_immed'); isc_embed_dsql_execute2 := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_execute2'); isc_embed_dsql_fetch := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_fetch'); isc_embed_dsql_insert := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_insert'); isc_embed_dsql_open := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_open'); isc_embed_dsql_open2 := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_open2'); isc_embed_dsql_prepare := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_prepare'); isc_embed_dsql_release := GetProcAddress(FGDS32Lib, 'isc_embed_dsql_release'); isc_encode_date := GetProcAddress(FGDS32Lib, 'isc_encode_date'); isc_encode_sql_date := GetProcAddress(FGDS32Lib, 'isc_encode_sql_date'); isc_encode_sql_time := GetProcAddress(FGDS32Lib, 'isc_encode_sql_time'); isc_encode_timestamp := GetProcAddress(FGDS32Lib, 'isc_encode_timestamp'); isc_event_block := GetProcAddress(FGDS32Lib, 'isc_event_block'); isc_event_counts := GetProcAddress(FGDS32Lib, 'isc_event_counts'); isc_execute := GetProcAddress(FGDS32Lib, 'isc_execute'); isc_execute_immediate := GetProcAddress(FGDS32Lib, 'isc_execute_immediate'); isc_expand_dpb := GetProcAddress(FGDS32Lib, 'isc_expand_dpb'); isc_fetch := GetProcAddress(FGDS32Lib, 'isc_fetch'); isc_free := GetProcAddress(FGDS32Lib, 'isc_free'); isc_ftof := GetProcAddress(FGDS32Lib, 'isc_ftof'); isc_get_segment := GetProcAddress(FGDS32Lib, 'isc_get_segment'); isc_get_slice := GetProcAddress(FGDS32Lib, 'isc_get_slice'); isc_interprete := GetProcAddress(FGDS32Lib, 'isc_interprete'); isc_modify_dpb := GetProcAddress(FGDS32Lib, 'isc_modify_dpb'); isc_modify_user := GetProcAddress(FGDS32Lib, 'isc_modify_user'); isc_open := GetProcAddress(FGDS32Lib, 'isc_open'); isc_open_blob := GetProcAddress(FGDS32Lib, 'isc_open_blob'); isc_open_blob2 := GetProcAddress(FGDS32Lib, 'isc_open_blob2'); isc_portable_integer := GetProcAddress(FGDS32Lib, 'isc_portable_integer'); isc_prepare := GetProcAddress(FGDS32Lib, 'isc_prepare'); isc_prepare_transaction := GetProcAddress(FGDS32Lib, 'isc_prepare_transaction'); isc_prepare_transaction2 := GetProcAddress(FGDS32Lib, 'isc_prepare_transaction2'); isc_print_blr := GetProcAddress(FGDS32Lib, 'isc_print_blr'); isc_print_sqlerror := GetProcAddress(FGDS32Lib, 'isc_print_sqlerror'); isc_print_status := GetProcAddress(FGDS32Lib, 'isc_print_status'); isc_put_segment := GetProcAddress(FGDS32Lib, 'isc_put_segment'); isc_put_slice := GetProcAddress(FGDS32Lib, 'isc_put_slice'); isc_qtoq := GetProcAddress(FGDS32Lib, 'isc_qtoq'); isc_que_events := GetProcAddress(FGDS32Lib, 'isc_que_events'); isc_receive := GetProcAddress(FGDS32Lib, 'isc_receive'); isc_reconnect_transaction := GetProcAddress(FGDS32Lib, 'isc_reconnect_transaction'); isc_release_request := GetProcAddress(FGDS32Lib, 'isc_release_request'); isc_request_info := GetProcAddress(FGDS32Lib, 'isc_request_info'); isc_rollback_retaining := GetProcAddress(FGDS32Lib, 'isc_rollback_retaining'); isc_rollback_transaction := GetProcAddress(FGDS32Lib, 'isc_rollback_transaction'); isc_seek_blob := GetProcAddress(FGDS32Lib, 'isc_seek_blob'); isc_send := GetProcAddress(FGDS32Lib, 'isc_send'); isc_service_attach := GetProcAddress(FGDS32Lib, 'isc_service_attach'); isc_service_detach := GetProcAddress(FGDS32Lib, 'isc_service_detach'); isc_service_query := GetProcAddress(FGDS32Lib, 'isc_service_query'); isc_service_start := GetProcAddress(FGDS32Lib, 'isc_service_start'); {$IFDEF INTERBASEORFIREBIRD} isc_set_debug := GetProcAddress(FGDS32Lib, 'isc_set_debug'); {$ENDIF INTERBASEORFIREBIRD} isc_sql_interprete := GetProcAddress(FGDS32Lib, 'isc_sql_interprete'); isc_sqlcode := GetProcAddress(FGDS32Lib, 'isc_sqlcode'); isc_start_and_send := GetProcAddress(FGDS32Lib, 'isc_start_and_send'); isc_start_multiple := GetProcAddress(FGDS32Lib, 'isc_start_multiple'); isc_start_request := GetProcAddress(FGDS32Lib, 'isc_start_request'); isc_start_transaction := GetProcAddress(FGDS32Lib, 'isc_start_transaction'); isc_transact_request := GetProcAddress(FGDS32Lib, 'isc_transact_request'); isc_transaction_info := GetProcAddress(FGDS32Lib, 'isc_transaction_info'); isc_unwind_request := GetProcAddress(FGDS32Lib, 'isc_unwind_request'); isc_vax_integer := GetProcAddress(FGDS32Lib, 'isc_vax_integer'); isc_version := GetProcAddress(FGDS32Lib, 'isc_version'); isc_vtof := GetProcAddress(FGDS32Lib, 'isc_vtof'); isc_vtov := GetProcAddress(FGDS32Lib, 'isc_vtov'); isc_wait_for_event := GetProcAddress(FGDS32Lib, 'isc_wait_for_event'); {$IFDEF FB15_UP} isc_reset_fpe := GetProcAddress(FGDS32Lib, 'isc_reset_fpe'); {$ENDIF FB15_UP} {$IFDEF IB7_UP} isc_array_gen_sdl2 := GetProcAddress(FGDS32Lib, 'isc_array_gen_sdl2'); isc_array_get_slice2 := GetProcAddress(FGDS32Lib, 'isc_array_get_slice2'); isc_array_lookup_bounds2 := GetProcAddress(FGDS32Lib, 'isc_array_lookup_bounds2'); isc_array_lookup_desc2 := GetProcAddress(FGDS32Lib, 'isc_array_lookup_desc2'); isc_array_put_slice2 := GetProcAddress(FGDS32Lib, 'isc_array_put_slice2'); isc_array_set_desc2 := GetProcAddress(FGDS32Lib, 'isc_array_set_desc2'); isc_blob_default_desc2 := GetProcAddress(FGDS32Lib, 'isc_blob_default_desc2'); isc_blob_gen_bpb2 := GetProcAddress(FGDS32Lib, 'isc_blob_gen_bpb2'); isc_blob_lookup_desc2 := GetProcAddress(FGDS32Lib, 'isc_blob_lookup_desc2'); isc_blob_set_desc2 := GetProcAddress(FGDS32Lib, 'isc_blob_set_desc2'); {$ENDIF IB7_UP} {$IFDEF IB7ORFB15} isc_get_client_version := GetProcAddress(FGDS32Lib, 'isc_get_client_version'); isc_get_client_major_version := GetProcAddress(FGDS32Lib, 'isc_get_client_major_version'); isc_get_client_minor_version := GetProcAddress(FGDS32Lib, 'isc_get_client_minor_version'); {$ENDIF IB7ORFB15} {$IFDEF IB71_UP} isc_release_savepoint := GetProcAddress(FGDS32Lib, 'isc_release_savepoint'); isc_rollback_savepoint := GetProcAddress(FGDS32Lib, 'isc_rollback_savepoint'); isc_start_savepoint := GetProcAddress(FGDS32Lib, 'isc_start_savepoint'); {$ENDIF IB71_UP} Result := Assigned(BLOB_close) and Assigned(BLOB_dump) and Assigned(BLOB_edit) and Assigned(BLOB_get) and Assigned(BLOB_load) and Assigned(BLOB_open) and Assigned(BLOB_put) and Assigned(BLOB_text_dump) and Assigned(BLOB_text_load) and Assigned(Bopen) and Assigned(isc_add_user) and Assigned(isc_array_gen_sdl) and Assigned(isc_array_get_slice) and Assigned(isc_array_lookup_bounds) and Assigned(isc_array_lookup_desc) and Assigned(isc_array_put_slice) and Assigned(isc_array_set_desc) and Assigned(isc_attach_database) and Assigned(isc_blob_default_desc) and Assigned(isc_blob_gen_bpb) and Assigned(isc_blob_info) and Assigned(isc_blob_lookup_desc) and Assigned(isc_blob_set_desc) and Assigned(isc_cancel_blob) and Assigned(isc_cancel_events) and Assigned(isc_close) and Assigned(isc_close_blob) and Assigned(isc_commit_retaining) and Assigned(isc_commit_transaction) and Assigned(isc_compile_request) and Assigned(isc_compile_request2) and Assigned(isc_create_blob) and Assigned(isc_create_blob2) and Assigned(isc_create_database) and Assigned(isc_database_info) and Assigned(isc_ddl) and Assigned(isc_declare) and Assigned(isc_decode_date) and Assigned(isc_decode_sql_date) and Assigned(isc_decode_sql_time) and Assigned(isc_decode_timestamp) and Assigned(isc_delete_user) and Assigned(isc_describe) and Assigned(isc_describe_bind) and Assigned(isc_detach_database) and Assigned(isc_drop_database) and Assigned(isc_dsql_alloc_statement2) and Assigned(isc_dsql_allocate_statement) and Assigned(isc_dsql_describe) and Assigned(isc_dsql_describe_bind) and Assigned(isc_dsql_exec_immed2) and Assigned(isc_dsql_exec_immed3_m) and Assigned(isc_dsql_execute) and Assigned(isc_dsql_execute_immediate) and Assigned(isc_dsql_execute_immediate_m) and Assigned(isc_dsql_execute_m) and Assigned(isc_dsql_execute2) and Assigned(isc_dsql_execute2_m) and Assigned(isc_dsql_fetch) and Assigned(isc_dsql_fetch_m) and Assigned(isc_dsql_finish) and Assigned(isc_dsql_free_statement) and Assigned(isc_dsql_insert) and Assigned(isc_dsql_insert_m) and Assigned(isc_dsql_prepare) and Assigned(isc_dsql_prepare_m) and Assigned(isc_dsql_release) and Assigned(isc_dsql_set_cursor_name) and Assigned(isc_dsql_sql_info) and Assigned(isc_embed_dsql_close) and Assigned(isc_embed_dsql_declare) and Assigned(isc_embed_dsql_describe) and Assigned(isc_embed_dsql_describe_bind) and Assigned(isc_embed_dsql_execute) and Assigned(isc_embed_dsql_execute_immed) and Assigned(isc_embed_dsql_execute2) and Assigned(isc_embed_dsql_fetch) and Assigned(isc_embed_dsql_insert) and Assigned(isc_embed_dsql_open) and Assigned(isc_embed_dsql_open2) and Assigned(isc_embed_dsql_prepare) and Assigned(isc_embed_dsql_release) and Assigned(isc_encode_date) and Assigned(isc_encode_sql_date) and Assigned(isc_encode_sql_time) and Assigned(isc_encode_timestamp) and Assigned(isc_event_block) and Assigned(isc_event_counts) and Assigned(isc_execute) and Assigned(isc_execute_immediate) and Assigned(isc_expand_dpb) and Assigned(isc_free) and Assigned(isc_ftof) and Assigned(isc_get_segment) and Assigned(isc_fetch) and Assigned(isc_get_slice) and Assigned(isc_interprete) and Assigned(isc_modify_dpb) and Assigned(isc_modify_user) and Assigned(isc_open) and Assigned(isc_open_blob) and Assigned(isc_open_blob2) and Assigned(isc_portable_integer) and Assigned(isc_prepare) and Assigned(isc_prepare_transaction) and Assigned(isc_prepare_transaction2) and Assigned(isc_print_blr) and Assigned(isc_print_sqlerror) and Assigned(isc_print_status) and Assigned(isc_put_segment) and Assigned(isc_put_slice) and Assigned(isc_qtoq) and Assigned(isc_que_events) and Assigned(isc_receive) and Assigned(isc_reconnect_transaction) and Assigned(isc_release_request) and Assigned(isc_request_info) and Assigned(isc_rollback_retaining) and Assigned(isc_rollback_transaction) and Assigned(isc_seek_blob) and Assigned(isc_send) and Assigned(isc_service_attach) and Assigned(isc_service_detach) and Assigned(isc_service_query) and Assigned(isc_service_start) and Assigned(isc_sql_interprete) and Assigned(isc_sqlcode) and Assigned(isc_start_and_send) and Assigned(isc_start_multiple) and Assigned(isc_start_request) and Assigned(isc_start_transaction) and Assigned(isc_transact_request) and Assigned(isc_transaction_info) and Assigned(isc_unwind_request) and Assigned(isc_vax_integer) and Assigned(isc_version) and Assigned(isc_vtof) and Assigned(isc_vtov) and Assigned(isc_wait_for_event) {$IFDEF INTERBASEORFIREBIRD} and Assigned(isc_set_debug) and Assigned(BLOB_display) {$ENDIF INTERBASEORFIREBIRD} {$IFDEF FB15_UP} and Assigned(isc_reset_fpe) {$ENDIF FB15_UP} {$IFDEF IB7_UP} and Assigned(isc_array_gen_sdl2) and Assigned(isc_array_get_slice2) and Assigned(isc_array_lookup_bounds2) and Assigned(isc_array_lookup_desc2) and Assigned(isc_array_put_slice2) and Assigned(isc_array_set_desc2) and Assigned(isc_blob_default_desc2) and Assigned(isc_blob_gen_bpb2) and Assigned(isc_blob_lookup_desc2) and Assigned(isc_blob_set_desc2) {$ENDIF IB7_UP} {$IFDEF IB7ORFB15} and Assigned(isc_get_client_version) and Assigned(isc_get_client_major_version) and Assigned(isc_get_client_minor_version) {$ENDIF IB7ORFB15} {$IFDEF IB71_UP} and Assigned(isc_release_savepoint) and Assigned(isc_rollback_savepoint) and Assigned(isc_start_savepoint) {$ENDIF IB71_UP} ; if not Result then begin Unload; raise Exception.Create(EUIB_INVALIDEIBVERSION); end; end else raise Exception.CreateFmt(EUIB_CANTLOADLIB, [lib]); end; finally FLIBCritSec.Leave; end; end; destructor TUIBaseLibrary.Destroy; begin Unload; FLIBCritSec.Free; inherited Destroy; end; procedure TUIBaseLibrary.Lock; begin {$IFDEF UIBTHREADSAFE} FLIBCritSec.Enter; {$ENDIF UIBTHREADSAFE} end; procedure TUIBaseLibrary.UnLock; begin {$IFDEF UIBTHREADSAFE} FLIBCritSec.Leave; {$ENDIF UIBTHREADSAFE} end; {$IFDEF USEJVCL} {$IFDEF UNITVERSIONING} initialization RegisterUnitVersion(HInstance, UnitVersioning); finalization UnregisterUnitVersion(HInstance); {$ENDIF UNITVERSIONING} {$ENDIF USEJVCL} end.