]> git.stg.codes - stg.git/blobdiff - stglibs/ibpp.lib/ibase.h
Port to CMake, get rid of os_int.h.
[stg.git] / stglibs / ibpp.lib / ibase.h
diff --git a/stglibs/ibpp.lib/ibase.h b/stglibs/ibpp.lib/ibase.h
deleted file mode 100644 (file)
index 9c43ba2..0000000
+++ /dev/null
@@ -1,2853 +0,0 @@
-/*\r
- *     MODULE:         ibase.h\r
- *     DESCRIPTION:    OSRI entrypoints and defines\r
- *\r
- * The contents of this file are subject to the Interbase Public\r
- * License Version 1.0 (the "License"); you may not use this file\r
- * except in compliance with the License. You may obtain a copy\r
- * of the License at http://www.Inprise.com/IPL.html\r
- *\r
- * Software distributed under the License is distributed on an\r
- * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express\r
- * or implied. See the License for the specific language governing\r
- * rights and limitations under the License.\r
- *\r
- * The Original Code was created by Inprise Corporation\r
- * and its predecessors. Portions created by Inprise Corporation are\r
- * Copyright (C) Inprise Corporation.\r
- *\r
- * All Rights Reserved.\r
- * Contributor(s): ______________________________________.\r
- * Added TCP_NO_DELAY option for superserver on Linux\r
- * FSG 16.03.2001\r
- * 2001.07.28: John Bellardo:  Added blr_skip\r
- * 2001.09.18: Ann Harrison:   New info codes\r
- * 17-Oct-2001 Mike Nordell: CPU affinity\r
- * 2001-04-16 Paul Beach: ISC_TIME_SECONDS_PRECISION_SCALE modified for HP10\r
- * Compiler Compatibility\r
- * 2002.02.15 Sean Leyne - Code Cleanup, removed obsolete ports:\r
- *                          - EPSON, XENIX, MAC (MAC_AUX), Cray and OS/2\r
- * 2002.10.29 Nickolay Samofatov: Added support for savepoints\r
- *\r
- * 2002.10.29 Sean Leyne - Removed support for obsolete IPX/SPX Protocol\r
- *\r
- */\r
-/*\r
-$Id: ibase.h,v 1.2 2007/05/17 08:39:25 faust Exp $\r
- */\r
-\r
-#ifndef JRD_IBASE_H\r
-#define JRD_IBASE_H\r
-\r
-\r
-/*\r
- *\r
- *  The contents of this file are subject to the Mozilla Public\r
- *  License Version 1.1 (the "License"); you may not use this file\r
- *  except in compliance with the License. You may obtain a copy of\r
- *  the License at http://www.mozilla.org/MPL/\r
- *  Alternatively, the contents of this file may be used under the\r
- *  terms of the GNU General Public License Version 2 or later (the\r
- *  "GPL"), in which case the provisions of the GPL are applicable\r
- *  instead of those above. You may obtain a copy of the Licence at\r
- *  http://www.gnu.org/copyleft/gpl.html\r
- *\r
- *  This program is distributed in the hope that it will be useful,\r
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- *    Relevant for more details.\r
- *\r
- *    This file was created by members of the firebird development team.\r
- *    All individual contributions remain the Copyright (C) of those\r
- *    individuals.  Contributors to this file are either listed here or\r
- *    can be obtained from a CVS history command.\r
- *\r
- *   All rights reserved.\r
- *\r
- *   Contributor(s):\r
- *       Mike Nordel <tamlin@algonet.se>\r
- *       Mark O'Donohue <mark.odonohue@ludwig.edu.au>\r
- *\r
- *\r
- *  $Id: ibase.h,v 1.2 2007/05/17 08:39:25 faust Exp $\r
- *\r
- * 2002.02.15 Sean Leyne - Code Cleanup, removed obsolete "OS/2" port\r
- *\r
- */\r
-\r
-\r
-#ifndef INCLUDE_FB_TYPES_H\r
-#define INCLUDE_FB_TYPES_H\r
-\r
-\r
-/******************************************************************/\r
-/* Define type, export and other stuff based on c/c++ and Windows */\r
-/******************************************************************/\r
-\r
-#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)\r
-#ifndef __GNUC__\r
-typedef __int64                                ISC_INT64;\r
-typedef unsigned __int64       ISC_UINT64;\r
-#define  ISC_INT64_DEFINED\r
-#endif\r
-#define  ISC_EXPORT    __stdcall\r
-#define  ISC_EXPORT_VARARG     __cdecl\r
-#else\r
-#define  ISC_EXPORT\r
-#define  ISC_EXPORT_VARARG\r
-#endif\r
-\r
-/*******************************************************************/\r
-/* 64 bit Integers                                                 */\r
-/*******************************************************************/\r
-\r
-#ifdef  ISC_INT64_DEFINED\r
-#undef  ISC_INT64_DEFINED\r
-#else\r
-//typedef long long int                        ISC_INT64;\r
-//typedef unsigned long long int       ISC_UINT64;\r
-typedef int64_t        ISC_INT64;\r
-typedef uint64_t       ISC_UINT64;\r
-#endif\r
-\r
-// Nickolay: it is easier to assume that integer is at least 32-bit.\r
-// This comes from limitation that we cannot reliably detect datatype size at\r
-// compile time in cases when we do not control compilation (public headers) \r
-// We are not going to support 16-bit platforms, right?\r
-//\r
-// Temporarly restrict new definition until ULONG clash with Windows\r
-// type is solved. Win64 port is not possible before that point.\r
-// Cannot use SIZEOF_LONG define here because we are in a public header\r
-#if defined(_LP64) || defined(__LP64__) || defined(__arch64__)\r
-       /* EKU: Firebird requires (S)LONG to be 32 bit */\r
-#   define LONG_DEFINED\r
-    typedef int SLONG;\r
-    typedef unsigned int ULONG;\r
-#endif /* SIZEOF_LONG == 8 */\r
-\r
-\r
-\r
-/* Basic data types */\r
-\r
-\r
-#ifdef NOT_USED_OR_REPLACED\r
-typedef signed char SCHAR;\r
-#else\r
-/* TMN: TODO It seems SCHAR is used just about *everywhere* where a plain\r
- * "char" is really intended. This currently forces us to this bad definition.\r
- */\r
-typedef char SCHAR;\r
-#endif\r
-\r
-\r
-typedef unsigned char UCHAR;\r
-typedef short SSHORT;\r
-typedef unsigned short USHORT;\r
-\r
-\r
-#ifndef LONG_DEFINED                   /* 32 bit */\r
-typedef long SLONG;\r
-typedef unsigned long ULONG;\r
-#else\r
-#undef LONG_DEFINED\r
-#endif\r
-\r
-\r
-#ifndef SQUAD_DEFINED                  /* 64 bit */\r
-typedef struct {\r
-       SLONG high;\r
-       ULONG low;\r
-} SQUAD;\r
-#endif\r
-\r
-\r
-#ifndef DEFINED_GDS_QUAD\r
-#define DEFINED_GDS_QUAD\r
-struct GDS_QUAD_t {\r
-       SLONG gds_quad_high;\r
-       ULONG gds_quad_low;\r
-};\r
-\r
-typedef struct GDS_QUAD_t GDS_QUAD;\r
-\r
-#endif /* DEFINED_GDS_QUAD */\r
-\r
-//\r
-// TMN: some misc data types from all over the place\r
-//\r
-struct vary\r
-{\r
-       USHORT vary_length;\r
-       char   vary_string[1];\r
-};\r
-// TMN: Currently we can't do this, since remote uses a different\r
-// definition of VARY than the rest of the code! :-<\r
-//typedef vary* VARY;\r
-\r
-struct lstring\r
-{\r
-       ULONG   lstr_length;\r
-       ULONG   lstr_allocated;\r
-       UCHAR*  lstr_address;\r
-};\r
-typedef struct lstring LSTRING;\r
-\r
-\r
-typedef unsigned char BOOLEAN;\r
-typedef char TEXT;                             // To be expunged over time\r
-//typedef unsigned char STEXT; Signed text - not used\r
-//typedef unsigned char UTEXT; Unsigned text - not used\r
-typedef unsigned char BYTE;            // Unsigned byte - common\r
-//typedef char SBYTE;                  Signed byte - not used\r
-typedef long ISC_STATUS;\r
-typedef long IPTR;\r
-typedef unsigned long U_IPTR;\r
-typedef void (*FPTR_VOID) ();\r
-typedef void (*FPTR_VOID_PTR) (void *);\r
-typedef int (*FPTR_INT) ();\r
-typedef int (*FPTR_INT_VOID_PTR) (void *);\r
-typedef ULONG RCRD_OFFSET;\r
-typedef USHORT FLD_LENGTH;\r
-typedef int (*lock_ast_t)(void *);\r
-\r
-typedef IPTR FB_THREAD_ID;\r
-\r
-#define ISC_STATUS_LENGTH      20\r
-typedef ISC_STATUS ISC_STATUS_ARRAY[ISC_STATUS_LENGTH];\r
-\r
-/* Number of elements in an arry */\r
-#define FB_NELEM(x)    ((int)(sizeof(x) / sizeof(x[0])))\r
-#define FB_ALIGN(n,b) ((n+b-1)&~(b-1))\r
-\r
-#endif /* INCLUDE_FB_TYPES_H */\r
-\r
-#define FB_API_VER 15\r
-#define isc_version4\r
-\r
-#define  ISC_TRUE      1\r
-#define  ISC_FALSE     0\r
-#if !(defined __cplusplus)\r
-#define  ISC__TRUE     ISC_TRUE\r
-#define  ISC__FALSE    ISC_FALSE\r
-#endif\r
-\r
-#define ISC_FAR\r
-\r
-// It is difficult to detect 64-bit long from the redistributable header\r
-// we do not care of 16-bit platforms anymore thus we may use plain "int"\r
-// which is 32-bit on all platforms we support\r
-#if defined(_LP64) || defined(__LP64__) || defined(__arch64__)\r
-typedef        int             ISC_LONG;\r
-typedef        unsigned int    ISC_ULONG;\r
-#else\r
-typedef        signed long     ISC_LONG;\r
-typedef        unsigned long   ISC_ULONG;\r
-#endif\r
-\r
-typedef        signed short    ISC_SHORT;\r
-typedef        unsigned short  ISC_USHORT;\r
-\r
-typedef        unsigned char   ISC_UCHAR;\r
-\r
-#define  DSQL_close     1\r
-#define  DSQL_drop      2\r
-\r
-\r
-/********************************/\r
-/* InterBase Handle Definitions */\r
-/********************************/\r
-\r
-#ifndef JRD_Y_REF_H\r
-#define FRBRD void\r
-#endif\r
-\r
-typedef FRBRD * isc_att_handle;\r
-typedef FRBRD * isc_blob_handle;\r
-typedef FRBRD * isc_db_handle;\r
-typedef FRBRD * isc_req_handle;\r
-typedef FRBRD * isc_stmt_handle;\r
-typedef FRBRD * isc_svc_handle;\r
-typedef FRBRD * isc_tr_handle;\r
-typedef void (* isc_callback) ();\r
-typedef ISC_LONG isc_resv_handle;\r
-\r
-/*******************************************************************/\r
-/* Time & Date Support                                             */\r
-/*******************************************************************/\r
-\r
-#ifndef ISC_TIMESTAMP_DEFINED\r
-typedef int                    ISC_DATE;\r
-typedef unsigned int   ISC_TIME;\r
-typedef struct\r
-{\r
-       ISC_DATE timestamp_date;\r
-       ISC_TIME timestamp_time;\r
-} ISC_TIMESTAMP;\r
-#define ISC_TIMESTAMP_DEFINED\r
-#endif /* ISC_TIMESTAMP_DEFINED */\r
-\r
-#define ISC_TIME_SECONDS_PRECISION          10000L\r
-#define ISC_TIME_SECONDS_PRECISION_SCALE    (-4)\r
-\r
-/*******************************************************************/\r
-/* Blob id structure                                               */\r
-/*******************************************************************/\r
-\r
-#if !(defined __cplusplus)\r
-typedef GDS_QUAD GDS__QUAD;\r
-#endif /* !(defined __cplusplus) */\r
-\r
-typedef struct GDS_QUAD_t ISC_QUAD;\r
-\r
-#define        isc_quad_high   gds_quad_high\r
-#define        isc_quad_low    gds_quad_low\r
-\r
-typedef struct\r
-{\r
-       short array_bound_lower;\r
-       short array_bound_upper;\r
-} ISC_ARRAY_BOUND;\r
-\r
-typedef struct\r
-{\r
-       unsigned char   array_desc_dtype;\r
-       char                    array_desc_scale;\r
-       unsigned short  array_desc_length;\r
-       char                    array_desc_field_name[32];\r
-       char                    array_desc_relation_name[32];\r
-       short                   array_desc_dimensions;\r
-       short                   array_desc_flags;\r
-       ISC_ARRAY_BOUND array_desc_bounds[16];\r
-} ISC_ARRAY_DESC;\r
-\r
-typedef struct\r
-{\r
-       short                   blob_desc_subtype;\r
-       short                   blob_desc_charset;\r
-       short                   blob_desc_segment_size;\r
-       unsigned char   blob_desc_field_name[32];\r
-       unsigned char   blob_desc_relation_name[32];\r
-} ISC_BLOB_DESC;\r
-\r
-\r
-\r
-/***************************/\r
-/* Blob control structure  */\r
-/***************************/\r
-\r
-typedef struct isc_blob_ctl\r
-{\r
-       ISC_STATUS      (* ctl_source)();       /* Source filter */\r
-       struct isc_blob_ctl *   ctl_source_handle;      /* Argument to pass to source filter */\r
-       short                                   ctl_to_sub_type;                /* Target type */\r
-       short                                   ctl_from_sub_type;              /* Source type */\r
-       unsigned short                  ctl_buffer_length;              /* Length of buffer */\r
-       unsigned short                  ctl_segment_length;             /* Length of current segment */\r
-       unsigned short                  ctl_bpb_length;                 /* Length of blob parameter  block */\r
-       char *                                  ctl_bpb;                                /* Address of blob parameter block */\r
-       unsigned char *                 ctl_buffer;                             /* Address of segment buffer */\r
-       ISC_LONG                                ctl_max_segment;                /* Length of longest segment */\r
-       ISC_LONG                                ctl_number_segments;    /* Total number of segments */\r
-       ISC_LONG                                ctl_total_length;               /* Total length of blob */\r
-       ISC_STATUS *                    ctl_status;                             /* Address of status vector */\r
-       long                                    ctl_data[8];                    /* Application specific data */\r
-} * ISC_BLOB_CTL;\r
-\r
-/***************************/\r
-/* Blob stream definitions */\r
-/***************************/\r
-\r
-typedef struct bstream\r
-{\r
-       isc_blob_handle bstr_blob;              /* Blob handle */\r
-       char *                  bstr_buffer;    /* Address of buffer */\r
-       char *                  bstr_ptr;               /* Next character */\r
-       short                   bstr_length;    /* Length of buffer */\r
-       short                   bstr_cnt;               /* Characters in buffer */\r
-       char                    bstr_mode;              /* (mode) ? OUTPUT : INPUT */\r
-} BSTREAM;\r
-\r
-/* Three ugly macros, one even using octal radix... sigh... */\r
-#define getb(p)        (--(p)->bstr_cnt >= 0 ? *(p)->bstr_ptr++ & 0377: BLOB_get (p))\r
-#define putb(x,p) (((x) == '\n' || (!(--(p)->bstr_cnt))) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))\r
-#define putbx(x,p) ((!(--(p)->bstr_cnt)) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))\r
-\r
-\r
-/********************************************************************/\r
-/* CVC: Public blob interface definition held in val.h.             */\r
-/* For some unknown reason, it was only documented in langRef       */\r
-/* and being the structure passed by the engine to UDFs it never    */\r
-/* made its way into this public definitions file.                  */\r
-/* Being its original name "blob", I renamed it blobcallback here.  */\r
-/* I did the full definition with the proper parameters instead of  */\r
-/* the weak C declaration with any number and type of parameters.   */\r
-/* Since the first parameter -BLB- is unknown outside the engine,   */\r
-/* it's more accurate to use void* than int* as the blob pointer    */\r
-/********************************************************************/\r
-\r
-#if !defined(JRD_VAL_H) && !defined(REQUESTER)\r
-/* Blob passing structure */\r
-\r
-enum lseek_mode {blb_seek_relative = 1, blb_seek_from_tail = 2};\r
-\r
-typedef struct blobcallback {\r
-    short ( *blob_get_segment)\r
-               (void * hnd, unsigned char* buffer, ISC_USHORT buf_size, ISC_USHORT* result_len);\r
-    void                       *blob_handle;\r
-    ISC_LONG   blob_number_segments;\r
-    ISC_LONG   blob_max_segment;\r
-    ISC_LONG   blob_total_length;\r
-    void ( *blob_put_segment)\r
-               (void * hnd, unsigned char* buffer, ISC_USHORT buf_size);\r
-    ISC_LONG ( *blob_lseek)\r
-               (void * hnd, ISC_USHORT mode, ISC_LONG offset);\r
-}  *BLOBCALLBACK;\r
-#endif /* !defined(JRD_VAL_H) && !defined(REQUESTER) */\r
-\r
-\r
-\r
-/********************************************************************/\r
-/* CVC: Public descriptor interface held in dsc.h.                  */\r
-/* We need it documented to be able to recognize NULL in UDFs.      */\r
-/* Being its original name "dsc", I renamed it paramdsc here.       */\r
-/* Notice that I adjust to the original definition: contrary to     */\r
-/* other cases, the typedef is the same struct not the pointer.     */\r
-/* I included the enumeration of dsc_dtype possible values.         */\r
-/* Ultimately, dsc.h should be part of the public interface.        */\r
-/********************************************************************/\r
-\r
-#if !defined(JRD_DSC_H)\r
-/* This is the famous internal descriptor that UDFs can use, too. */\r
-typedef struct paramdsc {\r
-    unsigned char      dsc_dtype;\r
-    signed char                dsc_scale;\r
-    ISC_USHORT         dsc_length;\r
-    short              dsc_sub_type;\r
-    ISC_USHORT         dsc_flags;\r
-    unsigned char      *dsc_address;\r
-} PARAMDSC;\r
-\r
-#if !defined(JRD_VAL_H)\r
-/* This is a helper struct to work with varchars. */\r
-typedef struct paramvary {\r
-    ISC_USHORT         vary_length;\r
-    unsigned char      vary_string [1];\r
-} PARAMVARY;\r
-#endif /* !defined(JRD_VAL_H) */\r
-\r
-/* values for dsc_flags */\r
-/* Note: DSC_null is only reliably set for local variables\r
-   (blr_variable) */\r
-#define DSC_null               1\r
-#define DSC_no_subtype         2       /* dsc has no sub type specified */\r
-#define DSC_nullable           4       /* not stored. instead, is derived\r
-                                       from metadata primarily to flag\r
-                                       SQLDA (in DSQL)               */\r
-\r
-/* Overload text typing information into the dsc_sub_type field.\r
-   See intl.h for definitions of text types */ \r
-\r
-#ifndef dsc_ttype\r
-#define dsc_ttype      dsc_sub_type\r
-#endif\r
-\r
-\r
-/* Note that dtype_null actually means that we do not yet know the\r
-   dtype for this descriptor.  A nice cleanup item would be to globally\r
-   change it to dtype_unknown.  --chrisj 1999-02-17 */\r
-\r
-#define dtype_null     0\r
-#define dtype_text     1\r
-#define dtype_cstring  2\r
-#define dtype_varying  3\r
-\r
-#define dtype_packed   6\r
-#define dtype_byte     7\r
-#define dtype_short    8\r
-#define dtype_long     9\r
-#define dtype_quad     10\r
-#define dtype_real     11\r
-#define dtype_double   12\r
-#define dtype_d_float  13\r
-#define dtype_sql_date 14\r
-#define dtype_sql_time 15\r
-#define dtype_timestamp        16\r
-#define dtype_blob     17\r
-#define dtype_array    18\r
-#define dtype_int64     19\r
-#define DTYPE_TYPE_MAX 20\r
-#endif /* !defined(JRD_DSC_H) */\r
-\r
-\r
-/***************************/\r
-/* Dynamic SQL definitions */\r
-/***************************/\r
-\r
-/******************************/\r
-/* Declare the extended SQLDA */\r
-/******************************/\r
-\r
-#ifndef FB_SQLDA\r
-\r
-typedef struct\r
-{\r
-       short                   sqltype;                        /* datatype of field */\r
-       short                   sqlscale;                       /* scale factor */\r
-       short                   sqlsubtype;                     /* datatype subtype - BLOBs & Text types only */\r
-       short                   sqllen;                         /* length of data area */\r
-       char *                  sqldata;                        /* address of data */\r
-       short *                 sqlind;                         /* address of indicator variable */\r
-       short                   sqlname_length;         /* length of sqlname field */\r
-       char                    sqlname[32];            /* name of field, name length + space for NULL */\r
-       short                   relname_length;         /* length of relation name */\r
-       char                    relname[32];            /* field's relation name + space for NULL */\r
-       short                   ownname_length;         /* length of owner name */\r
-       char                    ownname[32];            /* relation's owner name + space for  NULL */\r
-       short                   aliasname_length;       /* length of alias name */\r
-       char                    aliasname[32];          /* relation's alias name + space for NULL */\r
-} XSQLVAR;\r
-\r
-typedef struct\r
-{\r
-       short           version;                        /* version of this XSQLDA */\r
-       char            sqldaid[8];                     /* XSQLDA name field */\r
-       ISC_LONG        sqldabc;                        /* length in bytes of SQLDA */\r
-       short           sqln;                           /* number of fields allocated */\r
-       short           sqld;                           /* actual number of fields */\r
-       XSQLVAR         sqlvar[1];                      /* first field address */\r
-} XSQLDA;\r
-\r
-#define XSQLDA_LENGTH(n)       (sizeof (XSQLDA) + ((n)-1) * sizeof (XSQLVAR))\r
-\r
-#define SQLDA_VERSION1                         1\r
-\r
-#define SQL_DIALECT_V5                         1       /* meaning is same as DIALECT_xsqlda */\r
-#define SQL_DIALECT_V6_TRANSITION      2       /* flagging anything that is delimited\r
-                                                                                  by double quotes as an error and\r
-                                                                                  flagging keyword DATE as an error */\r
-#define SQL_DIALECT_V6                         3       /* supports SQL delimited identifier,\r
-                                                                                  SQLDATE/DATE, TIME, TIMESTAMP,\r
-                                                                                  CURRENT_DATE, CURRENT_TIME,\r
-                                                                                  CURRENT_TIMESTAMP, and 64-bit exact\r
-                                                                                  numeric type */\r
-#define SQL_DIALECT_CURRENT            SQL_DIALECT_V6  /* latest IB DIALECT */\r
-\r
-\r
-#define FB_SQLDA\r
-#endif\r
-\r
-/***************************/\r
-/* OSRI database functions */\r
-/***************************/\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-ISC_STATUS ISC_EXPORT isc_attach_database(ISC_STATUS *,\r
-                                                                                 short,\r
-                                                                                 char *,\r
-                                                                                 isc_db_handle *,\r
-                                                                                 short,\r
-                                                                                 char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_array_gen_sdl(ISC_STATUS *,\r
-                                                                               ISC_ARRAY_DESC *,\r
-                                                                               short *,\r
-                                                                               char *,\r
-                                                                               short *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_array_get_slice(ISC_STATUS *,\r
-                                                                                 isc_db_handle *,\r
-                                                                                 isc_tr_handle *,\r
-                                                                                 ISC_QUAD *,\r
-                                                                                 ISC_ARRAY_DESC *,\r
-                                                                                 void *,\r
-                                                                                 ISC_LONG *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_array_lookup_bounds(ISC_STATUS *,\r
-                                                                                         isc_db_handle *,\r
-                                                                                         isc_tr_handle *,\r
-                                                                                         char *,\r
-                                                                                         char *,\r
-                                                                                         ISC_ARRAY_DESC *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_array_lookup_desc(ISC_STATUS *,\r
-                                                                                       isc_db_handle *,\r
-                                                                                       isc_tr_handle *,\r
-                                                                                       char *,\r
-                                                                                       char *,\r
-                                                                                       ISC_ARRAY_DESC *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_array_set_desc(ISC_STATUS *,\r
-                                                                                char *,\r
-                                                                                char *,\r
-                                                                                short *,\r
-                                                                                short *,\r
-                                                                                short *,\r
-                                                                                ISC_ARRAY_DESC *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_array_put_slice(ISC_STATUS *,\r
-                                                                                 isc_db_handle *,\r
-                                                                                 isc_tr_handle *,\r
-                                                                                 ISC_QUAD *,\r
-                                                                                 ISC_ARRAY_DESC *,\r
-                                                                                 void *,\r
-                                                                                 ISC_LONG *);\r
-\r
-void ISC_EXPORT isc_blob_default_desc(ISC_BLOB_DESC *,\r
-                                                                         unsigned char *,\r
-                                                                         unsigned char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_blob_gen_bpb(ISC_STATUS *,\r
-                                                                          ISC_BLOB_DESC *,\r
-                                                                          ISC_BLOB_DESC *,\r
-                                                                          unsigned short,\r
-                                                                          unsigned char *,\r
-                                                                          unsigned short *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_blob_info(ISC_STATUS *,\r
-                                                                       isc_blob_handle *,\r
-                                                                       short,\r
-                                                                       char *,\r
-                                                                       short,\r
-                                                                       char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_blob_lookup_desc(ISC_STATUS *,\r
-                                                                                  isc_db_handle *,\r
-                                                                                  isc_tr_handle *,\r
-                                                                                  unsigned char *,\r
-                                                                                  unsigned char *,\r
-                                                                                  ISC_BLOB_DESC *,\r
-                                                                                  unsigned char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_blob_set_desc(ISC_STATUS *,\r
-                                                                               unsigned char *,\r
-                                                                               unsigned char *,\r
-                                                                               short,\r
-                                                                               short,\r
-                                                                               short,\r
-                                                                               ISC_BLOB_DESC *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_cancel_blob(ISC_STATUS *,\r
-                                                                         isc_blob_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_cancel_events(ISC_STATUS *,\r
-                                                                               isc_db_handle *,\r
-                                                                               ISC_LONG *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_close_blob(ISC_STATUS *,\r
-                                                                        isc_blob_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_commit_retaining(ISC_STATUS *,\r
-                                                                                  isc_tr_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_commit_transaction(ISC_STATUS *,\r
-                                                                                        isc_tr_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_create_blob(ISC_STATUS *,\r
-                                                                         isc_db_handle *,\r
-                                                                         isc_tr_handle *,\r
-                                                                         isc_blob_handle *,\r
-                                                                         ISC_QUAD *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_create_blob2(ISC_STATUS *,\r
-                                                                          isc_db_handle *,\r
-                                                                          isc_tr_handle *,\r
-                                                                          isc_blob_handle *,\r
-                                                                          ISC_QUAD *,\r
-                                                                          short,\r
-                                                                          char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_create_database(ISC_STATUS *,\r
-                                                                                 short,\r
-                                                                                 char *,\r
-                                                                                 isc_db_handle *,\r
-                                                                                 short,\r
-                                                                                 char *,\r
-                                                                                 short);\r
-\r
-ISC_STATUS ISC_EXPORT isc_database_info(ISC_STATUS *,\r
-                                                                               isc_db_handle *,\r
-                                                                               short,\r
-                                                                               char *,\r
-                                                                               short,\r
-                                                                               char *);\r
-\r
-void ISC_EXPORT isc_decode_date(ISC_QUAD *,\r
-                                                               void *);\r
-\r
-void ISC_EXPORT isc_decode_sql_date(ISC_DATE *,\r
-                                                                       void *);\r
-\r
-void ISC_EXPORT isc_decode_sql_time(ISC_TIME *,\r
-                                                                       void *);\r
-\r
-void ISC_EXPORT isc_decode_timestamp(ISC_TIMESTAMP *,\r
-                                                                        void *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_detach_database(ISC_STATUS *,\r
-                                                                                 isc_db_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_drop_database(ISC_STATUS *,\r
-                                                                               isc_db_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_allocate_statement(ISC_STATUS *,\r
-                                                                                                 isc_db_handle *,\r
-                                                                                                 isc_stmt_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_alloc_statement2(ISC_STATUS *,\r
-                                                                                               isc_db_handle *,\r
-                                                                                               isc_stmt_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_describe(ISC_STATUS *,\r
-                                                                               isc_stmt_handle *,\r
-                                                                               unsigned short,\r
-                                                                               XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_describe_bind(ISC_STATUS *,\r
-                                                                                        isc_stmt_handle *,\r
-                                                                                        unsigned short,\r
-                                                                                        XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_exec_immed2(ISC_STATUS *,\r
-                                                                                  isc_db_handle *,\r
-                                                                                  isc_tr_handle *,\r
-                                                                                  unsigned short,\r
-                                                                                  char *,\r
-                                                                                  unsigned short,\r
-                                                                                  XSQLDA *,\r
-                                                                                  XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_execute(ISC_STATUS *,\r
-                                                                          isc_tr_handle *,\r
-                                                                          isc_stmt_handle *,\r
-                                                                          unsigned short,\r
-                                                                          XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_execute2(ISC_STATUS *,\r
-                                                                               isc_tr_handle *,\r
-                                                                               isc_stmt_handle *,\r
-                                                                               unsigned short,\r
-                                                                               XSQLDA *,\r
-                                                                               XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_execute_immediate(ISC_STATUS *,\r
-                                                                                                isc_db_handle *,\r
-                                                                                                isc_tr_handle *,\r
-                                                                                                unsigned short,\r
-                                                                                                char *,\r
-                                                                                                unsigned short,\r
-                                                                                                XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_fetch(ISC_STATUS *,\r
-                                                                        isc_stmt_handle *,\r
-                                                                        unsigned short,\r
-                                                                        XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_finish(isc_db_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_free_statement(ISC_STATUS *,\r
-                                                                                         isc_stmt_handle *,\r
-                                                                                         unsigned short);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_insert(ISC_STATUS *,\r
-                                                                         isc_stmt_handle *,\r
-                                                                         unsigned short,\r
-                                                                         XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_prepare(ISC_STATUS *,\r
-                                                                          isc_tr_handle *,\r
-                                                                          isc_stmt_handle *,\r
-                                                                          unsigned short,\r
-                                                                          char *,\r
-                                                                          unsigned short,\r
-                                                                          XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_set_cursor_name(ISC_STATUS *,\r
-                                                                                          isc_stmt_handle *,\r
-                                                                                          char *,\r
-                                                                                          unsigned short);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_sql_info(ISC_STATUS *,\r
-                                                                               isc_stmt_handle *,\r
-                                                                               short,\r
-                                                                               const char *,\r
-                                                                               short,\r
-                                                                               char *);\r
-\r
-void ISC_EXPORT isc_encode_date(void *,\r
-                                                               ISC_QUAD *);\r
-\r
-void ISC_EXPORT isc_encode_sql_date(void *,\r
-                                                                       ISC_DATE *);\r
-\r
-void ISC_EXPORT isc_encode_sql_time(void *,\r
-                                                                       ISC_TIME *);\r
-\r
-void ISC_EXPORT isc_encode_timestamp(void *,\r
-                                                                        ISC_TIMESTAMP *);\r
-\r
-ISC_LONG ISC_EXPORT_VARARG isc_event_block(char * *,\r
-                                                                                  char * *,\r
-                                                                                  unsigned short, ...);\r
-\r
-void ISC_EXPORT isc_event_counts(ISC_ULONG *,\r
-                                                                short,\r
-                                                                char *,\r
-                                                                char *);\r
-\r
-/* 17 May 2001 - isc_expand_dpb is DEPRECATED */\r
-void ISC_EXPORT_VARARG isc_expand_dpb(char * *,\r
-                                                                         short *, ...);\r
-\r
-int ISC_EXPORT isc_modify_dpb(char * *,\r
-                                                         short *,\r
-                                                         unsigned short,\r
-                                                         char *,\r
-                                                         short);\r
-\r
-ISC_LONG ISC_EXPORT isc_free(char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_get_segment(ISC_STATUS *,\r
-                                                                         isc_blob_handle *,\r
-                                                                         unsigned short *,\r
-                                                                         unsigned short,\r
-                                                                         char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_get_slice(ISC_STATUS *,\r
-                                                                       isc_db_handle *,\r
-                                                                       isc_tr_handle *,\r
-                                                                       ISC_QUAD *,\r
-                                                                       short,\r
-                                                                       char *,\r
-                                                                       short,\r
-                                                                       ISC_LONG *,\r
-                                                                       ISC_LONG,\r
-                                                                       void *,\r
-                                                                       ISC_LONG *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_interprete(char *,\r
-                                                                        ISC_STATUS * *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_open_blob(ISC_STATUS *,\r
-                                                                       isc_db_handle *,\r
-                                                                       isc_tr_handle *,\r
-                                                                       isc_blob_handle *,\r
-                                                                       ISC_QUAD *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_open_blob2(ISC_STATUS *,\r
-                                                                        isc_db_handle *,\r
-                                                                        isc_tr_handle *,\r
-                                                                        isc_blob_handle *,\r
-                                                                        ISC_QUAD *,\r
-                                                                        ISC_USHORT,\r
-                                                                        ISC_UCHAR *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_prepare_transaction2(ISC_STATUS *,\r
-                                                                                          isc_tr_handle *,\r
-                                                                                          ISC_USHORT,\r
-                                                                                          ISC_UCHAR *);\r
-\r
-void ISC_EXPORT isc_print_sqlerror(ISC_SHORT,\r
-                                                                  ISC_STATUS *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_print_status(ISC_STATUS *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_put_segment(ISC_STATUS *,\r
-                                                                         isc_blob_handle *,\r
-                                                                         unsigned short,\r
-                                                                         char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_put_slice(ISC_STATUS *,\r
-                                                                       isc_db_handle *,\r
-                                                                       isc_tr_handle *,\r
-                                                                       ISC_QUAD *,\r
-                                                                       short,\r
-                                                                       char *,\r
-                                                                       short,\r
-                                                                       ISC_LONG *,\r
-                                                                       ISC_LONG,\r
-                                                                       void *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_que_events(ISC_STATUS *,\r
-                                                                        isc_db_handle *,\r
-                                                                        ISC_LONG *,\r
-                                                                        short,\r
-                                                                        char *,\r
-                                                                        isc_callback,\r
-                                                                        void *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_rollback_retaining(ISC_STATUS *,\r
-                                                                                        isc_tr_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_rollback_transaction(ISC_STATUS *,\r
-                                                                                          isc_tr_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_start_multiple(ISC_STATUS *,\r
-                                                                                isc_tr_handle *,\r
-                                                                                short,\r
-                                                                                void *);\r
-\r
-ISC_STATUS ISC_EXPORT_VARARG isc_start_transaction(ISC_STATUS *,\r
-                                                                                                  isc_tr_handle *,\r
-                                                                                                  short, ...);\r
-\r
-ISC_LONG ISC_EXPORT isc_sqlcode(ISC_STATUS *);\r
-\r
-void ISC_EXPORT isc_sql_interprete(short,\r
-                                                                  char *,\r
-                                                                  short);\r
-\r
-ISC_STATUS ISC_EXPORT isc_transaction_info(ISC_STATUS *,\r
-                                                                                  isc_tr_handle *,\r
-                                                                                  short,\r
-                                                                                  char *,\r
-                                                                                  short,\r
-                                                                                  char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_transact_request(ISC_STATUS *,\r
-                                                                                  isc_db_handle *,\r
-                                                                                  isc_tr_handle *,\r
-                                                                                  unsigned short,\r
-                                                                                  char *,\r
-                                                                                  unsigned short,\r
-                                                                                  char *,\r
-                                                                                  unsigned short,\r
-                                                                                  char *);\r
-\r
-ISC_LONG ISC_EXPORT isc_vax_integer(char *,\r
-                                                                       short);\r
-\r
-ISC_INT64 ISC_EXPORT isc_portable_integer(unsigned char *,\r
-                                                                                 short);\r
-\r
-/*************************************/\r
-/* Security Functions and structures */\r
-/*************************************/\r
-\r
-#define sec_uid_spec               0x01\r
-#define sec_gid_spec               0x02\r
-#define sec_server_spec                    0x04\r
-#define sec_password_spec          0x08\r
-#define sec_group_name_spec        0x10\r
-#define sec_first_name_spec        0x20\r
-#define sec_middle_name_spec        0x40\r
-#define sec_last_name_spec         0x80\r
-#define sec_dba_user_name_spec      0x100\r
-#define sec_dba_password_spec       0x200\r
-\r
-#define sec_protocol_tcpip            1\r
-#define sec_protocol_netbeui          2\r
-#define sec_protocol_spx              3 /* -- Deprecated Protocol. Declaration retained for compatibility   */\r
-#define sec_protocol_local            4\r
-\r
-typedef struct {\r
-       short sec_flags;                        /* which fields are specified */\r
-       int uid;                                        /* the user's id */\r
-       int gid;                                        /* the user's group id */\r
-       int protocol;                           /* protocol to use for connection */\r
-       char *server;                           /* server to administer */\r
-       char *user_name;                        /* the user's name */\r
-       char *password;                         /* the user's password */\r
-       char *group_name;                       /* the group name */\r
-       char *first_name;                       /* the user's first name */\r
-       char *middle_name;                      /* the user's middle name */\r
-       char *last_name;                        /* the user's last name */\r
-       char *dba_user_name;            /* the dba user name */\r
-       char *dba_password;                     /* the dba password */\r
-} USER_SEC_DATA;\r
-\r
-int ISC_EXPORT isc_add_user(ISC_STATUS *, USER_SEC_DATA *);\r
-\r
-int ISC_EXPORT isc_delete_user(ISC_STATUS *, USER_SEC_DATA *);\r
-\r
-int ISC_EXPORT isc_modify_user(ISC_STATUS *, USER_SEC_DATA *);\r
-\r
-/**********************************/\r
-/*  Other OSRI functions          */\r
-/**********************************/\r
-\r
-ISC_STATUS ISC_EXPORT isc_compile_request(ISC_STATUS *,\r
-                                                                                 isc_db_handle *,\r
-                                                                                 isc_req_handle *,\r
-                                                                                 short,\r
-                                                                                 char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_compile_request2(ISC_STATUS *,\r
-                                                                                  isc_db_handle *,\r
-                                                                                  isc_req_handle *,\r
-                                                                                  short,\r
-                                                                                  char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_ddl(ISC_STATUS *,\r
-                                                         isc_db_handle *,\r
-                                                         isc_tr_handle *,\r
-                                                         short,\r
-                                                         char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_prepare_transaction(ISC_STATUS *,\r
-                                                                                         isc_tr_handle *);\r
-\r
-\r
-ISC_STATUS ISC_EXPORT isc_receive(ISC_STATUS *,\r
-                                                                 isc_req_handle *,\r
-                                                                 short,\r
-                                                                 short,\r
-                                                                 void *,\r
-                                                                 short);\r
-\r
-ISC_STATUS ISC_EXPORT isc_reconnect_transaction(ISC_STATUS *,\r
-                                                                                               isc_db_handle *,\r
-                                                                                               isc_tr_handle *,\r
-                                                                                               short,\r
-                                                                                               char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_release_request(ISC_STATUS *,\r
-                                                                                 isc_req_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_request_info(ISC_STATUS *,\r
-                                                                          isc_req_handle *,\r
-                                                                          short,\r
-                                                                          short,\r
-                                                                          char *,\r
-                                                                          short,\r
-                                                                          char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_seek_blob(ISC_STATUS *,\r
-                                                                       isc_blob_handle *,\r
-                                                                       short,\r
-                                                                       ISC_LONG,\r
-                                                                       ISC_LONG *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_send(ISC_STATUS *,\r
-                                                          isc_req_handle *,\r
-                                                          short,\r
-                                                          short,\r
-                                                          void *,\r
-                                                          short);\r
-\r
-ISC_STATUS ISC_EXPORT isc_start_and_send(ISC_STATUS *,\r
-                                                                                isc_req_handle *,\r
-                                                                                isc_tr_handle *,\r
-                                                                                short,\r
-                                                                                short,\r
-                                                                                void *,\r
-                                                                                short);\r
-\r
-ISC_STATUS ISC_EXPORT isc_start_request(ISC_STATUS *,\r
-                                                                               isc_req_handle *,\r
-                                                                               isc_tr_handle *,\r
-                                                                               short);\r
-\r
-ISC_STATUS ISC_EXPORT isc_unwind_request(ISC_STATUS *,\r
-                                                                                isc_tr_handle *,\r
-                                                                                short);\r
-\r
-ISC_STATUS ISC_EXPORT isc_wait_for_event(ISC_STATUS *,\r
-                                                                                isc_db_handle *,\r
-                                                                                short,\r
-                                                                                char *,\r
-                                                                                char *);\r
-\r
-\r
-/*****************************/\r
-/* Other Sql functions       */\r
-/*****************************/\r
-\r
-ISC_STATUS ISC_EXPORT isc_close(ISC_STATUS *,\r
-                                                               char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_declare(ISC_STATUS *,\r
-                                                                 char *,\r
-                                                                 char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_describe(ISC_STATUS *,\r
-                                                                  char *,\r
-                                                                  XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_describe_bind(ISC_STATUS *,\r
-                                                                               char *,\r
-                                                                               XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_execute(ISC_STATUS *,\r
-                                                                 isc_tr_handle *,\r
-                                                                 char *,\r
-                                                                 XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_execute_immediate(ISC_STATUS *,\r
-                                                                                       isc_db_handle *,\r
-                                                                                       isc_tr_handle *,\r
-                                                                                       short *,\r
-                                                                                       char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_fetch(ISC_STATUS *,\r
-                                                               char *,\r
-                                                               XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_open(ISC_STATUS *,\r
-                                                          isc_tr_handle *,\r
-                                                          char *,\r
-                                                          XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_prepare(ISC_STATUS *,\r
-                                                                 isc_db_handle *,\r
-                                                                 isc_tr_handle *,\r
-                                                                 char *,\r
-                                                                 short *,\r
-                                                                 char *,\r
-                                                                 XSQLDA *);\r
-\r
-\r
-/*************************************/\r
-/* Other Dynamic sql functions       */\r
-/*************************************/\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_execute_m(ISC_STATUS *,\r
-                                                                                isc_tr_handle *,\r
-                                                                                isc_stmt_handle *,\r
-                                                                                unsigned short,\r
-                                                                                char *,\r
-                                                                                unsigned short,\r
-                                                                                unsigned short,\r
-                                                                                char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_execute2_m(ISC_STATUS *,\r
-                                                                                 isc_tr_handle *,\r
-                                                                                 isc_stmt_handle *,\r
-                                                                                 unsigned short,\r
-                                                                                 char *,\r
-                                                                                 unsigned short,\r
-                                                                                 unsigned short,\r
-                                                                                 char *,\r
-                                                                                 unsigned short,\r
-                                                                                 char *,\r
-                                                                                 unsigned short,\r
-                                                                                 unsigned short,\r
-                                                                                 char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_execute_immediate_m(ISC_STATUS *,\r
-                                                                                                  isc_db_handle *,\r
-                                                                                                  isc_tr_handle *,\r
-                                                                                                  unsigned short,\r
-                                                                                                  char *,\r
-                                                                                                  unsigned short,\r
-                                                                                                  unsigned short,\r
-                                                                                                  char *,\r
-                                                                                                  unsigned short,\r
-                                                                                                  unsigned short,\r
-                                                                                                  char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_exec_immed3_m(ISC_STATUS *,\r
-                                                                                        isc_db_handle *,\r
-                                                                                        isc_tr_handle *,\r
-                                                                                        unsigned short,\r
-                                                                                        char *,\r
-                                                                                        unsigned short,\r
-                                                                                        unsigned short,\r
-                                                                                        char *,\r
-                                                                                        unsigned short,\r
-                                                                                        unsigned short,\r
-                                                                                        char *,\r
-                                                                                        unsigned short,\r
-                                                                                        char *,\r
-                                                                                        unsigned short,\r
-                                                                                        unsigned short,\r
-                                                                                        char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_fetch_m(ISC_STATUS *,\r
-                                                                          isc_stmt_handle *,\r
-                                                                          unsigned short,\r
-                                                                          char *,\r
-                                                                          unsigned short,\r
-                                                                          unsigned short,\r
-                                                                          char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_insert_m(ISC_STATUS *,\r
-                                                                               isc_stmt_handle *,\r
-                                                                               unsigned short,\r
-                                                                               char *,\r
-                                                                               unsigned short,\r
-                                                                               unsigned short,\r
-                                                                               char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_prepare_m(ISC_STATUS *,\r
-                                                                                isc_tr_handle *,\r
-                                                                                isc_stmt_handle *,\r
-                                                                                unsigned short,\r
-                                                                                char *,\r
-                                                                                unsigned short,\r
-                                                                                unsigned short,\r
-                                                                                char *,\r
-                                                                                unsigned short,\r
-                                                                                char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_dsql_release(ISC_STATUS *,\r
-                                                                          char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_close(ISC_STATUS *,\r
-                                                                                  char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_declare(ISC_STATUS *,\r
-                                                                                        char *,\r
-                                                                                        char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_describe(ISC_STATUS *,\r
-                                                                                         char *,\r
-                                                                                         unsigned short,\r
-                                                                                         XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_describe_bind(ISC_STATUS *,\r
-                                                                                                  char *,\r
-                                                                                                  unsigned short,\r
-                                                                                                  XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_execute(ISC_STATUS *,\r
-                                                                                        isc_tr_handle *,\r
-                                                                                        char *,\r
-                                                                                        unsigned short,\r
-                                                                                        XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_execute2(ISC_STATUS *,\r
-                                                                                         isc_tr_handle *,\r
-                                                                                         char *,\r
-                                                                                         unsigned short,\r
-                                                                                         XSQLDA *,\r
-                                                                                         XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_execute_immed(ISC_STATUS *,\r
-                                                                                                  isc_db_handle *,\r
-                                                                                                  isc_tr_handle *,\r
-                                                                                                  unsigned short,\r
-                                                                                                  char *,\r
-                                                                                                  unsigned short,\r
-                                                                                                  XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_fetch(ISC_STATUS *,\r
-                                                                                  char *,\r
-                                                                                  unsigned short,\r
-                                                                                  XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_open(ISC_STATUS *,\r
-                                                                                 isc_tr_handle *,\r
-                                                                                 char *,\r
-                                                                                 unsigned short,\r
-                                                                                 XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_open2(ISC_STATUS *,\r
-                                                                                  isc_tr_handle *,\r
-                                                                                  char *,\r
-                                                                                  unsigned short,\r
-                                                                                  XSQLDA *,\r
-                                                                                  XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_insert(ISC_STATUS *,\r
-                                                                                       char *,\r
-                                                                                       unsigned short,\r
-                                                                                       XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_prepare(ISC_STATUS *,\r
-                                                                                        isc_db_handle *,\r
-                                                                                        isc_tr_handle *,\r
-                                                                                        char *,\r
-                                                                                        unsigned short,\r
-                                                                                        char *,\r
-                                                                                        unsigned short,\r
-                                                                                        XSQLDA *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_embed_dsql_release(ISC_STATUS *,\r
-                                                                                        char *);\r
-\r
-\r
-/******************************/\r
-/* Other Blob functions       */\r
-/******************************/\r
-\r
-BSTREAM *ISC_EXPORT BLOB_open(isc_blob_handle,\r
-                                                                         char *,\r
-                                                                         int);\r
-\r
-int ISC_EXPORT BLOB_put(char,\r
-                                               BSTREAM *);\r
-\r
-int ISC_EXPORT BLOB_close(BSTREAM *);\r
-\r
-int ISC_EXPORT BLOB_get(BSTREAM *);\r
-\r
-int ISC_EXPORT BLOB_display(ISC_QUAD *,\r
-                                                       isc_db_handle,\r
-                                                       isc_tr_handle,\r
-                                                       char *);\r
-\r
-int ISC_EXPORT BLOB_dump(ISC_QUAD *,\r
-                                                isc_db_handle,\r
-                                                isc_tr_handle,\r
-                                                char *);\r
-\r
-int ISC_EXPORT BLOB_edit(ISC_QUAD *,\r
-                                                isc_db_handle,\r
-                                                isc_tr_handle,\r
-                                                char *);\r
-\r
-int ISC_EXPORT BLOB_load(ISC_QUAD *,\r
-                                                isc_db_handle,\r
-                                                isc_tr_handle,\r
-                                                char *);\r
-\r
-int ISC_EXPORT BLOB_text_dump(ISC_QUAD *,\r
-                                                         isc_db_handle,\r
-                                                         isc_tr_handle,\r
-                                                         char *);\r
-\r
-int ISC_EXPORT BLOB_text_load(ISC_QUAD *,\r
-                                                         isc_db_handle,\r
-                                                         isc_tr_handle,\r
-                                                         char *);\r
-\r
-BSTREAM *ISC_EXPORT Bopen(ISC_QUAD *,\r
-                                                                 isc_db_handle,\r
-                                                                 isc_tr_handle,\r
-                                                                 char *);\r
-\r
-BSTREAM *ISC_EXPORT Bopen2(ISC_QUAD *,\r
-                                                                  isc_db_handle,\r
-                                                                  isc_tr_handle,\r
-                                                                  char *,\r
-                                                                  unsigned short);\r
-\r
-\r
-/******************************/\r
-/* Other Misc functions       */\r
-/******************************/\r
-\r
-ISC_LONG ISC_EXPORT isc_ftof(char *,\r
-                                                        unsigned short,\r
-                                                        char *,\r
-                                                        unsigned short);\r
-\r
-ISC_STATUS ISC_EXPORT isc_print_blr(char *,\r
-                                                                       isc_callback,\r
-                                                                       void *,\r
-                                                                       short);\r
-\r
-void ISC_EXPORT isc_set_debug(int);\r
-\r
-void ISC_EXPORT isc_qtoq(ISC_QUAD *,\r
-                                                ISC_QUAD *);\r
-\r
-void ISC_EXPORT isc_vtof(char *,\r
-                                                char *,\r
-                                                unsigned short);\r
-\r
-void ISC_EXPORT isc_vtov(char *,\r
-                                                char *,\r
-                                                short);\r
-\r
-int ISC_EXPORT isc_version(isc_db_handle *,\r
-                                                  isc_callback,\r
-                                                  void *);\r
-\r
-ISC_LONG ISC_EXPORT isc_reset_fpe(unsigned short);\r
-\r
-\r
-/*****************************************/\r
-/* Service manager functions             */\r
-/*****************************************/\r
-\r
-#define ADD_SPB_LENGTH(p, length)      {*(p)++ = (length); *(p)++ = (length) >> 8;}\r
-\r
-#define ADD_SPB_NUMERIC(p, data)       {*(p)++ = (SCHAR) (data); *(p)++ = (SCHAR) ((data) >> 8); *(p)++ = (SCHAR) ((data) >> 16); *(p)++ = (SCHAR) ((data) >> 24);}\r
-\r
-ISC_STATUS ISC_EXPORT isc_service_attach(ISC_STATUS *,\r
-                                                                                unsigned short,\r
-                                                                                char *,\r
-                                                                                isc_svc_handle *,\r
-                                                                                unsigned short,\r
-                                                                                char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_service_detach(ISC_STATUS *,\r
-                                                                                isc_svc_handle *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_service_query(ISC_STATUS *,\r
-                                                                               isc_svc_handle *,\r
-                                                                               isc_resv_handle *,\r
-                                                                               unsigned short,\r
-                                                                               char *,\r
-                                                                               unsigned short,\r
-                                                                               char *,\r
-                                                                               unsigned short,\r
-                                                                               char *);\r
-\r
-ISC_STATUS ISC_EXPORT isc_service_start(ISC_STATUS *,\r
-                                                                               isc_svc_handle *,\r
-                                                                               isc_resv_handle *,\r
-                                                                               unsigned short,\r
-                                                                               char *);\r
-\r
-\r
-/********************************/\r
-/* Client information functions */\r
-/********************************/\r
-\r
-void ISC_EXPORT isc_get_client_version ( char  *);\r
-int  ISC_EXPORT isc_get_client_major_version ();\r
-int  ISC_EXPORT isc_get_client_minor_version ();\r
-\r
-#ifdef __cplusplus\r
-}      /* extern "C" */\r
-#endif\r
-\r
-\r
-/***************************************************/\r
-/* Actions to pass to the blob filter (ctl_source) */\r
-/***************************************************/\r
-\r
-#define isc_blob_filter_open             0\r
-#define isc_blob_filter_get_segment      1\r
-#define isc_blob_filter_close            2\r
-#define isc_blob_filter_create           3\r
-#define isc_blob_filter_put_segment      4\r
-#define isc_blob_filter_alloc            5\r
-#define isc_blob_filter_free             6\r
-#define isc_blob_filter_seek             7\r
-\r
-/*******************/\r
-/* Blr definitions */\r
-/*******************/\r
-\r
-/*\r
- *     PROGRAM:        C preprocessor\r
- *     MODULE:         blr.h\r
- *     DESCRIPTION:    BLR constants\r
- *\r
- * The contents of this file are subject to the Interbase Public\r
- * License Version 1.0 (the "License"); you may not use this file\r
- * except in compliance with the License. You may obtain a copy\r
- * of the License at http://www.Inprise.com/IPL.html\r
- *\r
- * Software distributed under the License is distributed on an\r
- * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express\r
- * or implied. See the License for the specific language governing\r
- * rights and limitations under the License.\r
- *\r
- * The Original Code was created by Inprise Corporation\r
- * and its predecessors. Portions created by Inprise Corporation are\r
- * Copyright (C) Inprise Corporation.\r
- *\r
- * All Rights Reserved.\r
- * Contributor(s): ______________________________________.\r
- *\r
- * Claudio Valderrama: 2001.6.18: Add blr_current_role.\r
- * 2002.09.28 Dmitry Yemanov: Reworked internal_info stuff, enhanced\r
- *                            exception handling in SPs/triggers,\r
- *                            implemented ROWS_AFFECTED system variable\r
- * 2002.10.21 Nickolay Samofatov: Added support for explicit pessimistic locks\r
- * 2002.10.29 Nickolay Samofatov: Added support for savepoints\r
- */\r
-\r
-#ifndef _JRD_BLR_H_\r
-#define _JRD_BLR_H_\r
-\r
-/*  WARNING: if you add a new BLR representing a data type, and the value\r
- *           is greater than the numerically greatest value which now\r
- *           represents a data type, you must change the define for\r
- *           DTYPE_BLR_MAX in jrd/align.h, and add the necessary entries\r
- *           to all the arrays in that file.\r
- */\r
-\r
-#define blr_text               (unsigned char)14\r
-#define blr_text2              (unsigned char)15       /* added in 3.2 JPN */\r
-#define blr_short              (unsigned char)7\r
-#define blr_long               (unsigned char)8\r
-#define blr_quad               (unsigned char)9\r
-#define blr_float              (unsigned char)10\r
-#define blr_double             (unsigned char)27\r
-#define blr_d_float            (unsigned char)11\r
-#define blr_timestamp          (unsigned char)35\r
-#define blr_varying            (unsigned char)37\r
-#define blr_varying2           (unsigned char)38       /* added in 3.2 JPN */\r
-#define blr_blob               (unsigned short)261\r
-#define blr_cstring            (unsigned char)40       \r
-#define blr_cstring2           (unsigned char)41       /* added in 3.2 JPN */\r
-#define blr_blob_id            (unsigned char)45       /* added from gds.h */\r
-#define blr_sql_date           (unsigned char)12\r
-#define blr_sql_time           (unsigned char)13\r
-#define blr_int64               (unsigned char)16\r
-\r
-/* Historical alias for pre V6 applications */\r
-#define blr_date               blr_timestamp\r
-\r
-#define blr_inner              (unsigned char)0\r
-#define blr_left               (unsigned char)1\r
-#define blr_right              (unsigned char)2\r
-#define blr_full               (unsigned char)3\r
-\r
-#define blr_gds_code           (unsigned char)0\r
-#define blr_sql_code           (unsigned char)1\r
-#define blr_exception          (unsigned char)2\r
-#define blr_trigger_code       (unsigned char)3\r
-#define blr_default_code       (unsigned char)4\r
-#define blr_raise                      (unsigned char)5\r
-#define blr_exception_msg      (unsigned char)6\r
-\r
-#define blr_version4           (unsigned char)4\r
-#define blr_version5           (unsigned char)5\r
-#define blr_eoc                        (unsigned char)76\r
-#define blr_end                        (unsigned char)255      /* note: defined as -1 in gds.h */\r
-\r
-#define blr_assignment         (unsigned char)1\r
-#define blr_begin              (unsigned char)2\r
-#define blr_dcl_variable       (unsigned char)3        /* added from gds.h */\r
-#define blr_message            (unsigned char)4\r
-#define blr_erase              (unsigned char)5\r
-#define blr_fetch              (unsigned char)6\r
-#define blr_for                        (unsigned char)7\r
-#define blr_if                 (unsigned char)8\r
-#define blr_loop               (unsigned char)9\r
-#define blr_modify             (unsigned char)10\r
-#define blr_handler            (unsigned char)11\r
-#define blr_receive            (unsigned char)12\r
-#define blr_select             (unsigned char)13\r
-#define blr_send               (unsigned char)14\r
-#define blr_store              (unsigned char)15\r
-#define blr_label              (unsigned char)17\r
-#define blr_leave              (unsigned char)18\r
-#define blr_store2             (unsigned char)19\r
-#define blr_post                (unsigned char)20\r
-#define blr_literal            (unsigned char)21\r
-#define blr_dbkey              (unsigned char)22\r
-#define blr_field              (unsigned char)23\r
-#define blr_fid                        (unsigned char)24\r
-#define blr_parameter          (unsigned char)25\r
-#define blr_variable           (unsigned char)26\r
-#define blr_average            (unsigned char)27\r
-#define blr_count              (unsigned char)28\r
-#define blr_maximum            (unsigned char)29\r
-#define blr_minimum            (unsigned char)30\r
-#define blr_total              (unsigned char)31\r
-/* count 2\r
-#define blr_count2             32\r
-*/\r
-#define blr_add                        (unsigned char)34\r
-#define blr_subtract           (unsigned char)35\r
-#define blr_multiply           (unsigned char)36\r
-#define blr_divide             (unsigned char)37\r
-#define blr_negate             (unsigned char)38\r
-#define blr_concatenate                (unsigned char)39\r
-#define blr_substring          (unsigned char)40\r
-#define blr_parameter2         (unsigned char)41\r
-#define blr_from               (unsigned char)42\r
-#define blr_via                        (unsigned char)43\r
-#define blr_parameter2_old     (unsigned char)44       /* Confusion */\r
-#define blr_user_name          (unsigned char)44       /* added from gds.h */\r
-#define blr_null               (unsigned char)45\r
-\r
-#define blr_eql                        (unsigned char)47\r
-#define blr_neq                        (unsigned char)48\r
-#define blr_gtr                        (unsigned char)49\r
-#define blr_geq                        (unsigned char)50\r
-#define blr_lss                        (unsigned char)51\r
-#define blr_leq                        (unsigned char)52\r
-#define blr_containing         (unsigned char)53\r
-#define blr_matching           (unsigned char)54\r
-#define blr_starting           (unsigned char)55\r
-#define blr_between            (unsigned char)56\r
-#define blr_or                 (unsigned char)57\r
-#define blr_and                        (unsigned char)58\r
-#define blr_not                        (unsigned char)59\r
-#define blr_any                        (unsigned char)60\r
-#define blr_missing            (unsigned char)61\r
-#define blr_unique             (unsigned char)62\r
-#define blr_like               (unsigned char)63\r
-\r
-#define blr_stream             (unsigned char)65       /* added from gds.h */\r
-#define blr_set_index          (unsigned char)66       /* added from gds.h */\r
-\r
-#define blr_rse                        (unsigned char)67\r
-#define blr_first              (unsigned char)68\r
-#define blr_project            (unsigned char)69\r
-#define blr_sort               (unsigned char)70\r
-#define blr_boolean            (unsigned char)71\r
-#define blr_ascending          (unsigned char)72\r
-#define blr_descending         (unsigned char)73\r
-#define blr_relation           (unsigned char)74\r
-#define blr_rid                        (unsigned char)75\r
-#define blr_union              (unsigned char)76\r
-#define blr_map                        (unsigned char)77\r
-#define blr_group_by           (unsigned char)78\r
-#define blr_aggregate          (unsigned char)79\r
-#define blr_join_type          (unsigned char)80\r
-\r
-#define blr_agg_count          (unsigned char)83\r
-#define blr_agg_max            (unsigned char)84\r
-#define blr_agg_min            (unsigned char)85\r
-#define blr_agg_total          (unsigned char)86\r
-#define blr_agg_average                (unsigned char)87\r
-#define        blr_parameter3          (unsigned char)88       /* same as Rdb definition */\r
-#define blr_run_max            (unsigned char)89\r
-#define blr_run_min            (unsigned char)90\r
-#define blr_run_total          (unsigned char)91\r
-#define blr_run_average                (unsigned char)92\r
-#define blr_agg_count2         (unsigned char)93\r
-#define blr_agg_count_distinct (unsigned char)94\r
-#define blr_agg_total_distinct (unsigned char)95\r
-#define blr_agg_average_distinct (unsigned char)96\r
-\r
-#define blr_function           (unsigned char)100\r
-#define blr_gen_id             (unsigned char)101\r
-#define blr_prot_mask          (unsigned char)102\r
-#define blr_upcase             (unsigned char)103\r
-#define blr_lock_state         (unsigned char)104\r
-#define blr_value_if           (unsigned char)105\r
-#define blr_matching2          (unsigned char)106\r
-#define blr_index              (unsigned char)107\r
-#define blr_ansi_like          (unsigned char)108\r
-#define blr_bookmark           (unsigned char)109\r
-#define blr_crack              (unsigned char)110\r
-#define blr_force_crack                (unsigned char)111\r
-#define blr_seek               (unsigned char)112\r
-#define blr_find               (unsigned char)113\r
-                                 \r
-/* these indicate directions for blr_seek and blr_find */\r
-\r
-#define blr_continue           (unsigned char)0\r
-#define blr_forward            (unsigned char)1\r
-#define blr_backward           (unsigned char)2\r
-#define blr_bof_forward                (unsigned char)3\r
-#define blr_eof_backward       (unsigned char)4\r
-\r
-#define blr_lock_relation      (unsigned char)114\r
-#define blr_lock_record                (unsigned char)115\r
-#define blr_set_bookmark       (unsigned char)116\r
-#define blr_get_bookmark       (unsigned char)117\r
-\r
-#define blr_run_count          (unsigned char)118      /* changed from 88 to avoid conflict with blr_parameter3 */\r
-#define blr_rs_stream          (unsigned char)119\r
-#define blr_exec_proc          (unsigned char)120\r
-#define blr_begin_range        (unsigned char)121\r
-#define blr_end_range          (unsigned char)122\r
-#define blr_delete_range       (unsigned char)123\r
-#define blr_procedure          (unsigned char)124\r
-#define blr_pid                        (unsigned char)125\r
-#define blr_exec_pid           (unsigned char)126\r
-#define blr_singular           (unsigned char)127\r
-#define blr_abort              (unsigned char)128\r
-#define blr_block              (unsigned char)129\r
-#define blr_error_handler      (unsigned char)130\r
-\r
-#define blr_cast               (unsigned char)131\r
-#define blr_release_lock       (unsigned char)132\r
-#define blr_release_locks      (unsigned char)133\r
-#define blr_start_savepoint    (unsigned char)134\r
-#define blr_end_savepoint      (unsigned char)135\r
-#define blr_find_dbkey         (unsigned char)136\r
-#define blr_range_relation     (unsigned char)137\r
-#define blr_delete_ranges      (unsigned char)138\r
-\r
-#define blr_plan               (unsigned char)139      /* access plan items */\r
-#define blr_merge              (unsigned char)140\r
-#define blr_join               (unsigned char)141\r
-#define blr_sequential         (unsigned char)142\r
-#define blr_navigational       (unsigned char)143\r
-#define blr_indices            (unsigned char)144\r
-#define blr_retrieve           (unsigned char)145\r
-\r
-#define blr_relation2          (unsigned char)146\r
-#define blr_rid2               (unsigned char)147\r
-#define blr_reset_stream       (unsigned char)148\r
-#define blr_release_bookmark   (unsigned char)149\r
-\r
-#define blr_set_generator       (unsigned char)150\r
-\r
-#define blr_ansi_any           (unsigned char)151   /* required for NULL handling */\r
-#define blr_exists             (unsigned char)152   /* required for NULL handling */\r
-#define blr_cardinality                (unsigned char)153\r
-\r
-#define blr_record_version     (unsigned char)154      /* get tid of record */\r
-#define blr_stall              (unsigned char)155      /* fake server stall */\r
-\r
-#define blr_seek_no_warn       (unsigned char)156      \r
-#define blr_find_dbkey_version (unsigned char)157   /* find dbkey with record version */\r
-#define blr_ansi_all           (unsigned char)158   /* required for NULL handling */\r
-\r
-#define blr_extract            (unsigned char)159\r
-\r
-/* sub parameters for blr_extract */\r
-\r
-#define blr_extract_year       (unsigned char)0\r
-#define blr_extract_month      (unsigned char)1\r
-#define blr_extract_day                (unsigned char)2\r
-#define blr_extract_hour       (unsigned char)3\r
-#define blr_extract_minute     (unsigned char)4\r
-#define blr_extract_second     (unsigned char)5\r
-#define blr_extract_weekday    (unsigned char)6\r
-#define blr_extract_yearday    (unsigned char)7\r
-\r
-#define blr_current_date       (unsigned char)160\r
-#define blr_current_timestamp  (unsigned char)161\r
-#define blr_current_time       (unsigned char)162\r
-\r
-/* FB 1.0 specific BLR */\r
-\r
-#define blr_current_role       (unsigned char)174\r
-#define blr_skip               (unsigned char)175\r
-\r
-/* FB 1.5 specific BLR */\r
-\r
-#define blr_exec_sql           (unsigned char)176\r
-#define blr_internal_info      (unsigned char)177\r
-#define blr_nullsfirst         (unsigned char)178\r
-#define blr_writelock          (unsigned char)179\r
-#define blr_nullslast       (unsigned char)180\r
-\r
-/* These codes reuse BLR code space */\r
-\r
-#define blr_post_arg           (unsigned char)163\r
-#define blr_exec_into          (unsigned char)164\r
-#define blr_user_savepoint     (unsigned char)165\r
-\r
-/* These codes are actions for user-defined savepoints */\r
-\r
-#define blr_savepoint_set      (unsigned char)0\r
-#define blr_savepoint_release  (unsigned char)1\r
-#define blr_savepoint_undo     (unsigned char)2\r
-#define blr_savepoint_release_single   (unsigned char)3\r
-\r
-#endif /* _JRD_BLR_H_ */\r
-\r
-\r
-/**********************************/\r
-/* Database parameter block stuff */\r
-/**********************************/\r
-\r
-#define isc_dpb_version1                  1\r
-#define isc_dpb_cdd_pathname              1\r
-#define isc_dpb_allocation                2\r
-#define isc_dpb_journal                   3\r
-#define isc_dpb_page_size                 4\r
-#define isc_dpb_num_buffers               5\r
-#define isc_dpb_buffer_length             6\r
-#define isc_dpb_debug                     7\r
-#define isc_dpb_garbage_collect           8\r
-#define isc_dpb_verify                    9\r
-#define isc_dpb_sweep                     10\r
-#define isc_dpb_enable_journal            11\r
-#define isc_dpb_disable_journal           12\r
-#define isc_dpb_dbkey_scope               13\r
-#define isc_dpb_number_of_users           14\r
-#define isc_dpb_trace                     15\r
-#define isc_dpb_no_garbage_collect        16\r
-#define isc_dpb_damaged                   17\r
-#define isc_dpb_license                   18\r
-#define isc_dpb_sys_user_name             19\r
-#define isc_dpb_encrypt_key               20\r
-#define isc_dpb_activate_shadow           21\r
-#define isc_dpb_sweep_interval            22\r
-#define isc_dpb_delete_shadow             23\r
-#define isc_dpb_force_write               24\r
-#define isc_dpb_begin_log                 25\r
-#define isc_dpb_quit_log                  26\r
-#define isc_dpb_no_reserve                27\r
-#define isc_dpb_user_name                 28\r
-#define isc_dpb_password                  29\r
-#define isc_dpb_password_enc              30\r
-#define isc_dpb_sys_user_name_enc         31\r
-#define isc_dpb_interp                    32\r
-#define isc_dpb_online_dump               33\r
-#define isc_dpb_old_file_size             34\r
-#define isc_dpb_old_num_files             35\r
-#define isc_dpb_old_file                  36\r
-#define isc_dpb_old_start_page            37\r
-#define isc_dpb_old_start_seqno           38\r
-#define isc_dpb_old_start_file            39\r
-#define isc_dpb_drop_walfile              40\r
-#define isc_dpb_old_dump_id               41\r
-#define isc_dpb_wal_backup_dir            42\r
-#define isc_dpb_wal_chkptlen              43\r
-#define isc_dpb_wal_numbufs               44\r
-#define isc_dpb_wal_bufsize               45\r
-#define isc_dpb_wal_grp_cmt_wait          46\r
-#define isc_dpb_lc_messages               47\r
-#define isc_dpb_lc_ctype                  48\r
-#define isc_dpb_cache_manager            49\r
-#define isc_dpb_shutdown                 50\r
-#define isc_dpb_online                   51\r
-#define isc_dpb_shutdown_delay           52\r
-#define isc_dpb_reserved                 53\r
-#define isc_dpb_overwrite                54\r
-#define isc_dpb_sec_attach               55\r
-#define isc_dpb_disable_wal              56\r
-#define isc_dpb_connect_timeout           57\r
-#define isc_dpb_dummy_packet_interval     58\r
-#define isc_dpb_gbak_attach               59\r
-#define isc_dpb_sql_role_name             60\r
-#define isc_dpb_set_page_buffers          61\r
-#define isc_dpb_working_directory         62\r
-#define isc_dpb_sql_dialect               63\r
-#define isc_dpb_set_db_readonly           64\r
-#define isc_dpb_set_db_sql_dialect        65\r
-#define isc_dpb_gfix_attach              66\r
-#define isc_dpb_gstat_attach             67\r
-#define isc_dpb_set_db_charset                 68\r
-\r
-/*********************************/\r
-/* isc_dpb_verify specific flags */\r
-/*********************************/\r
-\r
-#define isc_dpb_pages                     1\r
-#define isc_dpb_records                   2\r
-#define isc_dpb_indices                   4\r
-#define isc_dpb_transactions              8\r
-#define isc_dpb_no_update                 16\r
-#define isc_dpb_repair                    32\r
-#define isc_dpb_ignore                    64\r
-\r
-/***********************************/\r
-/* isc_dpb_shutdown specific flags */\r
-/***********************************/\r
-\r
-#define isc_dpb_shut_cache               1\r
-#define isc_dpb_shut_attachment          2\r
-#define isc_dpb_shut_transaction         4\r
-#define isc_dpb_shut_force               8\r
-\r
-/**************************************/\r
-/* Bit assignments in RDB$SYSTEM_FLAG */\r
-/**************************************/\r
-\r
-#define RDB_system                         1\r
-#define RDB_id_assigned                    2\r
-\r
-\r
-/*************************************/\r
-/* Transaction parameter block stuff */\r
-/*************************************/\r
-\r
-#define isc_tpb_version1                  1\r
-#define isc_tpb_version3                  3\r
-#define isc_tpb_consistency               1\r
-#define isc_tpb_concurrency               2\r
-#define isc_tpb_shared                    3\r
-#define isc_tpb_protected                 4\r
-#define isc_tpb_exclusive                 5\r
-#define isc_tpb_wait                      6\r
-#define isc_tpb_nowait                    7\r
-#define isc_tpb_read                      8\r
-#define isc_tpb_write                     9\r
-#define isc_tpb_lock_read                 10\r
-#define isc_tpb_lock_write                11\r
-#define isc_tpb_verb_time                 12\r
-#define isc_tpb_commit_time               13\r
-#define isc_tpb_ignore_limbo              14\r
-#define isc_tpb_read_committed           15\r
-#define isc_tpb_autocommit               16\r
-#define isc_tpb_rec_version              17\r
-#define isc_tpb_no_rec_version           18\r
-#define isc_tpb_restart_requests         19\r
-#define isc_tpb_no_auto_undo              20\r
-\r
-\r
-/************************/\r
-/* Blob Parameter Block */\r
-/************************/\r
-\r
-#define isc_bpb_version1                  1\r
-#define isc_bpb_source_type               1\r
-#define isc_bpb_target_type               2\r
-#define isc_bpb_type                      3\r
-#define isc_bpb_source_interp             4\r
-#define isc_bpb_target_interp             5\r
-#define isc_bpb_filter_parameter          6\r
-\r
-#define isc_bpb_type_segmented            0\r
-#define isc_bpb_type_stream               1\r
-\r
-\r
-/*********************************/\r
-/* Service parameter block stuff */\r
-/*********************************/\r
-\r
-#define isc_spb_version1                  1\r
-#define isc_spb_current_version           2\r
-#define isc_spb_version                          isc_spb_current_version\r
-#define isc_spb_user_name                 isc_dpb_user_name\r
-#define isc_spb_sys_user_name             isc_dpb_sys_user_name\r
-#define isc_spb_sys_user_name_enc         isc_dpb_sys_user_name_enc\r
-#define isc_spb_password                  isc_dpb_password\r
-#define isc_spb_password_enc              isc_dpb_password_enc\r
-#define isc_spb_command_line              105\r
-#define isc_spb_dbname                    106\r
-#define isc_spb_verbose                   107\r
-#define isc_spb_options                   108\r
-\r
-#define isc_spb_connect_timeout           isc_dpb_connect_timeout\r
-#define isc_spb_dummy_packet_interval     isc_dpb_dummy_packet_interval\r
-#define isc_spb_sql_role_name             isc_dpb_sql_role_name\r
-\r
-\r
-/*********************************/\r
-/* Information call declarations */\r
-/*********************************/\r
-\r
-/****************************/\r
-/* Common, structural codes */\r
-/****************************/\r
-\r
-#define isc_info_end                      1\r
-#define isc_info_truncated                2\r
-#define isc_info_error                    3\r
-#define isc_info_data_not_ready                  4\r
-#define isc_info_flag_end                127\r
-\r
-/******************************/\r
-/* Database information items */\r
-/******************************/\r
-\r
-enum db_info_types\r
-    {\r
-       isc_info_db_id = 4,\r
-       isc_info_reads = 5,\r
-       isc_info_writes = 6,\r
-       isc_info_fetches = 7,\r
-       isc_info_marks = 8,\r
-\r
-       isc_info_implementation = 11,\r
-       isc_info_isc_version = 12,\r
-       isc_info_base_level = 13,\r
-       isc_info_page_size = 14,\r
-       isc_info_num_buffers = 15,\r
-       isc_info_limbo = 16,\r
-       isc_info_current_memory = 17,\r
-       isc_info_max_memory = 18,\r
-       isc_info_window_turns = 19,\r
-       isc_info_license = 20,   \r
-\r
-       isc_info_allocation = 21,\r
-       isc_info_attachment_id = 22,\r
-       isc_info_read_seq_count = 23,\r
-       isc_info_read_idx_count = 24,\r
-       isc_info_insert_count = 25,\r
-       isc_info_update_count = 26,\r
-       isc_info_delete_count = 27,\r
-       isc_info_backout_count = 28,\r
-       isc_info_purge_count = 29,\r
-       isc_info_expunge_count = 30, \r
-\r
-       isc_info_sweep_interval = 31,\r
-       isc_info_ods_version = 32,\r
-       isc_info_ods_minor_version = 33,\r
-       isc_info_no_reserve = 34,\r
-       isc_info_logfile = 35,\r
-       isc_info_cur_logfile_name = 36,\r
-       isc_info_cur_log_part_offset = 37,\r
-       isc_info_num_wal_buffers = 38,\r
-       isc_info_wal_buffer_size = 39,\r
-       isc_info_wal_ckpt_length = 40,   \r
-\r
-       isc_info_wal_cur_ckpt_interval = 41,  \r
-       isc_info_wal_prv_ckpt_fname = 42,\r
-       isc_info_wal_prv_ckpt_poffset = 43,\r
-       isc_info_wal_recv_ckpt_fname = 44,\r
-       isc_info_wal_recv_ckpt_poffset = 45,\r
-       isc_info_wal_grpc_wait_usecs = 47,\r
-       isc_info_wal_num_io = 48,\r
-       isc_info_wal_avg_io_size = 49,\r
-       isc_info_wal_num_commits = 50,  \r
-\r
-       isc_info_wal_avg_grpc_size = 51,\r
-       isc_info_forced_writes = 52,\r
-       isc_info_user_names = 53,\r
-       isc_info_page_errors = 54,\r
-       isc_info_record_errors = 55,\r
-       isc_info_bpage_errors = 56,\r
-       isc_info_dpage_errors = 57,\r
-       isc_info_ipage_errors = 58,\r
-       isc_info_ppage_errors = 59,\r
-       isc_info_tpage_errors = 60,\r
-\r
-       isc_info_set_page_buffers = 61,\r
-       isc_info_db_sql_dialect = 62,   \r
-       isc_info_db_read_only = 63,\r
-       isc_info_db_size_in_pages = 64,\r
-\r
-    /* Values 65 -100 unused to avoid conflict with InterBase */\r
-       \r
-       frb_info_att_charset = 101,\r
-       isc_info_db_class = 102,\r
-       isc_info_firebird_version = 103,\r
-       isc_info_oldest_transaction = 104,\r
-       isc_info_oldest_active = 105,\r
-       isc_info_oldest_snapshot = 106,\r
-       isc_info_next_transaction = 107,\r
-       isc_info_db_provider = 108,\r
-       isc_info_active_transactions = 109,\r
-\r
-       isc_info_db_last_value   /* Leave this LAST! */\r
-    };\r
-\r
-#define isc_info_version isc_info_isc_version\r
-\r
-\r
-/**************************************/\r
-/* Database information return values */\r
-/**************************************/\r
-\r
-enum  info_db_implementations\r
-    {\r
-       isc_info_db_impl_rdb_vms = 1,\r
-       isc_info_db_impl_rdb_eln = 2,\r
-       isc_info_db_impl_rdb_eln_dev = 3,\r
-       isc_info_db_impl_rdb_vms_y = 4,\r
-       isc_info_db_impl_rdb_eln_y = 5,\r
-       isc_info_db_impl_jri = 6,\r
-       isc_info_db_impl_jsv = 7,\r
-\r
-       isc_info_db_impl_isc_apl_68K = 25,\r
-       isc_info_db_impl_isc_vax_ultr = 26,\r
-       isc_info_db_impl_isc_vms = 27,\r
-       isc_info_db_impl_isc_sun_68k = 28,\r
-       isc_info_db_impl_isc_os2 = 29,\r
-       isc_info_db_impl_isc_sun4 = 30,    /* 30 */\r
-       \r
-       isc_info_db_impl_isc_hp_ux = 31,\r
-       isc_info_db_impl_isc_sun_386i = 32,\r
-       isc_info_db_impl_isc_vms_orcl = 33,\r
-       isc_info_db_impl_isc_mac_aux = 34,\r
-       isc_info_db_impl_isc_rt_aix = 35,\r
-       isc_info_db_impl_isc_mips_ult = 36,\r
-       isc_info_db_impl_isc_xenix = 37,\r
-       isc_info_db_impl_isc_dg = 38,\r
-       isc_info_db_impl_isc_hp_mpexl = 39,\r
-       isc_info_db_impl_isc_hp_ux68K = 40,       /* 40 */\r
-\r
-       isc_info_db_impl_isc_sgi = 41,\r
-       isc_info_db_impl_isc_sco_unix = 42,\r
-       isc_info_db_impl_isc_cray = 43,\r
-       isc_info_db_impl_isc_imp = 44,\r
-       isc_info_db_impl_isc_delta = 45,\r
-       isc_info_db_impl_isc_next = 46,\r
-       isc_info_db_impl_isc_dos = 47,\r
-       isc_info_db_impl_m88K = 48,\r
-       isc_info_db_impl_unixware = 49,\r
-       isc_info_db_impl_isc_winnt_x86 = 50,\r
-\r
-       isc_info_db_impl_isc_epson = 51,\r
-       isc_info_db_impl_alpha_osf = 52,\r
-       isc_info_db_impl_alpha_vms = 53,\r
-       isc_info_db_impl_netware_386 = 54, \r
-       isc_info_db_impl_win_only = 55,\r
-       isc_info_db_impl_ncr_3000 = 56,\r
-       isc_info_db_impl_winnt_ppc = 57,\r
-       isc_info_db_impl_dg_x86 = 58,\r
-       isc_info_db_impl_sco_ev = 59,\r
-       isc_info_db_impl_i386 = 60,\r
-\r
-       isc_info_db_impl_freebsd = 61,\r
-       isc_info_db_impl_netbsd = 62,\r
-       isc_info_db_impl_darwin = 63,\r
-       isc_info_db_impl_sinixz = 64,\r
-\r
-       isc_info_db_impl_linux_sparc = 65,\r
-       isc_info_db_impl_linux_amd64 = 66,\r
-\r
-       isc_info_db_impl_last_value   /* Leave this LAST! */\r
-    };\r
-\r
-#define isc_info_db_impl_isc_a            isc_info_db_impl_isc_apl_68K\r
-#define isc_info_db_impl_isc_u            isc_info_db_impl_isc_vax_ultr\r
-#define isc_info_db_impl_isc_v            isc_info_db_impl_isc_vms\r
-#define isc_info_db_impl_isc_s            isc_info_db_impl_isc_sun_68k\r
-\r
-\r
-enum info_db_class\r
-    {\r
-       isc_info_db_class_access = 1,\r
-       isc_info_db_class_y_valve = 2,\r
-       isc_info_db_class_rem_int = 3,\r
-       isc_info_db_class_rem_srvr = 4,\r
-       isc_info_db_class_pipe_int = 7,\r
-       isc_info_db_class_pipe_srvr = 8,\r
-       isc_info_db_class_sam_int = 9,\r
-       isc_info_db_class_sam_srvr = 10,\r
-       isc_info_db_class_gateway = 11,\r
-       isc_info_db_class_cache = 12,\r
-       isc_info_db_class_classic_access = 13,\r
-       isc_info_db_class_server_access = 14,\r
-\r
-       isc_info_db_class_last_value   /* Leave this LAST! */\r
-    };\r
-\r
-enum info_db_provider\r
-    {\r
-       isc_info_db_code_rdb_eln = 1,\r
-       isc_info_db_code_rdb_vms = 2,\r
-       isc_info_db_code_interbase = 3,\r
-       isc_info_db_code_firebird = 4,\r
-\r
-       isc_info_db_code_last_value   /* Leave this LAST! */\r
-    };\r
-\r
-\r
-/*****************************/\r
-/* Request information items */\r
-/*****************************/\r
-\r
-#define isc_info_number_messages          4\r
-#define isc_info_max_message              5\r
-#define isc_info_max_send                 6\r
-#define isc_info_max_receive              7\r
-#define isc_info_state                    8\r
-#define isc_info_message_number           9\r
-#define isc_info_message_size             10\r
-#define isc_info_request_cost             11\r
-#define isc_info_access_path              12\r
-#define isc_info_req_select_count         13\r
-#define isc_info_req_insert_count         14\r
-#define isc_info_req_update_count         15\r
-#define isc_info_req_delete_count         16\r
-\r
-\r
-/*********************/\r
-/* Access path items */\r
-/*********************/\r
-\r
-#define isc_info_rsb_end                  0\r
-#define isc_info_rsb_begin                1\r
-#define isc_info_rsb_type                 2\r
-#define isc_info_rsb_relation             3\r
-#define isc_info_rsb_plan                  4\r
-\r
-/*************/\r
-/* Rsb types */\r
-/*************/\r
-\r
-#define isc_info_rsb_unknown              1\r
-#define isc_info_rsb_indexed              2\r
-#define isc_info_rsb_navigate             3\r
-#define isc_info_rsb_sequential                   4\r
-#define isc_info_rsb_cross                5\r
-#define isc_info_rsb_sort                 6\r
-#define isc_info_rsb_first                7\r
-#define isc_info_rsb_boolean              8\r
-#define isc_info_rsb_union                9\r
-#define isc_info_rsb_aggregate           10\r
-#define isc_info_rsb_merge               11\r
-#define isc_info_rsb_ext_sequential      12\r
-#define isc_info_rsb_ext_indexed         13\r
-#define isc_info_rsb_ext_dbkey           14\r
-#define isc_info_rsb_left_cross                  15\r
-#define isc_info_rsb_select              16\r
-#define isc_info_rsb_sql_join            17\r
-#define isc_info_rsb_simulate            18\r
-#define isc_info_rsb_sim_cross           19\r
-#define isc_info_rsb_once                20\r
-#define isc_info_rsb_procedure           21\r
-\r
-/**********************/\r
-/* Bitmap expressions */\r
-/**********************/\r
-\r
-#define isc_info_rsb_and               1\r
-#define isc_info_rsb_or                        2\r
-#define isc_info_rsb_dbkey             3\r
-#define isc_info_rsb_index             4\r
-\r
-#define isc_info_req_active               2\r
-#define isc_info_req_inactive             3\r
-#define isc_info_req_send                 4\r
-#define isc_info_req_receive              5\r
-#define isc_info_req_select               6\r
-#define isc_info_req_sql_stall           7\r
-\r
-/**************************/\r
-/* Blob information items */\r
-/**************************/\r
-\r
-#define isc_info_blob_num_segments        4\r
-#define isc_info_blob_max_segment         5\r
-#define isc_info_blob_total_length        6\r
-#define isc_info_blob_type                7\r
-\r
-/*********************************/\r
-/* Transaction information items */\r
-/*********************************/\r
-\r
-#define isc_info_tra_id                   4\r
-\r
-/*****************************\r
- * Service action items      *\r
- *****************************/\r
-\r
-#define isc_action_svc_backup          1       /* Starts database backup process on the server */\r
-#define isc_action_svc_restore         2       /* Starts database restore process on the server */\r
-#define isc_action_svc_repair          3       /* Starts database repair process on the server */\r
-#define isc_action_svc_add_user        4       /* Adds a new user to the security database */\r
-#define isc_action_svc_delete_user     5       /* Deletes a user record from the security database */\r
-#define isc_action_svc_modify_user     6       /* Modifies a user record in the security database */\r
-#define isc_action_svc_display_user    7       /* Displays a user record from the security database */\r
-#define isc_action_svc_properties      8       /* Sets database properties */\r
-#define isc_action_svc_add_license     9       /* Adds a license to the license file */\r
-#define isc_action_svc_remove_license 10       /* Removes a license from the license file */\r
-#define isc_action_svc_db_stats              11        /* Retrieves database statistics */\r
-#define isc_action_svc_get_ib_log     12       /* Retrieves the InterBase log file from the server */\r
-\r
-/*****************************\r
- * Service information items *\r
- *****************************/\r
-\r
-#define isc_info_svc_svr_db_info      50       /* Retrieves the number of attachments and databases */\r
-#define isc_info_svc_get_license      51       /* Retrieves all license keys and IDs from the license file */\r
-#define isc_info_svc_get_license_mask 52       /* Retrieves a bitmask representing licensed options on the server */\r
-#define isc_info_svc_get_config       53       /* Retrieves the parameters and values for IB_CONFIG */\r
-#define isc_info_svc_version          54       /* Retrieves the version of the services manager */\r
-#define isc_info_svc_server_version   55       /* Retrieves the version of the InterBase server */\r
-#define isc_info_svc_implementation   56       /* Retrieves the implementation of the InterBase server */\r
-#define isc_info_svc_capabilities     57       /* Retrieves a bitmask representing the server's capabilities */\r
-#define isc_info_svc_user_dbpath      58       /* Retrieves the path to the security database in use by the server */\r
-#define isc_info_svc_get_env         59        /* Retrieves the setting of $INTERBASE */\r
-#define isc_info_svc_get_env_lock     60       /* Retrieves the setting of $INTERBASE_LCK */\r
-#define isc_info_svc_get_env_msg      61       /* Retrieves the setting of $INTERBASE_MSG */\r
-#define isc_info_svc_line             62       /* Retrieves 1 line of service output per call */\r
-#define isc_info_svc_to_eof           63       /* Retrieves as much of the server output as will fit in the supplied buffer */\r
-#define isc_info_svc_timeout          64       /* Sets / signifies a timeout value for reading service information */\r
-#define isc_info_svc_get_licensed_users 65     /* Retrieves the number of users licensed for accessing the server */\r
-#define isc_info_svc_limbo_trans       66      /* Retrieve the limbo transactions */\r
-#define isc_info_svc_running           67      /* Checks to see if a service is running on an attachment */\r
-#define isc_info_svc_get_users         68      /* Returns the user information from isc_action_svc_display_users */\r
-\r
-/******************************************************\r
- * Parameters for isc_action_{add|delete|modify)_user *\r
- ******************************************************/\r
-\r
-#define isc_spb_sec_userid            5\r
-#define isc_spb_sec_groupid           6\r
-#define isc_spb_sec_username          7\r
-#define isc_spb_sec_password          8\r
-#define isc_spb_sec_groupname         9\r
-#define isc_spb_sec_firstname         10\r
-#define isc_spb_sec_middlename        11\r
-#define isc_spb_sec_lastname          12\r
-\r
-/*******************************************************\r
- * Parameters for isc_action_svc_(add|remove)_license, *\r
- * isc_info_svc_get_license                            *\r
- *******************************************************/\r
-\r
-#define isc_spb_lic_key               5\r
-#define isc_spb_lic_id                6\r
-#define isc_spb_lic_desc              7\r
-\r
-\r
-/*****************************************\r
- * Parameters for isc_action_svc_backup  *\r
- *****************************************/\r
-\r
-#define isc_spb_bkp_file                 5\r
-#define isc_spb_bkp_factor               6\r
-#define isc_spb_bkp_length               7\r
-#define isc_spb_bkp_ignore_checksums     0x01\r
-#define isc_spb_bkp_ignore_limbo         0x02\r
-#define isc_spb_bkp_metadata_only        0x04\r
-#define isc_spb_bkp_no_garbage_collect   0x08\r
-#define isc_spb_bkp_old_descriptions     0x10\r
-#define isc_spb_bkp_non_transportable    0x20\r
-#define isc_spb_bkp_convert              0x40\r
-#define isc_spb_bkp_expand              0x80\r
-\r
-/********************************************\r
- * Parameters for isc_action_svc_properties *\r
- ********************************************/\r
-\r
-#define isc_spb_prp_page_buffers               5\r
-#define isc_spb_prp_sweep_interval             6\r
-#define isc_spb_prp_shutdown_db                        7\r
-#define isc_spb_prp_deny_new_attachments       9\r
-#define isc_spb_prp_deny_new_transactions      10\r
-#define isc_spb_prp_reserve_space              11\r
-#define isc_spb_prp_write_mode                 12\r
-#define isc_spb_prp_access_mode                        13\r
-#define isc_spb_prp_set_sql_dialect            14\r
-#define isc_spb_prp_activate                   0x0100\r
-#define isc_spb_prp_db_online                  0x0200\r
-\r
-/********************************************\r
- * Parameters for isc_spb_prp_reserve_space *\r
- ********************************************/\r
-\r
-#define isc_spb_prp_res_use_full       35\r
-#define isc_spb_prp_res                        36\r
-\r
-/******************************************\r
- * Parameters for isc_spb_prp_write_mode  *\r
- ******************************************/\r
-\r
-#define isc_spb_prp_wm_async           37\r
-#define isc_spb_prp_wm_sync                    38\r
-\r
-/******************************************\r
- * Parameters for isc_spb_prp_access_mode *\r
- ******************************************/\r
-\r
-#define isc_spb_prp_am_readonly                39\r
-#define isc_spb_prp_am_readwrite       40\r
-\r
-/*****************************************\r
- * Parameters for isc_action_svc_repair  *\r
- *****************************************/\r
-\r
-#define isc_spb_rpr_commit_trans               15\r
-#define isc_spb_rpr_rollback_trans             34\r
-#define isc_spb_rpr_recover_two_phase  17\r
-#define isc_spb_tra_id                                 18\r
-#define isc_spb_single_tra_id                  19\r
-#define isc_spb_multi_tra_id                   20\r
-#define isc_spb_tra_state                              21\r
-#define isc_spb_tra_state_limbo                        22\r
-#define isc_spb_tra_state_commit               23\r
-#define isc_spb_tra_state_rollback             24\r
-#define isc_spb_tra_state_unknown              25\r
-#define isc_spb_tra_host_site                  26\r
-#define isc_spb_tra_remote_site                        27\r
-#define isc_spb_tra_db_path                            28\r
-#define isc_spb_tra_advise                             29\r
-#define isc_spb_tra_advise_commit              30\r
-#define isc_spb_tra_advise_rollback            31\r
-#define isc_spb_tra_advise_unknown             33\r
-\r
-#define isc_spb_rpr_validate_db                        0x01\r
-#define isc_spb_rpr_sweep_db                   0x02\r
-#define isc_spb_rpr_mend_db                            0x04\r
-#define isc_spb_rpr_list_limbo_trans   0x08\r
-#define isc_spb_rpr_check_db                   0x10\r
-#define isc_spb_rpr_ignore_checksum            0x20\r
-#define isc_spb_rpr_kill_shadows               0x40\r
-#define isc_spb_rpr_full                               0x80\r
-\r
-/*****************************************\r
- * Parameters for isc_action_svc_restore *\r
- *****************************************/\r
-\r
-#define isc_spb_res_buffers                            9\r
-#define isc_spb_res_page_size                  10\r
-#define isc_spb_res_length                             11\r
-#define isc_spb_res_access_mode                        12\r
-#define isc_spb_res_deactivate_idx             0x0100\r
-#define isc_spb_res_no_shadow                  0x0200\r
-#define isc_spb_res_no_validity                        0x0400\r
-#define isc_spb_res_one_at_a_time              0x0800\r
-#define isc_spb_res_replace                            0x1000\r
-#define isc_spb_res_create                             0x2000\r
-#define isc_spb_res_use_all_space              0x4000\r
-\r
-/******************************************\r
- * Parameters for isc_spb_res_access_mode  *\r
- ******************************************/\r
-\r
-#define isc_spb_res_am_readonly                        isc_spb_prp_am_readonly\r
-#define isc_spb_res_am_readwrite               isc_spb_prp_am_readwrite\r
-\r
-/*******************************************\r
- * Parameters for isc_info_svc_svr_db_info *\r
- *******************************************/\r
-\r
-#define isc_spb_num_att                        5\r
-#define isc_spb_num_db                 6\r
-\r
-/*****************************************\r
- * Parameters for isc_info_svc_db_stats  *\r
- *****************************************/\r
-\r
-#define isc_spb_sts_data_pages         0x01\r
-#define isc_spb_sts_db_log                     0x02\r
-#define isc_spb_sts_hdr_pages          0x04\r
-#define isc_spb_sts_idx_pages          0x08\r
-#define isc_spb_sts_sys_relations      0x10\r
-#define isc_spb_sts_record_versions    0x20\r
-#define isc_spb_sts_table                      0x40\r
-\r
-/*************************/\r
-/* SQL information items */\r
-/*************************/\r
-\r
-#define isc_info_sql_select               4\r
-#define isc_info_sql_bind                 5\r
-#define isc_info_sql_num_variables        6\r
-#define isc_info_sql_describe_vars        7\r
-#define isc_info_sql_describe_end         8\r
-#define isc_info_sql_sqlda_seq            9\r
-#define isc_info_sql_message_seq          10\r
-#define isc_info_sql_type                 11\r
-#define isc_info_sql_sub_type             12\r
-#define isc_info_sql_scale                13\r
-#define isc_info_sql_length               14\r
-#define isc_info_sql_null_ind             15\r
-#define isc_info_sql_field                16\r
-#define isc_info_sql_relation             17\r
-#define isc_info_sql_owner                18\r
-#define isc_info_sql_alias                19\r
-#define isc_info_sql_sqlda_start          20\r
-#define isc_info_sql_stmt_type            21\r
-#define isc_info_sql_get_plan             22\r
-#define isc_info_sql_records             23\r
-#define isc_info_sql_batch_fetch         24\r
-\r
-/*********************************/\r
-/* SQL information return values */\r
-/*********************************/\r
-\r
-#define isc_info_sql_stmt_select          1\r
-#define isc_info_sql_stmt_insert          2\r
-#define isc_info_sql_stmt_update          3\r
-#define isc_info_sql_stmt_delete          4\r
-#define isc_info_sql_stmt_ddl             5\r
-#define isc_info_sql_stmt_get_segment     6\r
-#define isc_info_sql_stmt_put_segment     7\r
-#define isc_info_sql_stmt_exec_procedure  8\r
-#define isc_info_sql_stmt_start_trans     9\r
-#define isc_info_sql_stmt_commit          10\r
-#define isc_info_sql_stmt_rollback        11\r
-#define isc_info_sql_stmt_select_for_upd  12\r
-#define isc_info_sql_stmt_set_generator   13\r
-#define isc_info_sql_stmt_savepoint       14\r
-\r
-\r
-/***********************************/\r
-/* Server configuration key values */\r
-/***********************************/\r
-\r
-/* Not available in Firebird 1.5 */\r
-\r
-\r
-/**********************************************/\r
-/* Dynamic Data Definition Language operators */\r
-/**********************************************/\r
-\r
-/******************/\r
-/* Version number */\r
-/******************/\r
-\r
-#define isc_dyn_version_1                 1\r
-#define isc_dyn_eoc                       255\r
-\r
-/******************************/\r
-/* Operations (may be nested) */\r
-/******************************/\r
-\r
-#define isc_dyn_begin                     2\r
-#define isc_dyn_end                       3\r
-#define isc_dyn_if                        4\r
-#define isc_dyn_def_database              5\r
-#define isc_dyn_def_global_fld            6\r
-#define isc_dyn_def_local_fld             7\r
-#define isc_dyn_def_idx                   8\r
-#define isc_dyn_def_rel                   9\r
-#define isc_dyn_def_sql_fld               10\r
-#define isc_dyn_def_view                  12\r
-#define isc_dyn_def_trigger               15\r
-#define isc_dyn_def_security_class        120\r
-#define isc_dyn_def_dimension             140\r
-#define isc_dyn_def_generator             24\r
-#define isc_dyn_def_function              25\r
-#define isc_dyn_def_filter                26\r
-#define isc_dyn_def_function_arg          27\r
-#define isc_dyn_def_shadow                34\r
-#define isc_dyn_def_trigger_msg           17\r
-#define isc_dyn_def_file                  36\r
-#define isc_dyn_mod_database              39\r
-#define isc_dyn_mod_rel                   11\r
-#define isc_dyn_mod_global_fld            13\r
-#define isc_dyn_mod_idx                   102\r
-#define isc_dyn_mod_local_fld             14\r
-#define isc_dyn_mod_sql_fld              216\r
-#define isc_dyn_mod_view                  16\r
-#define isc_dyn_mod_security_class        122\r
-#define isc_dyn_mod_trigger               113\r
-#define isc_dyn_mod_trigger_msg           28\r
-#define isc_dyn_delete_database           18\r
-#define isc_dyn_delete_rel                19\r
-#define isc_dyn_delete_global_fld         20\r
-#define isc_dyn_delete_local_fld          21\r
-#define isc_dyn_delete_idx                22\r
-#define isc_dyn_delete_security_class     123\r
-#define isc_dyn_delete_dimensions         143\r
-#define isc_dyn_delete_trigger            23\r
-#define isc_dyn_delete_trigger_msg        29\r
-#define isc_dyn_delete_filter             32\r
-#define isc_dyn_delete_function           33\r
-#define isc_dyn_delete_shadow             35\r
-#define isc_dyn_grant                     30\r
-#define isc_dyn_revoke                    31\r
-#define isc_dyn_def_primary_key           37\r
-#define isc_dyn_def_foreign_key           38\r
-#define isc_dyn_def_unique                40\r
-#define isc_dyn_def_procedure             164\r
-#define isc_dyn_delete_procedure          165\r
-#define isc_dyn_def_parameter             135\r
-#define isc_dyn_delete_parameter          136\r
-#define isc_dyn_mod_procedure             175\r
-#define isc_dyn_def_log_file              176\r
-#define isc_dyn_def_cache_file            180\r
-#define isc_dyn_def_exception             181\r
-#define isc_dyn_mod_exception             182\r
-#define isc_dyn_del_exception             183\r
-#define isc_dyn_drop_log                  194\r
-#define isc_dyn_drop_cache                195\r
-#define isc_dyn_def_default_log           202\r
-\r
-/***********************/\r
-/* View specific stuff */\r
-/***********************/\r
-\r
-#define isc_dyn_view_blr                  43\r
-#define isc_dyn_view_source               44\r
-#define isc_dyn_view_relation             45\r
-#define isc_dyn_view_context              46\r
-#define isc_dyn_view_context_name         47\r
-\r
-/**********************/\r
-/* Generic attributes */\r
-/**********************/\r
-\r
-#define isc_dyn_rel_name                  50\r
-#define isc_dyn_fld_name                  51\r
-#define isc_dyn_new_fld_name             215\r
-#define isc_dyn_idx_name                  52\r
-#define isc_dyn_description               53\r
-#define isc_dyn_security_class            54\r
-#define isc_dyn_system_flag               55\r
-#define isc_dyn_update_flag               56\r
-#define isc_dyn_prc_name                  166\r
-#define isc_dyn_prm_name                  137\r
-#define isc_dyn_sql_object                196\r
-#define isc_dyn_fld_character_set_name    174\r
-\r
-/********************************/\r
-/* Relation specific attributes */\r
-/********************************/\r
-\r
-#define isc_dyn_rel_dbkey_length          61\r
-#define isc_dyn_rel_store_trig            62\r
-#define isc_dyn_rel_modify_trig           63\r
-#define isc_dyn_rel_erase_trig            64\r
-#define isc_dyn_rel_store_trig_source     65\r
-#define isc_dyn_rel_modify_trig_source    66\r
-#define isc_dyn_rel_erase_trig_source     67\r
-#define isc_dyn_rel_ext_file              68\r
-#define isc_dyn_rel_sql_protection        69\r
-#define isc_dyn_rel_constraint            162\r
-#define isc_dyn_delete_rel_constraint     163\r
-\r
-/************************************/\r
-/* Global field specific attributes */\r
-/************************************/\r
-\r
-#define isc_dyn_fld_type                  70\r
-#define isc_dyn_fld_length                71\r
-#define isc_dyn_fld_scale                 72\r
-#define isc_dyn_fld_sub_type              73\r
-#define isc_dyn_fld_segment_length        74\r
-#define isc_dyn_fld_query_header          75\r
-#define isc_dyn_fld_edit_string           76\r
-#define isc_dyn_fld_validation_blr        77\r
-#define isc_dyn_fld_validation_source     78\r
-#define isc_dyn_fld_computed_blr          79\r
-#define isc_dyn_fld_computed_source       80\r
-#define isc_dyn_fld_missing_value         81\r
-#define isc_dyn_fld_default_value         82\r
-#define isc_dyn_fld_query_name            83\r
-#define isc_dyn_fld_dimensions            84\r
-#define isc_dyn_fld_not_null              85\r
-#define isc_dyn_fld_precision             86\r
-#define isc_dyn_fld_char_length           172\r
-#define isc_dyn_fld_collation             173\r
-#define isc_dyn_fld_default_source        193\r
-#define isc_dyn_del_default               197\r
-#define isc_dyn_del_validation            198\r
-#define isc_dyn_single_validation         199\r
-#define isc_dyn_fld_character_set         203\r
-\r
-/***********************************/\r
-/* Local field specific attributes */\r
-/***********************************/\r
-\r
-#define isc_dyn_fld_source                90\r
-#define isc_dyn_fld_base_fld              91\r
-#define isc_dyn_fld_position              92\r
-#define isc_dyn_fld_update_flag           93\r
-\r
-/*****************************/\r
-/* Index specific attributes */\r
-/*****************************/\r
-\r
-#define isc_dyn_idx_unique                100\r
-#define isc_dyn_idx_inactive              101\r
-#define isc_dyn_idx_type                  103\r
-#define isc_dyn_idx_foreign_key           104\r
-#define isc_dyn_idx_ref_column            105\r
-#define isc_dyn_idx_statistic            204\r
-\r
-/*******************************/\r
-/* Trigger specific attributes */\r
-/*******************************/\r
-\r
-#define isc_dyn_trg_type                  110\r
-#define isc_dyn_trg_blr                   111\r
-#define isc_dyn_trg_source                112\r
-#define isc_dyn_trg_name                  114\r
-#define isc_dyn_trg_sequence              115\r
-#define isc_dyn_trg_inactive              116\r
-#define isc_dyn_trg_msg_number            117\r
-#define isc_dyn_trg_msg                   118\r
-\r
-/**************************************/\r
-/* Security Class specific attributes */\r
-/**************************************/\r
-\r
-#define isc_dyn_scl_acl                   121\r
-#define isc_dyn_grant_user                130\r
-#define isc_dyn_grant_user_explicit       219\r
-#define isc_dyn_grant_proc                186\r
-#define isc_dyn_grant_trig                187\r
-#define isc_dyn_grant_view                188\r
-#define isc_dyn_grant_options             132\r
-#define isc_dyn_grant_user_group          205\r
-#define isc_dyn_grant_role                218\r
-\r
-\r
-/**********************************/\r
-/* Dimension specific information */\r
-/**********************************/\r
-\r
-#define isc_dyn_dim_lower                 141\r
-#define isc_dyn_dim_upper                 142\r
-\r
-/****************************/\r
-/* File specific attributes */\r
-/****************************/\r
-\r
-#define isc_dyn_file_name                 125\r
-#define isc_dyn_file_start                126\r
-#define isc_dyn_file_length               127\r
-#define isc_dyn_shadow_number             128\r
-#define isc_dyn_shadow_man_auto           129\r
-#define isc_dyn_shadow_conditional        130\r
-\r
-/********************************/\r
-/* Log file specific attributes */\r
-/********************************/\r
-\r
-#define isc_dyn_log_file_sequence         177\r
-#define isc_dyn_log_file_partitions       178\r
-#define isc_dyn_log_file_serial           179\r
-#define isc_dyn_log_file_overflow         200\r
-#define isc_dyn_log_file_raw             201\r
-\r
-/***************************/\r
-/* Log specific attributes */\r
-/***************************/\r
-\r
-#define isc_dyn_log_group_commit_wait     189\r
-#define isc_dyn_log_buffer_size           190\r
-#define isc_dyn_log_check_point_length    191\r
-#define isc_dyn_log_num_of_buffers        192\r
-\r
-/********************************/\r
-/* Function specific attributes */\r
-/********************************/\r
-\r
-#define isc_dyn_function_name             145\r
-#define isc_dyn_function_type             146\r
-#define isc_dyn_func_module_name          147\r
-#define isc_dyn_func_entry_point          148\r
-#define isc_dyn_func_return_argument      149\r
-#define isc_dyn_func_arg_position         150\r
-#define isc_dyn_func_mechanism            151\r
-#define isc_dyn_filter_in_subtype         152\r
-#define isc_dyn_filter_out_subtype        153\r
-\r
-\r
-#define isc_dyn_description2             154\r
-#define isc_dyn_fld_computed_source2     155\r
-#define isc_dyn_fld_edit_string2         156\r
-#define isc_dyn_fld_query_header2        157\r
-#define isc_dyn_fld_validation_source2   158\r
-#define isc_dyn_trg_msg2                 159\r
-#define isc_dyn_trg_source2              160\r
-#define isc_dyn_view_source2             161\r
-#define isc_dyn_xcp_msg2                 184\r
-\r
-/*********************************/\r
-/* Generator specific attributes */\r
-/*********************************/\r
-\r
-#define isc_dyn_generator_name            95\r
-#define isc_dyn_generator_id              96\r
-\r
-/*********************************/\r
-/* Procedure specific attributes */\r
-/*********************************/\r
-\r
-#define isc_dyn_prc_inputs                167\r
-#define isc_dyn_prc_outputs               168\r
-#define isc_dyn_prc_source                169\r
-#define isc_dyn_prc_blr                   170\r
-#define isc_dyn_prc_source2               171\r
-\r
-/*********************************/\r
-/* Parameter specific attributes */\r
-/*********************************/\r
-\r
-#define isc_dyn_prm_number                138\r
-#define isc_dyn_prm_type                  139\r
-\r
-/********************************/\r
-/* Relation specific attributes */\r
-/********************************/\r
-\r
-#define isc_dyn_xcp_msg                   185\r
-\r
-/**********************************************/\r
-/* Cascading referential integrity values     */\r
-/**********************************************/\r
-#define isc_dyn_foreign_key_update        205\r
-#define isc_dyn_foreign_key_delete        206\r
-#define isc_dyn_foreign_key_cascade       207\r
-#define isc_dyn_foreign_key_default       208\r
-#define isc_dyn_foreign_key_null          209\r
-#define isc_dyn_foreign_key_none          210\r
-\r
-/***********************/\r
-/* SQL role values     */\r
-/***********************/\r
-#define isc_dyn_def_sql_role              211\r
-#define isc_dyn_sql_role_name             212\r
-#define isc_dyn_grant_admin_options       213\r
-#define isc_dyn_del_sql_role              214\r
-/* 215 & 216 are used some lines above. */\r
-\r
-/**********************************************/\r
-/* Generators again                           */\r
-/**********************************************/\r
-\r
-#ifndef __cplusplus                     /* c definitions */\r
-#define gds_dyn_delete_generator          217\r
-#else                                   /* c++ definitions */\r
-const unsigned char gds_dyn_delete_generator       = 217;\r
-#endif\r
-\r
-/****************************/\r
-/* Last $dyn value assigned */\r
-/****************************/\r
-\r
-#define isc_dyn_last_dyn_value            219\r
-\r
-/******************************************/\r
-/* Array slice description language (SDL) */\r
-/******************************************/\r
-\r
-#define isc_sdl_version1                  1\r
-#define isc_sdl_eoc                       255\r
-#define isc_sdl_relation                  2\r
-#define isc_sdl_rid                       3\r
-#define isc_sdl_field                     4\r
-#define isc_sdl_fid                       5\r
-#define isc_sdl_struct                    6\r
-#define isc_sdl_variable                  7\r
-#define isc_sdl_scalar                    8\r
-#define isc_sdl_tiny_integer              9\r
-#define isc_sdl_short_integer             10\r
-#define isc_sdl_long_integer              11\r
-#define isc_sdl_literal                   12\r
-#define isc_sdl_add                       13\r
-#define isc_sdl_subtract                  14\r
-#define isc_sdl_multiply                  15\r
-#define isc_sdl_divide                    16\r
-#define isc_sdl_negate                    17\r
-#define isc_sdl_eql                       18\r
-#define isc_sdl_neq                       19\r
-#define isc_sdl_gtr                       20\r
-#define isc_sdl_geq                       21\r
-#define isc_sdl_lss                       22\r
-#define isc_sdl_leq                       23\r
-#define isc_sdl_and                       24\r
-#define isc_sdl_or                        25\r
-#define isc_sdl_not                       26\r
-#define isc_sdl_while                     27\r
-#define isc_sdl_assignment                28\r
-#define isc_sdl_label                     29\r
-#define isc_sdl_leave                     30\r
-#define isc_sdl_begin                     31\r
-#define isc_sdl_end                       32\r
-#define isc_sdl_do3                       33\r
-#define isc_sdl_do2                       34\r
-#define isc_sdl_do1                       35\r
-#define isc_sdl_element                   36\r
-\r
-/********************************************/\r
-/* International text interpretation values */\r
-/********************************************/\r
-\r
-#define isc_interp_eng_ascii              0\r
-#define isc_interp_jpn_sjis               5\r
-#define isc_interp_jpn_euc                6\r
-\r
-/*******************/\r
-/* SQL definitions */\r
-/*******************/\r
-\r
-#define SQL_TEXT                           452\r
-#define SQL_VARYING                        448\r
-#define SQL_SHORT                          500\r
-#define SQL_LONG                           496\r
-#define SQL_FLOAT                          482\r
-#define SQL_DOUBLE                         480\r
-#define SQL_D_FLOAT                        530\r
-#define SQL_TIMESTAMP                      510\r
-#define SQL_BLOB                           520\r
-#define SQL_ARRAY                          540\r
-#define SQL_QUAD                           550\r
-#define SQL_TYPE_TIME                     560\r
-#define SQL_TYPE_DATE                      570\r
-#define SQL_INT64                         580\r
-\r
-/* Historical alias for pre V6 applications */\r
-#define SQL_DATE                       SQL_TIMESTAMP\r
-\r
-/*****************/\r
-/* Blob Subtypes */\r
-/*****************/\r
-\r
-/* types less than zero are reserved for customer use */\r
-\r
-#define isc_blob_untyped                   0\r
-\r
-/* internal subtypes */\r
-\r
-#define isc_blob_text                      1\r
-#define isc_blob_blr                       2\r
-#define isc_blob_acl                       3\r
-#define isc_blob_ranges                    4\r
-#define isc_blob_summary                   5\r
-#define isc_blob_format                    6\r
-#define isc_blob_tra                       7\r
-#define isc_blob_extfile                   8\r
-\r
-/* the range 20-30 is reserved for dBASE and Paradox types */\r
-\r
-#define isc_blob_formatted_memo            20\r
-#define isc_blob_paradox_ole               21\r
-#define isc_blob_graphic                   22\r
-#define isc_blob_dbase_ole                 23\r
-#define isc_blob_typed_binary              24\r
-\r
-/* Deprecated definitions maintained for compatibility only */\r
-\r
-#define isc_info_db_SQL_dialect           62\r
-#define isc_dpb_SQL_dialect               63\r
-#define isc_dpb_set_db_SQL_dialect        65\r
-\r
-\r
-#include "iberror.h"\r
-\r
-#endif /* JRD_IBASE_H */\r
-\r