home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 January / Chip_2001-01_cd1.bin / tema / interb / InterBase_WI-V6.0-server.exe / server / SDK / include / ibase.h < prev    next >
C/C++ Source or Header  |  2000-06-23  |  96KB  |  2,657 lines

  1. /*
  2.  *    MODULE:        ibase.h
  3.  *    DESCRIPTION:    OSRI entrypoints and defines
  4.  *
  5.  * The contents of this file are subject to the Interbase Public
  6.  * License Version 1.0 (the "License"); you may not use this file
  7.  * except in compliance with the License. You may obtain a copy
  8.  * of the License at http://www.Interbase.com/IPL/
  9.  *
  10.  * Software distributed under the License is distributed on an
  11.  * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
  12.  * or implied. See the License for the specific language governing
  13.  * rights and limitations under the License.
  14.  *
  15.  * The Original Code was created by Interbase Software Corporation
  16.  * and its successors. Portions created by Borland/Inprise are
  17.  * Copyright (C) 1992-1998 and 1999-2000 Borland/Inprise. Portions
  18.  * created by InterBase Software Corporation are Copyright (C)
  19.  * 1998-1999 InterBase Software Corporation.
  20.  *
  21.  * Copyright (C) 2000 InterBase Software Corporation
  22.  * All Rights Reserved.
  23.  * Contributor(s): ______________________________________.
  24.  */
  25.  
  26. #ifndef _JRD_IBASE_H_
  27. #define _JRD_IBASE_H_
  28.  
  29. #ifndef HARBOR_MERGE
  30. #define HARBOR_MERGE
  31. #endif
  32.  
  33. #define isc_version4
  34.  
  35. #define  ISC_TRUE    1
  36. #define  ISC_FALSE    0
  37. #if !(defined __cplusplus)
  38. #define  ISC__TRUE    ISC_TRUE
  39. #define  ISC__FALSE    ISC_FALSE
  40. #endif
  41.  
  42. #if (defined __osf__ && defined __alpha)
  43. #define  ISC_LONG    int
  44. #define  ISC_ULONG    unsigned int
  45. #else
  46. #define  ISC_LONG    long
  47. #define  ISC_ULONG    unsigned long
  48. #endif
  49.  
  50. #define  ISC_USHORT    unsigned short
  51. #define  ISC_STATUS    long
  52.  
  53. #define  DSQL_close     1
  54. #define  DSQL_drop      2
  55.  
  56.  
  57. /******************************************************************/
  58. /* Define type, export and other stuff based on c/c++ and Windows */
  59. /******************************************************************/
  60.  
  61. #if (defined(_MSC_VER) && defined(_WIN32)) || \
  62.     (defined(__BORLANDC__) && (defined(__WIN32__) || defined(__OS2__)))
  63. #define  ISC_FAR
  64. #define  ISC_EXPORT    __stdcall
  65. #define  ISC_EXPORT_VARARG    __cdecl
  66. typedef           __int64  ISC_INT64;
  67. typedef  unsigned __int64  ISC_UINT64;
  68. #define  ISC_INT64_DEFINED
  69. #else                    /* Not Windows/NT */
  70. #if (defined(__IBMC__) && defined(__OS2__))
  71. #define  ISC_FAR
  72. #define  ISC_EXPORT    _System
  73. #define  ISC_EXPORT_VARARG    ISC_EXPORT
  74. #else                    /* not IBM C Set++ for OS/2 */
  75. #if ( defined( _Windows) || defined( _WINDOWS))
  76. #define  ISC_FAR    __far
  77. #define  ISC_EXPORT     ISC_FAR __cdecl __loadds __export
  78. #define  ISC_EXPORT_VARARG    ISC_EXPORT
  79. #else                    /* Not Windows/NT, OS/2 or Windows */
  80. #define  ISC_FAR
  81. #define  ISC_EXPORT
  82. #define  ISC_EXPORT_VARARG
  83. #endif                    /* Windows and Not Windows/NT or OS/2 */
  84. #endif                    /* IBM C Set++ for OS/2 */
  85. #endif                   /* Windows/NT */
  86.  
  87. /*******************************************************************/
  88. /* 64 bit Integers                                                 */
  89. /*******************************************************************/
  90.  
  91. #ifndef  ISC_INT64_DEFINED              
  92. typedef           long long int  ISC_INT64;    
  93. typedef  unsigned long long int  ISC_UINT64;    
  94. #else
  95. #undef  ISC_INT64_DEFINED
  96. #endif
  97.  
  98. /*******************************************************************/
  99. /* Time & Date Support                                             */
  100. /*******************************************************************/
  101.  
  102. #ifndef _ISC_TIMESTAMP_
  103. typedef long        ISC_DATE;
  104. typedef unsigned long    ISC_TIME;
  105. typedef struct {
  106.     ISC_DATE     timestamp_date;
  107.     ISC_TIME    timestamp_time;
  108. } ISC_TIMESTAMP;
  109. #define _ISC_TIMESTAMP_            1
  110. #endif
  111.  
  112. #define ISC_TIME_SECONDS_PRECISION          10000L
  113. #define ISC_TIME_SECONDS_PRECISION_SCALE    -4
  114.  
  115. /*******************************************************************/
  116. /* Blob id structure                                               */
  117. /*******************************************************************/
  118.  
  119. typedef struct {
  120.     ISC_LONG        gds_quad_high;
  121.     unsigned ISC_LONG    gds_quad_low;
  122. } GDS_QUAD;
  123. #if !(defined __cplusplus)
  124. typedef GDS_QUAD    GDS__QUAD;
  125. #endif                    /* !(defined __cplusplus) */
  126.  
  127. #define    ISC_QUAD    GDS_QUAD
  128. #define    isc_quad_high    gds_quad_high
  129. #define    isc_quad_low    gds_quad_low
  130.  
  131. typedef struct {
  132.     short           array_bound_lower;
  133.     short           array_bound_upper;
  134. } ISC_ARRAY_BOUND;
  135.  
  136. typedef struct {
  137.     unsigned char       array_desc_dtype;
  138.     char                array_desc_scale;
  139.     unsigned short      array_desc_length;
  140.     char                array_desc_field_name [32];
  141.     char                array_desc_relation_name [32];
  142.     short               array_desc_dimensions;
  143.     short               array_desc_flags;
  144.     ISC_ARRAY_BOUND     array_desc_bounds [16];
  145. } ISC_ARRAY_DESC;
  146.  
  147. typedef struct {
  148.     short               blob_desc_subtype;
  149.     short               blob_desc_charset;
  150.     short               blob_desc_segment_size;
  151.     unsigned char       blob_desc_field_name [32];
  152.     unsigned char       blob_desc_relation_name [32];
  153. } ISC_BLOB_DESC;
  154.  
  155.  
  156. /***************************/
  157. /* Blob control structure  */
  158. /***************************/
  159.  
  160. typedef struct isc_blob_ctl{
  161.     ISC_STATUS      (ISC_FAR *ctl_source)();    /* Source filter */
  162.     struct isc_blob_ctl ISC_FAR *ctl_source_handle; /* Argument to pass to source */
  163.                         /* filter */
  164.     short          ctl_to_sub_type;      /* Target type */
  165.     short          ctl_from_sub_type;    /* Source type */
  166.     unsigned short        ctl_buffer_length;    /* Length of buffer */
  167.     unsigned short        ctl_segment_length;      /* Length of current segment */
  168.     unsigned short        ctl_bpb_length;    /* Length of blob parameter */
  169.                             /* block */
  170.     char      ISC_FAR *ctl_bpb;        /* Address of blob parameter */ 
  171.                         /* block */
  172.     unsigned char ISC_FAR *ctl_buffer;        /* Address of segment buffer */
  173.     ISC_LONG           ctl_max_segment;    /* Length of longest segment */
  174.     ISC_LONG           ctl_number_segments;     /* Total number of segments */
  175.     ISC_LONG            ctl_total_length;      /* Total length of blob */
  176.     ISC_STATUS      ISC_FAR *ctl_status;        /* Address of status vector */
  177.     long          ctl_data [8];          /* Application specific data */
  178. } ISC_FAR *ISC_BLOB_CTL;
  179.  
  180. /***************************/
  181. /* Blob stream definitions */ 
  182. /***************************/
  183.  
  184. typedef struct bstream {
  185.     void    ISC_FAR *bstr_blob;      /* Blob handle */
  186.     char    ISC_FAR *bstr_buffer;    /* Address of buffer */
  187.     char    ISC_FAR *bstr_ptr;    /* Next character */
  188.     short      bstr_length;        /* Length of buffer */
  189.     short      bstr_cnt;        /* Characters in buffer */
  190.     char            bstr_mode;          /* (mode) ? OUTPUT : INPUT */
  191. } BSTREAM;
  192.  
  193. #define getb(p)    (--(p)->bstr_cnt >= 0 ? *(p)->bstr_ptr++ & 0377: BLOB_get (p))
  194. #define putb(x,p) (((x) == '\n' || (!(--(p)->bstr_cnt))) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))
  195. #define putbx(x,p) ((!(--(p)->bstr_cnt)) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))
  196.  
  197. /***************************/
  198. /* Dynamic SQL definitions */
  199. /***************************/
  200.  
  201. /******************************/
  202. /* Declare the extended SQLDA */
  203. /******************************/
  204.  
  205. typedef struct {
  206.     short    sqltype;        /* datatype of field */
  207.     short    sqlscale;        /* scale factor */
  208.     short    sqlsubtype;        /* datatype subtype - BLOBs & Text */
  209.                     /* types only */
  210.     short    sqllen;            /* length of data area */
  211.     char  ISC_FAR *sqldata;        /* address of data */
  212.     short ISC_FAR *sqlind;        /* address of indicator variable */
  213.     short      sqlname_length;        /* length of sqlname field */
  214.     char    sqlname [32];        /* name of field, name length + space */
  215.                     /* for NULL */
  216.     short    relname_length;        /* length of relation name */
  217.     char    relname [32];        /* field's relation name + space for */
  218.                     /* NULL */
  219.     short    ownname_length;        /* length of owner name */
  220.     char    ownname [32];        /* relation's owner name + space for */
  221.                     /* NULL */
  222.     short    aliasname_length;     /* length of alias name */
  223.     char    aliasname [32];        /* relation's alias name + space for */
  224.                     /* NULL */
  225. } XSQLVAR;
  226.  
  227. typedef struct {
  228.     short    version;        /* version of this XSQLDA */
  229.     char    sqldaid [8];        /* XSQLDA name field */
  230.     ISC_LONG    sqldabc;        /* length in bytes of SQLDA */
  231.     short    sqln;            /* number of fields allocated */
  232.     short    sqld;            /* actual number of fields */
  233.     XSQLVAR    sqlvar [1];        /* first field address */
  234. } XSQLDA;
  235.  
  236. #define XSQLDA_LENGTH(n)    (sizeof (XSQLDA) + ((n)-1) * sizeof (XSQLVAR))
  237.  
  238. #define SQLDA_VERSION1            1
  239.  
  240. #define SQL_DIALECT_V5            1/* meaning is same as DIALECT_xsqlda */
  241. #define SQL_DIALECT_V6_TRANSITION    2/* flagging anything that is delimited
  242.                                             by double quotes as an error and
  243.                                             flagging keyword DATE as an error */
  244. #define SQL_DIALECT_V6            3/* supports SQL delimited identifier,
  245.                                             SQLDATE/DATE, TIME, TIMESTAMP,
  246.                                             CURRENT_DATE, CURRENT_TIME,
  247.                                             CURRENT_TIMESTAMP, and 64-bit exact
  248.                                             numeric type */
  249. #define SQL_DIALECT_CURRENT        SQL_DIALECT_V6/* latest IB DIALECT */
  250.  
  251. /********************************/
  252. /* InterBase Handle Definitions */
  253. /********************************/
  254.  
  255. typedef void     ISC_FAR *isc_att_handle;
  256.  
  257. typedef void     ISC_FAR *isc_blob_handle;
  258. typedef void     ISC_FAR *isc_db_handle;
  259. typedef void     ISC_FAR *isc_form_handle;
  260. typedef void     ISC_FAR *isc_req_handle;
  261. typedef void     ISC_FAR *isc_stmt_handle;
  262. typedef void     ISC_FAR *isc_svc_handle;
  263. typedef void     ISC_FAR *isc_tr_handle;
  264. typedef void     ISC_FAR *isc_win_handle;
  265. typedef void    (ISC_FAR *isc_callback)();
  266. typedef ISC_LONG     isc_resv_handle;
  267.  
  268. /***************************/
  269. /* OSRI database functions */
  270. /***************************/
  271.  
  272. #if defined(__cplusplus) || defined(__STDC__) || defined(_Windows) || \
  273.     (defined(_MSC_VER) && defined(WIN32)) || defined( _WINDOWS) || \
  274.     (defined(__BORLANDC__) && (defined(__WIN32__) || defined(__OS2__))) || \
  275.     (defined(__IBMC__) && defined(__OS2__)) || defined(AIX_PPC)
  276.  
  277. #ifdef __cplusplus
  278. extern "C" {
  279. #endif
  280.  
  281. ISC_STATUS  ISC_EXPORT isc_attach_database (ISC_STATUS ISC_FAR *, 
  282.                         short, 
  283.                         char ISC_FAR *, 
  284.                         isc_db_handle ISC_FAR *, 
  285.                         short, 
  286.                         char ISC_FAR *);
  287.  
  288. ISC_STATUS  ISC_EXPORT isc_array_gen_sdl (ISC_STATUS ISC_FAR *, 
  289.                       ISC_ARRAY_DESC ISC_FAR *,
  290.                       short ISC_FAR *, 
  291.                       char ISC_FAR *, 
  292.                       short ISC_FAR *);
  293.  
  294. ISC_STATUS  ISC_EXPORT isc_array_get_slice (ISC_STATUS ISC_FAR *, 
  295.                         isc_db_handle ISC_FAR *, 
  296.                         isc_tr_handle ISC_FAR *, 
  297.                         ISC_QUAD ISC_FAR *, 
  298.                         ISC_ARRAY_DESC ISC_FAR *, 
  299.                         void ISC_FAR *, 
  300.                         ISC_LONG ISC_FAR *);
  301.  
  302. ISC_STATUS  ISC_EXPORT isc_array_lookup_bounds (ISC_STATUS ISC_FAR *, 
  303.                         isc_db_handle ISC_FAR *, 
  304.                         isc_tr_handle ISC_FAR *, 
  305.                         char ISC_FAR *,
  306.                         char ISC_FAR *, 
  307.                         ISC_ARRAY_DESC ISC_FAR *);
  308.  
  309. ISC_STATUS  ISC_EXPORT isc_array_lookup_desc (ISC_STATUS ISC_FAR *, 
  310.                           isc_db_handle ISC_FAR *,
  311.                           isc_tr_handle ISC_FAR *, 
  312.                           char ISC_FAR *, 
  313.                           char ISC_FAR *, 
  314.                           ISC_ARRAY_DESC ISC_FAR *);
  315.  
  316. ISC_STATUS  ISC_EXPORT isc_array_set_desc (ISC_STATUS ISC_FAR *, 
  317.                        char ISC_FAR *, 
  318.                        char ISC_FAR *,
  319.                        short ISC_FAR *, 
  320.                        short ISC_FAR *, 
  321.                        short ISC_FAR *, 
  322.                        ISC_ARRAY_DESC ISC_FAR *);
  323.  
  324. ISC_STATUS  ISC_EXPORT isc_array_put_slice (ISC_STATUS ISC_FAR *, 
  325.                         isc_db_handle ISC_FAR *, 
  326.                         isc_tr_handle ISC_FAR *, 
  327.                         ISC_QUAD ISC_FAR *, 
  328.                         ISC_ARRAY_DESC ISC_FAR *, 
  329.                         void ISC_FAR *, 
  330.                         ISC_LONG ISC_FAR *);
  331.  
  332. void       ISC_EXPORT isc_blob_default_desc (ISC_BLOB_DESC ISC_FAR *,
  333.                                         unsigned char ISC_FAR *,
  334.                                         unsigned char ISC_FAR *);
  335.  
  336. ISC_STATUS ISC_EXPORT isc_blob_gen_bpb (ISC_STATUS ISC_FAR *,
  337.                     ISC_BLOB_DESC ISC_FAR *,
  338.                     ISC_BLOB_DESC ISC_FAR *,
  339.                     unsigned short,
  340.                     unsigned char ISC_FAR *,
  341.                     unsigned short ISC_FAR *);
  342.  
  343. ISC_STATUS  ISC_EXPORT isc_blob_info (ISC_STATUS ISC_FAR *, 
  344.                       isc_blob_handle ISC_FAR *, 
  345.                       short,
  346.                        char ISC_FAR *, 
  347.                       short, 
  348.                       char ISC_FAR *);
  349.  
  350. ISC_STATUS ISC_EXPORT isc_blob_lookup_desc (ISC_STATUS ISC_FAR *,
  351.                         isc_db_handle ISC_FAR *,
  352.                         isc_tr_handle ISC_FAR *,
  353.                         unsigned char ISC_FAR *,
  354.                         unsigned char ISC_FAR *,
  355.                         ISC_BLOB_DESC ISC_FAR *,
  356.                         unsigned char ISC_FAR *);
  357.  
  358. ISC_STATUS ISC_EXPORT isc_blob_set_desc (ISC_STATUS ISC_FAR *,
  359.                      unsigned char ISC_FAR *,
  360.                      unsigned char ISC_FAR *,
  361.                      short,
  362.                      short,
  363.                      short,
  364.                      ISC_BLOB_DESC ISC_FAR *);
  365.  
  366. ISC_STATUS  ISC_EXPORT isc_cancel_blob (ISC_STATUS ISC_FAR *, 
  367.                         isc_blob_handle ISC_FAR *);
  368.  
  369. ISC_STATUS  ISC_EXPORT isc_cancel_events (ISC_STATUS ISC_FAR *, 
  370.                       isc_db_handle ISC_FAR *, 
  371.                       ISC_LONG ISC_FAR *);
  372.  
  373. ISC_STATUS  ISC_EXPORT isc_close_blob (ISC_STATUS ISC_FAR *, 
  374.                        isc_blob_handle ISC_FAR *);
  375.  
  376. ISC_STATUS  ISC_EXPORT isc_commit_retaining (ISC_STATUS ISC_FAR *, 
  377.                          isc_tr_handle ISC_FAR *);
  378.  
  379. ISC_STATUS  ISC_EXPORT isc_commit_transaction (ISC_STATUS ISC_FAR *, 
  380.                            isc_tr_handle ISC_FAR *);
  381.  
  382. ISC_STATUS  ISC_EXPORT isc_create_blob (ISC_STATUS ISC_FAR *, 
  383.                     isc_db_handle ISC_FAR *, 
  384.                     isc_tr_handle ISC_FAR *, 
  385.                     isc_blob_handle ISC_FAR *, 
  386.                     ISC_QUAD ISC_FAR *);
  387.  
  388. ISC_STATUS  ISC_EXPORT isc_create_blob2 (ISC_STATUS ISC_FAR *, 
  389.                      isc_db_handle ISC_FAR *, 
  390.                      isc_tr_handle ISC_FAR *, 
  391.                      isc_blob_handle ISC_FAR *, 
  392.                      ISC_QUAD ISC_FAR *, 
  393.                      short,  
  394.                      char ISC_FAR *); 
  395.  
  396. ISC_STATUS  ISC_EXPORT isc_create_database (ISC_STATUS ISC_FAR *, 
  397.                         short, 
  398.                         char ISC_FAR *, 
  399.                         isc_db_handle ISC_FAR *, 
  400.                         short, 
  401.                         char ISC_FAR *, 
  402.                         short);
  403.  
  404. ISC_STATUS  ISC_EXPORT isc_database_info (ISC_STATUS ISC_FAR *, 
  405.                       isc_db_handle ISC_FAR *, 
  406.                       short, 
  407.                       char ISC_FAR *, 
  408.                       short, 
  409.                       char ISC_FAR *);
  410.  
  411. void        ISC_EXPORT isc_decode_date (ISC_QUAD ISC_FAR *, 
  412.                     void ISC_FAR *);
  413.  
  414. void        ISC_EXPORT isc_decode_sql_date (ISC_DATE ISC_FAR *, 
  415.                     void ISC_FAR *);
  416.  
  417. void        ISC_EXPORT isc_decode_sql_time (ISC_TIME ISC_FAR *, 
  418.                     void ISC_FAR *);
  419.  
  420. void        ISC_EXPORT isc_decode_timestamp (ISC_TIMESTAMP ISC_FAR *, 
  421.                     void ISC_FAR *);
  422.  
  423. ISC_STATUS  ISC_EXPORT isc_detach_database (ISC_STATUS ISC_FAR *,  
  424.                         isc_db_handle ISC_FAR *);
  425.  
  426. ISC_STATUS  ISC_EXPORT isc_drop_database (ISC_STATUS ISC_FAR *,  
  427.                       isc_db_handle ISC_FAR *);
  428.  
  429. ISC_STATUS  ISC_EXPORT isc_dsql_allocate_statement (ISC_STATUS ISC_FAR *, 
  430.                             isc_db_handle ISC_FAR *, 
  431.                             isc_stmt_handle ISC_FAR *);
  432.  
  433. ISC_STATUS  ISC_EXPORT isc_dsql_alloc_statement2 (ISC_STATUS ISC_FAR *, 
  434.                           isc_db_handle ISC_FAR *, 
  435.                           isc_stmt_handle ISC_FAR *);
  436.  
  437. ISC_STATUS  ISC_EXPORT isc_dsql_describe (ISC_STATUS ISC_FAR *, 
  438.                       isc_stmt_handle ISC_FAR *, 
  439.                       unsigned short, 
  440.                       XSQLDA ISC_FAR *);
  441.  
  442. ISC_STATUS  ISC_EXPORT isc_dsql_describe_bind (ISC_STATUS ISC_FAR *, 
  443.                            isc_stmt_handle ISC_FAR *, 
  444.                            unsigned short, 
  445.                            XSQLDA ISC_FAR *);
  446.  
  447. ISC_STATUS  ISC_EXPORT isc_dsql_exec_immed2 (ISC_STATUS ISC_FAR *, 
  448.                          isc_db_handle ISC_FAR *, 
  449.                          isc_tr_handle ISC_FAR *, 
  450.                          unsigned short, 
  451.                          char ISC_FAR *, 
  452.                          unsigned short, 
  453.                          XSQLDA ISC_FAR *, 
  454.                          XSQLDA ISC_FAR *);
  455.  
  456. ISC_STATUS  ISC_EXPORT isc_dsql_execute (ISC_STATUS ISC_FAR *, 
  457.                      isc_tr_handle ISC_FAR *,
  458.                      isc_stmt_handle ISC_FAR *, 
  459.                      unsigned short, 
  460.                      XSQLDA ISC_FAR *);
  461.  
  462. ISC_STATUS  ISC_EXPORT isc_dsql_execute2 (ISC_STATUS ISC_FAR *, 
  463.                       isc_tr_handle ISC_FAR *,
  464.                       isc_stmt_handle ISC_FAR *, 
  465.                       unsigned short, 
  466.                       XSQLDA ISC_FAR *,
  467.                       XSQLDA ISC_FAR *);
  468.  
  469. ISC_STATUS  ISC_EXPORT isc_dsql_execute_immediate (ISC_STATUS ISC_FAR *, 
  470.                            isc_db_handle ISC_FAR *, 
  471.                            isc_tr_handle ISC_FAR *, 
  472.                            unsigned short, 
  473.                            char ISC_FAR *, 
  474.                            unsigned short, 
  475.                            XSQLDA ISC_FAR *);
  476.  
  477. ISC_STATUS  ISC_EXPORT isc_dsql_fetch (ISC_STATUS ISC_FAR *, 
  478.                        isc_stmt_handle ISC_FAR *, 
  479.                        unsigned short, 
  480.                        XSQLDA ISC_FAR *);
  481.  
  482. ISC_STATUS  ISC_EXPORT isc_dsql_finish (isc_db_handle ISC_FAR *);
  483.  
  484. ISC_STATUS  ISC_EXPORT isc_dsql_free_statement (ISC_STATUS ISC_FAR *, 
  485.                         isc_stmt_handle ISC_FAR *, 
  486.                         unsigned short);
  487.  
  488. ISC_STATUS  ISC_EXPORT isc_dsql_insert (ISC_STATUS ISC_FAR *, 
  489.                        isc_stmt_handle ISC_FAR *, 
  490.                        unsigned short, 
  491.                        XSQLDA ISC_FAR *);
  492.  
  493. ISC_STATUS  ISC_EXPORT isc_dsql_prepare (ISC_STATUS ISC_FAR *, 
  494.                      isc_tr_handle ISC_FAR *, 
  495.                      isc_stmt_handle ISC_FAR *, 
  496.                      unsigned short, 
  497.                      char ISC_FAR *, 
  498.                      unsigned short, 
  499.                       XSQLDA ISC_FAR *);
  500.  
  501. ISC_STATUS  ISC_EXPORT isc_dsql_set_cursor_name (ISC_STATUS ISC_FAR *, 
  502.                          isc_stmt_handle ISC_FAR *, 
  503.                          char ISC_FAR *, 
  504.                          unsigned short);
  505.  
  506. ISC_STATUS  ISC_EXPORT isc_dsql_sql_info (ISC_STATUS ISC_FAR *, 
  507.                       isc_stmt_handle ISC_FAR *, 
  508.                       short, 
  509.                       char ISC_FAR *, 
  510.                       short, 
  511.                       char ISC_FAR *);
  512.  
  513. void        ISC_EXPORT isc_encode_date (void ISC_FAR *, 
  514.                     ISC_QUAD ISC_FAR *);
  515.  
  516. void        ISC_EXPORT isc_encode_sql_date (void ISC_FAR *, 
  517.                     ISC_DATE ISC_FAR *);
  518.  
  519. void        ISC_EXPORT isc_encode_sql_time (void ISC_FAR *, 
  520.                     ISC_TIME ISC_FAR *);
  521.  
  522. void        ISC_EXPORT isc_encode_timestamp (void ISC_FAR *, 
  523.                     ISC_TIMESTAMP ISC_FAR *);
  524.  
  525. ISC_LONG    ISC_EXPORT_VARARG isc_event_block (char ISC_FAR * ISC_FAR *, 
  526.                            char ISC_FAR * ISC_FAR *, 
  527.                            unsigned short, ...);
  528.  
  529. void        ISC_EXPORT isc_event_counts (unsigned ISC_LONG ISC_FAR *, 
  530.                      short, 
  531.                      char ISC_FAR *,
  532.                      char ISC_FAR *);
  533.  
  534. void        ISC_EXPORT_VARARG isc_expand_dpb (char ISC_FAR * ISC_FAR *, 
  535.                           short ISC_FAR *, 
  536.                           ...);
  537.  
  538. int        ISC_EXPORT isc_modify_dpb (char ISC_FAR * ISC_FAR *, 
  539.                      short ISC_FAR *, unsigned short,
  540.                      char ISC_FAR *, short );
  541.  
  542. ISC_LONG    ISC_EXPORT isc_free (char ISC_FAR *);
  543.  
  544. ISC_STATUS  ISC_EXPORT isc_get_segment (ISC_STATUS ISC_FAR *, 
  545.                         isc_blob_handle ISC_FAR *, 
  546.                         unsigned short ISC_FAR *, 
  547.                         unsigned short, 
  548.                         char ISC_FAR *);
  549.  
  550. ISC_STATUS  ISC_EXPORT isc_get_slice (ISC_STATUS ISC_FAR *, 
  551.                       isc_db_handle ISC_FAR *, 
  552.                       isc_tr_handle ISC_FAR *, 
  553.                        ISC_QUAD ISC_FAR *, 
  554.                        short, 
  555.                       char ISC_FAR *, 
  556.                       short, 
  557.                       ISC_LONG ISC_FAR *, 
  558.                       ISC_LONG, 
  559.                       void ISC_FAR *, 
  560.                       ISC_LONG ISC_FAR *);
  561.  
  562. ISC_STATUS  ISC_EXPORT isc_interprete (char ISC_FAR *, 
  563.                        ISC_STATUS ISC_FAR * ISC_FAR *);
  564.  
  565. ISC_STATUS  ISC_EXPORT isc_open_blob (ISC_STATUS ISC_FAR *, 
  566.                       isc_db_handle ISC_FAR *, 
  567.                       isc_tr_handle ISC_FAR *, 
  568.                       isc_blob_handle ISC_FAR *, 
  569.                       ISC_QUAD ISC_FAR *);
  570.  
  571. ISC_STATUS  ISC_EXPORT isc_open_blob2 (ISC_STATUS ISC_FAR *, 
  572.                        isc_db_handle ISC_FAR *, 
  573.                        isc_tr_handle ISC_FAR *,
  574.                        isc_blob_handle ISC_FAR *, 
  575.                        ISC_QUAD ISC_FAR *, 
  576.                        short,  
  577.                        char ISC_FAR *);
  578.  
  579. ISC_STATUS  ISC_EXPORT isc_prepare_transaction2 (ISC_STATUS ISC_FAR *, 
  580.                          isc_tr_handle ISC_FAR *, 
  581.                          short, 
  582.                          char ISC_FAR *);
  583.  
  584. void        ISC_EXPORT isc_print_sqlerror (short, 
  585.                        ISC_STATUS ISC_FAR *);
  586.  
  587. ISC_STATUS  ISC_EXPORT isc_print_status (ISC_STATUS ISC_FAR *);
  588.  
  589. ISC_STATUS  ISC_EXPORT isc_put_segment (ISC_STATUS ISC_FAR *, 
  590.                     isc_blob_handle ISC_FAR *, 
  591.                     unsigned short, 
  592.                     char ISC_FAR *);
  593.  
  594. ISC_STATUS  ISC_EXPORT isc_put_slice (ISC_STATUS ISC_FAR *, 
  595.                       isc_db_handle ISC_FAR *, 
  596.                       isc_tr_handle ISC_FAR *, 
  597.                       ISC_QUAD ISC_FAR *, 
  598.                       short, 
  599.                       char ISC_FAR *, 
  600.                       short, 
  601.                       ISC_LONG ISC_FAR *, 
  602.                       ISC_LONG, 
  603.                       void ISC_FAR *);
  604.  
  605. ISC_STATUS  ISC_EXPORT isc_que_events (ISC_STATUS ISC_FAR *, 
  606.                        isc_db_handle ISC_FAR *, 
  607.                        ISC_LONG ISC_FAR *, 
  608.                        short, 
  609.                        char ISC_FAR *, 
  610.                        isc_callback, 
  611.                        void ISC_FAR *);
  612.  
  613. ISC_STATUS  ISC_EXPORT isc_rollback_retaining (ISC_STATUS ISC_FAR *, 
  614.                          isc_tr_handle ISC_FAR *);
  615.  
  616. ISC_STATUS  ISC_EXPORT isc_rollback_transaction (ISC_STATUS ISC_FAR *, 
  617.                          isc_tr_handle ISC_FAR *);
  618.  
  619. ISC_STATUS  ISC_EXPORT isc_start_multiple (ISC_STATUS ISC_FAR *, 
  620.                        isc_tr_handle ISC_FAR *, 
  621.                        short, 
  622.                        void ISC_FAR *);
  623.  
  624. ISC_STATUS  ISC_EXPORT_VARARG isc_start_transaction (ISC_STATUS ISC_FAR *, 
  625.                              isc_tr_handle ISC_FAR *,
  626.                              short, ...);
  627.  
  628. ISC_LONG    ISC_EXPORT isc_sqlcode (ISC_STATUS ISC_FAR *);
  629.  
  630. void        ISC_EXPORT isc_sql_interprete (short, 
  631.                        char ISC_FAR *, 
  632.                        short);
  633.  
  634. ISC_STATUS  ISC_EXPORT isc_transaction_info (ISC_STATUS ISC_FAR *,  
  635.                          isc_tr_handle ISC_FAR *, 
  636.                          short, 
  637.                          char ISC_FAR *, 
  638.                          short,  
  639.                          char ISC_FAR *);
  640.  
  641. ISC_STATUS  ISC_EXPORT isc_transact_request (ISC_STATUS ISC_FAR *,  
  642.                          isc_db_handle ISC_FAR *, 
  643.                          isc_tr_handle ISC_FAR *,
  644.                          unsigned short, 
  645.                          char ISC_FAR *, 
  646.                          unsigned short,  
  647.                          char ISC_FAR *,
  648.                          unsigned short,
  649.                          char ISC_FAR *);
  650.  
  651. ISC_LONG    ISC_EXPORT isc_vax_integer (char ISC_FAR *, 
  652.                     short);
  653.  
  654. ISC_INT64   ISC_EXPORT isc_portable_integer  (unsigned char ISC_FAR *,
  655.                                               short);
  656.  
  657. /*************************************/
  658. /* Security Functions and structures */
  659. /*************************************/
  660.  
  661. #define sec_uid_spec            0x01
  662. #define sec_gid_spec            0x02
  663. #define sec_server_spec            0x04
  664. #define sec_password_spec        0x08
  665. #define sec_group_name_spec        0x10
  666. #define sec_first_name_spec        0x20
  667. #define sec_middle_name_spec        0x40
  668. #define sec_last_name_spec        0x80
  669. #define sec_dba_user_name_spec      0x100
  670. #define sec_dba_password_spec       0x200
  671.  
  672. #define sec_protocol_tcpip            1
  673. #define sec_protocol_netbeui          2
  674. #define sec_protocol_spx              3
  675. #define sec_protocol_local            4
  676.  
  677. typedef struct {
  678.     short  sec_flags;             /* which fields are specified */
  679.     int    uid;                 /* the user's id */
  680.     int       gid;                 /* the user's group id */
  681.     int    protocol;             /* protocol to use for connection */
  682.     char   ISC_FAR *server;          /* server to administer */
  683.     char   ISC_FAR *user_name;       /* the user's name */
  684.     char   ISC_FAR *password;        /* the user's password */
  685.     char   ISC_FAR *group_name;      /* the group name */
  686.     char   ISC_FAR *first_name;         /* the user's first name */
  687.     char   ISC_FAR *middle_name;     /* the user's middle name */
  688.     char   ISC_FAR *last_name;         /* the user's last name */
  689.     char   ISC_FAR *dba_user_name;   /* the dba user name */
  690.     char   ISC_FAR *dba_password;    /* the dba password */
  691. } USER_SEC_DATA;
  692.  
  693. int ISC_EXPORT isc_add_user (ISC_STATUS ISC_FAR *, USER_SEC_DATA *);
  694.  
  695. int ISC_EXPORT isc_delete_user (ISC_STATUS ISC_FAR *, USER_SEC_DATA *);
  696.  
  697. int ISC_EXPORT isc_modify_user (ISC_STATUS ISC_FAR *, USER_SEC_DATA *);
  698.  
  699. /**********************************/
  700. /*  Other OSRI functions          */
  701. /**********************************/
  702.                                           
  703. ISC_STATUS  ISC_EXPORT isc_compile_request (ISC_STATUS ISC_FAR *, 
  704.                         isc_db_handle ISC_FAR *,
  705.                           isc_req_handle ISC_FAR *, 
  706.                         short, 
  707.                         char ISC_FAR *);
  708.  
  709. ISC_STATUS  ISC_EXPORT isc_compile_request2 (ISC_STATUS ISC_FAR *, 
  710.                          isc_db_handle ISC_FAR *,
  711.                          isc_req_handle ISC_FAR *, 
  712.                          short, 
  713.                          char ISC_FAR *);
  714.  
  715. ISC_STATUS  ISC_EXPORT isc_ddl (ISC_STATUS ISC_FAR *,
  716.                     isc_db_handle ISC_FAR *, 
  717.                     isc_tr_handle ISC_FAR *,
  718.                     short, 
  719.                     char ISC_FAR *);
  720.  
  721. ISC_STATUS  ISC_EXPORT isc_prepare_transaction (ISC_STATUS ISC_FAR *, 
  722.                         isc_tr_handle ISC_FAR *);
  723.  
  724.  
  725. ISC_STATUS  ISC_EXPORT isc_receive (ISC_STATUS ISC_FAR *, 
  726.                     isc_req_handle ISC_FAR *, 
  727.                     short, 
  728.                      short, 
  729.                     void ISC_FAR *, 
  730.                     short);
  731.  
  732. ISC_STATUS  ISC_EXPORT isc_reconnect_transaction (ISC_STATUS ISC_FAR *,
  733.                           isc_db_handle ISC_FAR *, 
  734.                           isc_tr_handle ISC_FAR *, 
  735.                           short, 
  736.                           char ISC_FAR *);
  737.  
  738. ISC_STATUS  ISC_EXPORT isc_release_request (ISC_STATUS ISC_FAR *, 
  739.                         isc_req_handle ISC_FAR *);
  740.  
  741. ISC_STATUS  ISC_EXPORT isc_request_info (ISC_STATUS ISC_FAR *,  
  742.                      isc_req_handle ISC_FAR *, 
  743.                      short, 
  744.                        short, 
  745.                      char ISC_FAR *, 
  746.                      short, 
  747.                      char ISC_FAR *);     
  748.  
  749. ISC_STATUS  ISC_EXPORT isc_seek_blob (ISC_STATUS ISC_FAR *, 
  750.                       isc_blob_handle ISC_FAR *, 
  751.                       short, 
  752.                       ISC_LONG, 
  753.                       ISC_LONG ISC_FAR *);
  754.  
  755. ISC_STATUS  ISC_EXPORT isc_send (ISC_STATUS ISC_FAR *, 
  756.                  isc_req_handle ISC_FAR *, 
  757.                  short, 
  758.                  short,
  759.                  void ISC_FAR *, 
  760.                  short);
  761.  
  762. ISC_STATUS  ISC_EXPORT isc_start_and_send (ISC_STATUS ISC_FAR *, 
  763.                        isc_req_handle ISC_FAR *, 
  764.                        isc_tr_handle ISC_FAR *, 
  765.                        short, 
  766.                        short, 
  767.                        void ISC_FAR *, 
  768.                        short);
  769.  
  770. ISC_STATUS  ISC_EXPORT isc_start_request (ISC_STATUS ISC_FAR *, 
  771.                       isc_req_handle ISC_FAR *,
  772.                       isc_tr_handle ISC_FAR *,
  773.                       short);
  774.  
  775. ISC_STATUS  ISC_EXPORT isc_unwind_request (ISC_STATUS ISC_FAR *, 
  776.                        isc_tr_handle ISC_FAR *,
  777.                        short);
  778.  
  779. ISC_STATUS  ISC_EXPORT isc_wait_for_event (ISC_STATUS ISC_FAR *, 
  780.                        isc_db_handle ISC_FAR *, 
  781.                        short, 
  782.                        char ISC_FAR *, 
  783.                        char ISC_FAR *);
  784.  
  785. /*****************************/
  786. /* Other Sql functions       */
  787. /*****************************/
  788.  
  789. ISC_STATUS  ISC_EXPORT isc_close (ISC_STATUS ISC_FAR *, 
  790.                   char ISC_FAR *);
  791.  
  792. ISC_STATUS  ISC_EXPORT isc_declare (ISC_STATUS ISC_FAR *, 
  793.                     char ISC_FAR *, 
  794.                     char ISC_FAR *);
  795.  
  796. ISC_STATUS  ISC_EXPORT isc_describe (ISC_STATUS ISC_FAR *, 
  797.                     char ISC_FAR *, 
  798.                     XSQLDA ISC_FAR *);
  799.  
  800. ISC_STATUS  ISC_EXPORT isc_describe_bind (ISC_STATUS ISC_FAR *, 
  801.                       char ISC_FAR *, 
  802.                       XSQLDA ISC_FAR *);
  803.  
  804. ISC_STATUS  ISC_EXPORT isc_execute (ISC_STATUS ISC_FAR *, 
  805.                     isc_tr_handle ISC_FAR *, 
  806.                     char ISC_FAR *, 
  807.                     XSQLDA ISC_FAR *);
  808.  
  809. ISC_STATUS  ISC_EXPORT isc_execute_immediate (ISC_STATUS ISC_FAR *, 
  810.                           isc_db_handle ISC_FAR *,
  811.                           isc_tr_handle ISC_FAR *, 
  812.                           short ISC_FAR *, 
  813.                           char ISC_FAR *);
  814.  
  815. ISC_STATUS  ISC_EXPORT isc_fetch (ISC_STATUS ISC_FAR *, 
  816.                   char ISC_FAR *, 
  817.                   XSQLDA ISC_FAR *);
  818.  
  819. ISC_STATUS  ISC_EXPORT isc_open (ISC_STATUS ISC_FAR *, 
  820.                  isc_tr_handle ISC_FAR *, 
  821.                  char ISC_FAR *, 
  822.                  XSQLDA ISC_FAR *);
  823.  
  824. ISC_STATUS  ISC_EXPORT isc_prepare (ISC_STATUS ISC_FAR *, 
  825.                     isc_db_handle ISC_FAR *, 
  826.                     isc_tr_handle ISC_FAR *, 
  827.                     char ISC_FAR *, 
  828.                     short ISC_FAR *, 
  829.                     char ISC_FAR *, 
  830.                     XSQLDA ISC_FAR *);
  831.  
  832. /*************************************/
  833. /* Other Dynamic sql functions       */
  834. /*************************************/
  835.  
  836. ISC_STATUS  ISC_EXPORT isc_dsql_execute_m (ISC_STATUS ISC_FAR *, 
  837.                        isc_tr_handle ISC_FAR *,
  838.                        isc_stmt_handle ISC_FAR *, 
  839.                        unsigned short, 
  840.                        char ISC_FAR *, 
  841.                        unsigned short, 
  842.                        unsigned short, 
  843.                        char ISC_FAR *);
  844.  
  845. ISC_STATUS  ISC_EXPORT isc_dsql_execute2_m (ISC_STATUS ISC_FAR *, 
  846.                        isc_tr_handle ISC_FAR *,
  847.                        isc_stmt_handle ISC_FAR *, 
  848.                        unsigned short, 
  849.                        char ISC_FAR *, 
  850.                        unsigned short, 
  851.                        unsigned short, 
  852.                        char ISC_FAR *,
  853.                        unsigned short, 
  854.                        char ISC_FAR *, 
  855.                        unsigned short, 
  856.                        unsigned short, 
  857.                        char ISC_FAR *);
  858.  
  859. ISC_STATUS  ISC_EXPORT isc_dsql_execute_immediate_m (ISC_STATUS ISC_FAR *, 
  860.                              isc_db_handle ISC_FAR *, 
  861.                              isc_tr_handle ISC_FAR *, 
  862.                              unsigned short, 
  863.                              char ISC_FAR *, 
  864.                              unsigned short, 
  865.                              unsigned short, 
  866.                              char ISC_FAR *,
  867.                              unsigned short,
  868.                              unsigned short,
  869.                              char ISC_FAR *);
  870.  
  871. ISC_STATUS  ISC_EXPORT isc_dsql_exec_immed3_m (ISC_STATUS ISC_FAR *, 
  872.                            isc_db_handle ISC_FAR *, 
  873.                            isc_tr_handle ISC_FAR *, 
  874.                            unsigned short, 
  875.                            char ISC_FAR *, 
  876.                            unsigned short, 
  877.                            unsigned short, 
  878.                            char ISC_FAR *,
  879.                            unsigned short,
  880.                            unsigned short,
  881.                            char ISC_FAR *,
  882.                            unsigned short, 
  883.                            char ISC_FAR *,
  884.                            unsigned short,
  885.                            unsigned short,
  886.                            char ISC_FAR *);
  887.  
  888. ISC_STATUS  ISC_EXPORT isc_dsql_fetch_m (ISC_STATUS ISC_FAR *, 
  889.                      isc_stmt_handle ISC_FAR *, 
  890.                      unsigned short, 
  891.                      char ISC_FAR *, 
  892.                      unsigned short, 
  893.                      unsigned short, 
  894.                      char ISC_FAR *);
  895.  
  896. ISC_STATUS  ISC_EXPORT isc_dsql_insert_m (ISC_STATUS ISC_FAR *, 
  897.                       isc_stmt_handle ISC_FAR *, 
  898.                       unsigned short, 
  899.                       char ISC_FAR *, 
  900.                       unsigned short, 
  901.                       unsigned short, 
  902.                       char ISC_FAR *);
  903.  
  904. ISC_STATUS  ISC_EXPORT isc_dsql_prepare_m (ISC_STATUS ISC_FAR *, 
  905.                        isc_tr_handle ISC_FAR *,
  906.                         isc_stmt_handle ISC_FAR *, 
  907.                        unsigned short,  
  908.                        char ISC_FAR *, 
  909.                        unsigned short,
  910.                        unsigned short, 
  911.                          char ISC_FAR *, 
  912.                         unsigned short,
  913.                        char ISC_FAR *);
  914.  
  915. ISC_STATUS  ISC_EXPORT isc_dsql_release (ISC_STATUS ISC_FAR *, 
  916.                      char ISC_FAR *);
  917.  
  918. ISC_STATUS  ISC_EXPORT isc_embed_dsql_close (ISC_STATUS ISC_FAR *, 
  919.                          char ISC_FAR *);
  920.  
  921. ISC_STATUS  ISC_EXPORT isc_embed_dsql_declare (ISC_STATUS ISC_FAR *, 
  922.                           char ISC_FAR *, 
  923.                           char ISC_FAR *);
  924.  
  925. ISC_STATUS  ISC_EXPORT isc_embed_dsql_describe (ISC_STATUS ISC_FAR *, 
  926.                         char ISC_FAR *, 
  927.                         unsigned short, 
  928.                         XSQLDA ISC_FAR *);
  929.  
  930. ISC_STATUS  ISC_EXPORT isc_embed_dsql_describe_bind (ISC_STATUS ISC_FAR *, 
  931.                              char ISC_FAR *, 
  932.                              unsigned short, 
  933.                              XSQLDA ISC_FAR *);
  934.  
  935. ISC_STATUS  ISC_EXPORT isc_embed_dsql_execute (ISC_STATUS ISC_FAR *, 
  936.                            isc_tr_handle ISC_FAR *,
  937.                            char ISC_FAR *, 
  938.                            unsigned short, 
  939.                            XSQLDA ISC_FAR *);
  940.  
  941. ISC_STATUS  ISC_EXPORT isc_embed_dsql_execute2 (ISC_STATUS ISC_FAR *,
  942.                         isc_tr_handle ISC_FAR *,
  943.                         char ISC_FAR *,
  944.                         unsigned short,
  945.                         XSQLDA ISC_FAR *,
  946.                         XSQLDA ISC_FAR *);
  947.  
  948. ISC_STATUS  ISC_EXPORT isc_embed_dsql_execute_immed (ISC_STATUS ISC_FAR *, 
  949.                              isc_db_handle ISC_FAR *, 
  950.                              isc_tr_handle ISC_FAR *, 
  951.                              unsigned short, 
  952.                              char ISC_FAR *,     
  953.                              unsigned short, 
  954.                              XSQLDA ISC_FAR *);
  955.  
  956. ISC_STATUS  ISC_EXPORT isc_embed_dsql_fetch (ISC_STATUS ISC_FAR *, 
  957.                          char ISC_FAR *, 
  958.                          unsigned short, 
  959.                          XSQLDA ISC_FAR *);
  960.  
  961. ISC_STATUS  ISC_EXPORT isc_embed_dsql_open (ISC_STATUS ISC_FAR *, 
  962.                         isc_tr_handle ISC_FAR *, 
  963.                         char ISC_FAR *, 
  964.                         unsigned short, 
  965.                         XSQLDA ISC_FAR *);
  966.  
  967. ISC_STATUS  ISC_EXPORT isc_embed_dsql_open2 (ISC_STATUS ISC_FAR *, 
  968.                          isc_tr_handle ISC_FAR *, 
  969.                          char ISC_FAR *, 
  970.                          unsigned short, 
  971.                          XSQLDA ISC_FAR *,
  972.                          XSQLDA ISC_FAR *);
  973.  
  974. ISC_STATUS  ISC_EXPORT isc_embed_dsql_insert (ISC_STATUS ISC_FAR *, 
  975.                           char ISC_FAR *, 
  976.                           unsigned short, 
  977.                           XSQLDA ISC_FAR *);
  978.  
  979. ISC_STATUS  ISC_EXPORT isc_embed_dsql_prepare (ISC_STATUS ISC_FAR *, 
  980.                            isc_db_handle ISC_FAR *,
  981.                            isc_tr_handle ISC_FAR *, 
  982.                            char ISC_FAR *, 
  983.                            unsigned short, 
  984.                            char ISC_FAR *, 
  985.                            unsigned short, 
  986.                            XSQLDA ISC_FAR *);
  987.  
  988. ISC_STATUS  ISC_EXPORT isc_embed_dsql_release (ISC_STATUS ISC_FAR *, 
  989.                            char ISC_FAR *);
  990.  
  991. /******************************/
  992. /* Other Blob functions       */
  993. /******************************/
  994.  
  995. BSTREAM     ISC_FAR * ISC_EXPORT BLOB_open (isc_blob_handle,  
  996.                         char ISC_FAR *,  
  997.                         int);
  998.  
  999. int          ISC_EXPORT BLOB_put (char, 
  1000.                  BSTREAM ISC_FAR *);
  1001.  
  1002. int          ISC_EXPORT BLOB_close (BSTREAM ISC_FAR *);
  1003.  
  1004. int          ISC_EXPORT BLOB_get (BSTREAM ISC_FAR *);
  1005.  
  1006. int         ISC_EXPORT BLOB_display (ISC_QUAD ISC_FAR *, 
  1007.                      isc_db_handle, 
  1008.                      isc_tr_handle,
  1009.                      char ISC_FAR *);
  1010.  
  1011. int         ISC_EXPORT BLOB_dump (ISC_QUAD ISC_FAR *, 
  1012.                   isc_db_handle, 
  1013.                   isc_tr_handle,
  1014.                   char ISC_FAR *);
  1015.  
  1016. int         ISC_EXPORT BLOB_edit (ISC_QUAD ISC_FAR *, 
  1017.                   isc_db_handle, 
  1018.                   isc_tr_handle,
  1019.                   char ISC_FAR *);
  1020.  
  1021. int         ISC_EXPORT BLOB_load (ISC_QUAD ISC_FAR *, 
  1022.                   isc_db_handle, 
  1023.                   isc_tr_handle,
  1024.                   char ISC_FAR *);
  1025.  
  1026. int         ISC_EXPORT BLOB_text_dump (ISC_QUAD ISC_FAR *, 
  1027.                   isc_db_handle, 
  1028.                   isc_tr_handle,
  1029.                   char ISC_FAR *);
  1030.  
  1031. int         ISC_EXPORT BLOB_text_load (ISC_QUAD ISC_FAR *, 
  1032.                   isc_db_handle, 
  1033.                   isc_tr_handle,
  1034.                   char ISC_FAR *);
  1035.  
  1036. BSTREAM     ISC_FAR * ISC_EXPORT Bopen (ISC_QUAD ISC_FAR *, 
  1037.                            isc_db_handle, 
  1038.                            isc_tr_handle,  
  1039.                            char ISC_FAR *);
  1040.  
  1041. BSTREAM     ISC_FAR * ISC_EXPORT Bopen2 (ISC_QUAD ISC_FAR *, 
  1042.                      isc_db_handle,  
  1043.                      isc_tr_handle,  
  1044.                      char ISC_FAR *,
  1045.                      unsigned short);
  1046.  
  1047. /******************************/
  1048. /* Other Misc functions       */
  1049. /******************************/
  1050.  
  1051. ISC_LONG    ISC_EXPORT isc_ftof (char ISC_FAR *, 
  1052.                  unsigned short, 
  1053.                  char ISC_FAR *, 
  1054.                  unsigned short);
  1055.  
  1056. ISC_STATUS  ISC_EXPORT isc_print_blr (char ISC_FAR *, 
  1057.                       isc_callback, 
  1058.                       void ISC_FAR *, 
  1059.                       short);
  1060.  
  1061. void        ISC_EXPORT isc_set_debug (int);
  1062.  
  1063. void        ISC_EXPORT isc_qtoq (ISC_QUAD ISC_FAR *, 
  1064.                  ISC_QUAD ISC_FAR *);
  1065.  
  1066. void        ISC_EXPORT isc_vtof (char ISC_FAR *, 
  1067.                  char ISC_FAR *,
  1068.                  unsigned short);
  1069.  
  1070. void        ISC_EXPORT isc_vtov (char ISC_FAR *, 
  1071.                  char ISC_FAR *, 
  1072.                  short);
  1073.  
  1074. int         ISC_EXPORT isc_version (isc_db_handle ISC_FAR *, 
  1075.                     isc_callback, 
  1076.                     void ISC_FAR *);
  1077.  
  1078. ISC_LONG    ISC_EXPORT isc_reset_fpe (unsigned short);
  1079.  
  1080. /*****************************************/
  1081. /* Service manager functions             */
  1082. /*****************************************/
  1083.  
  1084. #define ADD_SPB_LENGTH(p, length)    {*(p)++ = (length); \
  1085.                          *(p)++ = (length) >> 8;}
  1086.  
  1087. #define ADD_SPB_NUMERIC(p, data)    {*(p)++ = (data); \
  1088.                          *(p)++ = (data) >> 8; \
  1089.                      *(p)++ = (data) >> 16; \
  1090.                      *(p)++ = (data) >> 24;}
  1091.  
  1092. ISC_STATUS  ISC_EXPORT isc_service_attach (ISC_STATUS ISC_FAR *, 
  1093.                        unsigned short, 
  1094.                        char ISC_FAR *,
  1095.                        isc_svc_handle ISC_FAR *, 
  1096.                        unsigned short, 
  1097.                        char ISC_FAR *);
  1098.  
  1099. ISC_STATUS  ISC_EXPORT isc_service_detach (ISC_STATUS ISC_FAR *, 
  1100.                        isc_svc_handle ISC_FAR *);
  1101.  
  1102. ISC_STATUS  ISC_EXPORT isc_service_query (ISC_STATUS ISC_FAR *, 
  1103.                       isc_svc_handle ISC_FAR *,
  1104.                                         isc_resv_handle ISC_FAR *,
  1105.                       unsigned short, 
  1106.                       char ISC_FAR *, 
  1107.                       unsigned short, 
  1108.                       char ISC_FAR *, 
  1109.                       unsigned short, 
  1110.                       char ISC_FAR *);
  1111.  
  1112. ISC_STATUS ISC_EXPORT isc_service_start (ISC_STATUS ISC_FAR *,
  1113.                          isc_svc_handle ISC_FAR *,
  1114.                                   isc_resv_handle ISC_FAR *,
  1115.                          unsigned short,
  1116.                          char ISC_FAR*);
  1117.  
  1118. /*******************************/
  1119. /* Forms functions             */
  1120. /*******************************/
  1121.  
  1122. ISC_STATUS  ISC_EXPORT isc_compile_map (ISC_STATUS ISC_FAR *, 
  1123.                     isc_form_handle ISC_FAR *,
  1124.                     isc_req_handle ISC_FAR *, 
  1125.                     short ISC_FAR *, 
  1126.                     char ISC_FAR *);
  1127.  
  1128. ISC_STATUS  ISC_EXPORT isc_compile_menu (ISC_STATUS ISC_FAR *, 
  1129.                      isc_form_handle ISC_FAR *,
  1130.                      isc_req_handle ISC_FAR *, 
  1131.                      short ISC_FAR *, 
  1132.                       char ISC_FAR *);
  1133.  
  1134. ISC_STATUS  ISC_EXPORT isc_compile_sub_map (ISC_STATUS ISC_FAR *, 
  1135.                         isc_win_handle ISC_FAR *,
  1136.                         isc_req_handle ISC_FAR *, 
  1137.                         short ISC_FAR *, 
  1138.                         char ISC_FAR *);
  1139.  
  1140. ISC_STATUS  ISC_EXPORT isc_create_window (ISC_STATUS ISC_FAR *, 
  1141.                       isc_win_handle ISC_FAR *, 
  1142.                       short ISC_FAR *, 
  1143.                       char ISC_FAR *, 
  1144.                       short ISC_FAR *, 
  1145.                       short ISC_FAR *);
  1146.  
  1147. ISC_STATUS  ISC_EXPORT isc_delete_window (ISC_STATUS ISC_FAR *, 
  1148.                       isc_win_handle ISC_FAR *);
  1149.  
  1150. ISC_STATUS  ISC_EXPORT isc_drive_form (ISC_STATUS ISC_FAR *, 
  1151.                        isc_db_handle ISC_FAR *, 
  1152.                        isc_tr_handle ISC_FAR *, 
  1153.                        isc_win_handle ISC_FAR *, 
  1154.                        isc_req_handle ISC_FAR *, 
  1155.                        unsigned char ISC_FAR *, 
  1156.                        unsigned char ISC_FAR *);
  1157.  
  1158. ISC_STATUS  ISC_EXPORT isc_drive_menu (ISC_STATUS ISC_FAR *, 
  1159.                        isc_win_handle ISC_FAR *, 
  1160.                        isc_req_handle ISC_FAR *, 
  1161.                        short ISC_FAR *, 
  1162.                        char ISC_FAR *, 
  1163.                        short ISC_FAR *, 
  1164.                        char ISC_FAR *,
  1165.                        short ISC_FAR *, 
  1166.                        short ISC_FAR *, 
  1167.                        char ISC_FAR *, 
  1168.                        ISC_LONG ISC_FAR *);
  1169.  
  1170. ISC_STATUS  ISC_EXPORT isc_form_delete (ISC_STATUS ISC_FAR *, 
  1171.                     isc_form_handle ISC_FAR *);
  1172.  
  1173. ISC_STATUS  ISC_EXPORT isc_form_fetch (ISC_STATUS ISC_FAR *, 
  1174.                        isc_db_handle ISC_FAR *, 
  1175.                        isc_tr_handle ISC_FAR *, 
  1176.                        isc_req_handle ISC_FAR *, 
  1177.                        unsigned char ISC_FAR *);
  1178.  
  1179. ISC_STATUS  ISC_EXPORT isc_form_insert (ISC_STATUS ISC_FAR *, 
  1180.                     isc_db_handle ISC_FAR *, 
  1181.                     isc_tr_handle ISC_FAR *, 
  1182.                     isc_req_handle ISC_FAR *, 
  1183.                     unsigned char ISC_FAR *);
  1184.  
  1185. ISC_STATUS  ISC_EXPORT isc_get_entree (ISC_STATUS ISC_FAR *, 
  1186.                        isc_req_handle ISC_FAR *, 
  1187.                        short ISC_FAR *, 
  1188.                        char ISC_FAR *, 
  1189.                        ISC_LONG ISC_FAR *, 
  1190.                        short ISC_FAR *);
  1191.  
  1192. ISC_STATUS  ISC_EXPORT isc_initialize_menu (ISC_STATUS ISC_FAR *, 
  1193.                         isc_req_handle ISC_FAR *);
  1194.  
  1195. ISC_STATUS  ISC_EXPORT isc_menu (ISC_STATUS ISC_FAR *, 
  1196.                  isc_win_handle ISC_FAR *, 
  1197.                  isc_req_handle ISC_FAR *, 
  1198.                   short ISC_FAR *, 
  1199.                  char ISC_FAR *);
  1200.  
  1201. ISC_STATUS  ISC_EXPORT isc_load_form (ISC_STATUS ISC_FAR *, 
  1202.                       isc_db_handle ISC_FAR *, 
  1203.                       isc_tr_handle ISC_FAR *, 
  1204.                       isc_form_handle ISC_FAR *, 
  1205.                       short ISC_FAR *, 
  1206.                       char ISC_FAR *);
  1207.                                                                 
  1208. ISC_STATUS  ISC_EXPORT isc_pop_window (ISC_STATUS ISC_FAR *, 
  1209.                        isc_win_handle ISC_FAR *);
  1210.  
  1211. ISC_STATUS  ISC_EXPORT isc_put_entree (ISC_STATUS ISC_FAR *, 
  1212.                        isc_req_handle ISC_FAR *, 
  1213.                        short ISC_FAR *, 
  1214.                        char ISC_FAR *, 
  1215.                        ISC_LONG ISC_FAR *);
  1216.  
  1217. ISC_STATUS  ISC_EXPORT isc_reset_form (ISC_STATUS ISC_FAR *, 
  1218.                        isc_req_handle ISC_FAR *);
  1219.  
  1220. ISC_STATUS  ISC_EXPORT isc_suspend_window (ISC_STATUS ISC_FAR *, 
  1221.                        isc_win_handle ISC_FAR *);
  1222.  
  1223. #ifdef __cplusplus
  1224. };
  1225. #endif
  1226.  
  1227. #else                     /* __cplusplus || __STDC__ */
  1228.  
  1229. ISC_STATUS  ISC_EXPORT isc_attach_database();
  1230. ISC_STATUS  ISC_EXPORT isc_array_gen_sdl();
  1231. ISC_STATUS  ISC_EXPORT isc_array_get_slice();
  1232. ISC_STATUS  ISC_EXPORT isc_array_lookup_bounds();
  1233. ISC_STATUS  ISC_EXPORT isc_array_lookup_desc();
  1234. ISC_STATUS  ISC_EXPORT isc_array_set_desc();
  1235. ISC_STATUS  ISC_EXPORT isc_array_put_slice();
  1236. ISC_STATUS  ISC_EXPORT isc_blob_gen_bpb();
  1237. ISC_STATUS  ISC_EXPORT isc_blob_info();
  1238. ISC_STATUS  ISC_EXPORT isc_blob_lookup_desc();
  1239. ISC_STATUS  ISC_EXPORT isc_blob_set_desc();
  1240. ISC_STATUS  ISC_EXPORT isc_cancel_blob();
  1241. ISC_STATUS  ISC_EXPORT isc_cancel_events();
  1242. ISC_STATUS  ISC_EXPORT isc_close_blob();
  1243. ISC_STATUS  ISC_EXPORT isc_commit_retaining();
  1244. ISC_STATUS  ISC_EXPORT isc_commit_transaction();
  1245. ISC_STATUS  ISC_EXPORT isc_compile_request();
  1246. ISC_STATUS  ISC_EXPORT isc_compile_request2();
  1247. ISC_STATUS  ISC_EXPORT isc_create_blob();
  1248. ISC_STATUS  ISC_EXPORT isc_create_blob2();
  1249. ISC_STATUS  ISC_EXPORT isc_create_database();
  1250. ISC_STATUS  ISC_EXPORT isc_database_info();
  1251. ISC_STATUS  ISC_EXPORT isc_ddl();
  1252. void        ISC_EXPORT isc_decode_date();
  1253. void        ISC_EXPORT isc_decode_sql_date();
  1254. void        ISC_EXPORT isc_decode_sql_time();
  1255. void        ISC_EXPORT isc_decode_timestamp();
  1256. ISC_STATUS  ISC_EXPORT isc_detach_database();
  1257. ISC_STATUS  ISC_EXPORT isc_drop_database();
  1258. void        ISC_EXPORT isc_encode_date();
  1259. void        ISC_EXPORT isc_encode_sql_date();
  1260. void        ISC_EXPORT isc_encode_sql_time();
  1261. void        ISC_EXPORT isc_encode_timestamp();
  1262. ISC_LONG    ISC_EXPORT isc_event_block();
  1263. void        ISC_EXPORT isc_event_counts();
  1264. void        ISC_EXPORT isc_expand_dpb();
  1265. int         ISC_EXPORT isc_modify_dpb();
  1266. ISC_LONG    ISC_EXPORT isc_free();
  1267. ISC_STATUS  ISC_EXPORT isc_get_segment();
  1268. ISC_STATUS  ISC_EXPORT isc_get_slice();
  1269. ISC_STATUS  ISC_EXPORT isc_interprete();
  1270. ISC_STATUS  ISC_EXPORT isc_open_blob();
  1271. ISC_STATUS  ISC_EXPORT isc_open_blob2();
  1272. ISC_STATUS  ISC_EXPORT isc_prepare_transaction();
  1273. ISC_STATUS  ISC_EXPORT isc_prepare_transaction2();
  1274. void        ISC_EXPORT isc_print_sqlerror();
  1275. ISC_STATUS  ISC_EXPORT isc_print_status();
  1276. ISC_STATUS  ISC_EXPORT isc_put_segment();
  1277. ISC_STATUS  ISC_EXPORT isc_put_slice();
  1278. ISC_STATUS  ISC_EXPORT isc_que_events();
  1279. ISC_STATUS  ISC_EXPORT isc_receive();
  1280. ISC_STATUS  ISC_EXPORT isc_reconnect_transaction();
  1281. ISC_STATUS  ISC_EXPORT isc_release_request();
  1282. ISC_STATUS  ISC_EXPORT isc_request_info();
  1283. ISC_LONG    ISC_EXPORT isc_reset_fpe ();
  1284. ISC_STATUS  ISC_EXPORT isc_rollback_transaction();
  1285. ISC_STATUS  ISC_EXPORT isc_rollback_retaining();
  1286. ISC_STATUS  ISC_EXPORT isc_seek_blob();
  1287. ISC_STATUS  ISC_EXPORT isc_send();
  1288. ISC_STATUS  ISC_EXPORT isc_service_attach();
  1289. ISC_STATUS  ISC_EXPORT isc_service_detach();
  1290. ISC_STATUS  ISC_EXPORT isc_service_query();
  1291. ISC_STATUS  ISC_EXPORT isc_service_start();
  1292. ISC_STATUS  ISC_EXPORT isc_start_and_send();
  1293. ISC_STATUS  ISC_EXPORT isc_start_multiple();
  1294. ISC_STATUS  ISC_EXPORT isc_start_request();
  1295. ISC_STATUS  ISC_EXPORT isc_start_transaction();
  1296. ISC_LONG    ISC_EXPORT isc_sqlcode();
  1297. ISC_STATUS  ISC_EXPORT isc_transaction_info();
  1298. ISC_STATUS  ISC_EXPORT isc_transact_request();
  1299. ISC_STATUS  ISC_EXPORT isc_unwind_request();
  1300. ISC_STATUS  ISC_EXPORT isc_wait_for_event();
  1301. ISC_LONG    ISC_EXPORT isc_ftof();
  1302. ISC_STATUS  ISC_EXPORT isc_print_blr();
  1303. void        ISC_EXPORT isc_set_debug();
  1304. void        ISC_EXPORT isc_qtoq();
  1305. ISC_LONG    ISC_EXPORT isc_vax_integer();
  1306. void        ISC_EXPORT isc_vtof();
  1307. void        ISC_EXPORT isc_vtov();
  1308. int         ISC_EXPORT isc_version();
  1309.  
  1310. #ifndef __STDC__
  1311.  
  1312. /******************/
  1313. /* Blob functions */
  1314. /******************/
  1315.  
  1316. BSTREAM   ISC_FAR * ISC_EXPORT Bopen();
  1317. BSTREAM   ISC_FAR * ISC_EXPORT BLOB_open();
  1318. BSTREAM   ISC_FAR * ISC_EXPORT Bopen2();
  1319. #endif                    /* __STDC__ */
  1320.  
  1321. #endif                                  /* __cplusplus || __STDC__ */
  1322.  
  1323. /***************************************************/
  1324. /* Actions to pass to the blob filter (ctl_source) */
  1325. /***************************************************/
  1326.  
  1327. #define isc_blob_filter_open             0
  1328. #define isc_blob_filter_get_segment      1
  1329. #define isc_blob_filter_close            2
  1330. #define isc_blob_filter_create           3
  1331. #define isc_blob_filter_put_segment      4
  1332. #define isc_blob_filter_alloc            5
  1333. #define isc_blob_filter_free             6
  1334. #define isc_blob_filter_seek             7
  1335.  
  1336. /*******************/
  1337. /* Blr definitions */
  1338. /*******************/
  1339.  
  1340. #ifndef _JRD_BLR_H_
  1341.  
  1342. #define blr_word(n) ((n) % 256), ((n) / 256)
  1343.  
  1344. #define blr_text                           14
  1345. #define blr_text2                          15
  1346. #define blr_short                          7
  1347. #define blr_long                           8
  1348. #define blr_quad                           9
  1349. #define blr_int64                          16
  1350. #define blr_float                          10
  1351. #define blr_double                         27
  1352. #define blr_d_float                        11
  1353. #define blr_timestamp                      35
  1354. #define blr_varying                        37
  1355. #define blr_varying2                       38
  1356. #define blr_blob                           261
  1357. #define blr_cstring                        40
  1358. #define blr_cstring2                       41    
  1359. #define blr_blob_id                        45
  1360. #define blr_sql_date                       12
  1361. #define blr_sql_time                       13
  1362.  
  1363. /* Historical alias for pre V6 applications */
  1364. #define blr_date                           blr_timestamp
  1365.  
  1366. #define blr_inner                          0
  1367. #define blr_left                           1
  1368. #define blr_right                          2
  1369. #define blr_full                           3
  1370.  
  1371. #define blr_gds_code                       0
  1372. #define blr_sql_code                       1
  1373. #define blr_exception                      2
  1374. #define blr_trigger_code                   3
  1375. #define blr_default_code                   4
  1376.  
  1377. #define blr_version4                       4
  1378. #define blr_version5                       5
  1379. #define blr_eoc                            76
  1380. #define blr_end                            255
  1381.  
  1382. #define blr_assignment                     1
  1383. #define blr_begin                          2
  1384. #define blr_dcl_variable                   3
  1385. #define blr_message                        4
  1386. #define blr_erase                          5
  1387. #define blr_fetch                          6
  1388. #define blr_for                            7
  1389. #define blr_if                             8
  1390. #define blr_loop                           9
  1391. #define blr_modify                         10
  1392. #define blr_handler                        11
  1393. #define blr_receive                        12
  1394. #define blr_select                         13
  1395. #define blr_send                           14
  1396. #define blr_store                          15
  1397. #define blr_label                          17
  1398. #define blr_leave                          18
  1399. #define blr_store2                         19
  1400. #define blr_post                           20
  1401.  
  1402. #define blr_literal                        21
  1403. #define blr_dbkey                          22
  1404. #define blr_field                          23
  1405. #define blr_fid                            24
  1406. #define blr_parameter                      25
  1407. #define blr_variable                       26
  1408. #define blr_average                        27
  1409. #define blr_count                          28
  1410. #define blr_maximum                        29
  1411. #define blr_minimum                        30
  1412. #define blr_total                          31
  1413. #define blr_add                            34
  1414. #define blr_subtract                       35
  1415. #define blr_multiply                       36
  1416. #define blr_divide                         37
  1417. #define blr_negate                         38
  1418. #define blr_concatenate                    39
  1419. #define blr_substring                      40
  1420. #define blr_parameter2                     41
  1421. #define blr_from                           42
  1422. #define blr_via                            43
  1423. #define blr_user_name                      44
  1424. #define blr_null                           45
  1425.  
  1426. #define blr_eql                            47
  1427. #define blr_neq                            48
  1428. #define blr_gtr                            49
  1429. #define blr_geq                            50
  1430. #define blr_lss                            51
  1431. #define blr_leq                            52
  1432. #define blr_containing                     53
  1433. #define blr_matching                       54
  1434. #define blr_starting                       55
  1435. #define blr_between                        56
  1436. #define blr_or                             57
  1437. #define blr_and                            58
  1438. #define blr_not                            59
  1439. #define blr_any                            60
  1440. #define blr_missing                        61
  1441. #define blr_unique                         62
  1442. #define blr_like                           63
  1443.  
  1444. #define blr_stream                         65
  1445. #define blr_set_index                      66
  1446. #define blr_rse                            67
  1447. #define blr_first                          68
  1448. #define blr_project                        69
  1449. #define blr_sort                           70
  1450. #define blr_boolean                        71
  1451. #define blr_ascending                      72
  1452. #define blr_descending                     73
  1453. #define blr_relation                       74
  1454. #define blr_rid                            75
  1455. #define blr_union                          76
  1456. #define blr_map                            77
  1457. #define blr_group_by                       78
  1458. #define blr_aggregate                      79
  1459. #define blr_join_type                      80
  1460.  
  1461. #define blr_agg_count                      83
  1462. #define blr_agg_max                        84
  1463. #define blr_agg_min                        85
  1464. #define blr_agg_total                      86
  1465. #define blr_agg_average                    87
  1466. #define blr_parameter3                     88
  1467. #define    blr_run_count                      118
  1468. #define    blr_run_max                        89
  1469. #define    blr_run_min                        90
  1470. #define    blr_run_total                      91
  1471. #define    blr_run_average                    92
  1472. #define blr_agg_count2                     93
  1473. #define blr_agg_count_distinct             94
  1474. #define blr_agg_total_distinct             95
  1475. #define blr_agg_average_distinct           96
  1476.  
  1477. #define blr_function                       100
  1478. #define blr_gen_id                         101
  1479. #define blr_prot_mask                      102
  1480. #define blr_upcase                         103
  1481. #define blr_lock_state                     104
  1482. #define blr_value_if                       105
  1483. #define blr_matching2                      106
  1484. #define blr_index                          107
  1485. #define blr_ansi_like                      108
  1486. #define blr_bookmark                       109
  1487. #define blr_crack                          110
  1488. #define blr_force_crack                    111
  1489. #define blr_seek                           112
  1490. #define blr_find                           113
  1491.  
  1492. #define blr_continue                       0
  1493. #define blr_forward                        1
  1494. #define blr_backward                       2
  1495. #define blr_bof_forward                    3
  1496. #define blr_eof_backward                   4
  1497.  
  1498. #define blr_lock_relation                  114
  1499. #define blr_lock_record                    115
  1500. #define blr_set_bookmark           116
  1501. #define blr_get_bookmark           117
  1502. #define blr_rs_stream                      119
  1503. #define blr_exec_proc                      120
  1504. #define blr_begin_range                    121
  1505. #define blr_end_range                      122
  1506. #define blr_delete_range                   123
  1507. #define blr_procedure                      124
  1508. #define blr_pid                            125
  1509. #define blr_exec_pid                       126
  1510. #define blr_singular                       127
  1511. #define blr_abort                          128
  1512. #define blr_block                          129
  1513. #define blr_error_handler                  130
  1514. #define blr_cast                           131
  1515. #define blr_release_lock                   132
  1516. #define blr_release_locks                  133
  1517. #define blr_start_savepoint                134
  1518. #define blr_end_savepoint                  135
  1519. #define blr_find_dbkey                     136
  1520. #define blr_range_relation                 137
  1521. #define blr_delete_ranges                  138
  1522.  
  1523. #define blr_plan                           139
  1524. #define blr_merge                          140
  1525. #define blr_join                           141
  1526. #define blr_sequential                     142
  1527. #define blr_navigational                   143
  1528. #define blr_indices                        144
  1529. #define blr_retrieve                       145
  1530.  
  1531. #define blr_relation2                      146
  1532. #define blr_rid2                           147
  1533. #define blr_reset_stream                   148
  1534. #define blr_release_bookmark               149
  1535. #define blr_set_generator                  150
  1536. #define blr_ansi_any               151   
  1537. #define blr_exists               152
  1538. #define blr_cardinality               153
  1539.  
  1540. #define blr_record_version           154        /* get tid of record */
  1541. #define blr_stall               155        /* fake server stall */
  1542. #define blr_seek_no_warn           156
  1543. #define blr_find_dbkey_version           157
  1544. #define blr_ansi_all               158   
  1545.  
  1546. #define blr_extract                        159
  1547.  
  1548. /* sub parameters for blr_extract */
  1549.  
  1550. #define blr_extract_year                   0
  1551. #define blr_extract_month                  1
  1552. #define blr_extract_day                       2
  1553. #define blr_extract_hour                   3
  1554. #define blr_extract_minute                 4
  1555. #define blr_extract_second                 5
  1556. #define blr_extract_weekday                6
  1557. #define blr_extract_yearday                7
  1558.  
  1559. #define blr_current_date                   160
  1560. #define blr_current_timestamp              161
  1561. #define blr_current_time                   162
  1562.  
  1563. /* These verbs were added in 6.0, primarily to support 64-bit integers */
  1564.  
  1565. #define blr_add2              163
  1566. #define blr_subtract2              164
  1567. #define blr_multiply2             165
  1568. #define blr_divide2              166
  1569. #define blr_agg_total2            167
  1570. #define blr_agg_total_distinct2   168
  1571. #define blr_agg_average2          169
  1572. #define blr_agg_average_distinct2 170
  1573. #define blr_average2          171
  1574. #define blr_gen_id2          172
  1575. #define blr_set_generator2        173
  1576. #endif                    /* _JRD_BLR_H_ */
  1577.  
  1578. /**********************************/
  1579. /* Database parameter block stuff */
  1580. /**********************************/
  1581.  
  1582. #define isc_dpb_version1                  1
  1583. #define isc_dpb_cdd_pathname              1
  1584. #define isc_dpb_allocation                2
  1585. #define isc_dpb_journal                   3
  1586. #define isc_dpb_page_size                 4
  1587. #define isc_dpb_num_buffers               5
  1588. #define isc_dpb_buffer_length             6
  1589. #define isc_dpb_debug                     7
  1590. #define isc_dpb_garbage_collect           8
  1591. #define isc_dpb_verify                    9
  1592. #define isc_dpb_sweep                     10
  1593. #define isc_dpb_enable_journal            11
  1594. #define isc_dpb_disable_journal           12
  1595. #define isc_dpb_dbkey_scope               13
  1596. #define isc_dpb_number_of_users           14
  1597. #define isc_dpb_trace                     15
  1598. #define isc_dpb_no_garbage_collect        16
  1599. #define isc_dpb_damaged                   17
  1600. #define isc_dpb_license                   18
  1601. #define isc_dpb_sys_user_name             19
  1602. #define isc_dpb_encrypt_key               20
  1603. #define isc_dpb_activate_shadow           21
  1604. #define isc_dpb_sweep_interval            22
  1605. #define isc_dpb_delete_shadow             23
  1606. #define isc_dpb_force_write               24
  1607. #define isc_dpb_begin_log                 25
  1608. #define isc_dpb_quit_log                  26
  1609. #define isc_dpb_no_reserve                27
  1610. #define isc_dpb_user_name                 28
  1611. #define isc_dpb_password                  29
  1612. #define isc_dpb_password_enc              30
  1613. #define isc_dpb_sys_user_name_enc         31
  1614. #define isc_dpb_interp                    32
  1615. #define isc_dpb_online_dump               33
  1616. #define isc_dpb_old_file_size             34
  1617. #define isc_dpb_old_num_files             35
  1618. #define isc_dpb_old_file                  36
  1619. #define isc_dpb_old_start_page            37
  1620. #define isc_dpb_old_start_seqno           38
  1621. #define isc_dpb_old_start_file            39
  1622. #define isc_dpb_drop_walfile              40
  1623. #define isc_dpb_old_dump_id               41
  1624. #define isc_dpb_wal_backup_dir            42
  1625. #define isc_dpb_wal_chkptlen              43
  1626. #define isc_dpb_wal_numbufs               44
  1627. #define isc_dpb_wal_bufsize               45
  1628. #define isc_dpb_wal_grp_cmt_wait          46
  1629. #define isc_dpb_lc_messages               47
  1630. #define isc_dpb_lc_ctype                  48
  1631. #define isc_dpb_cache_manager          49
  1632. #define isc_dpb_shutdown          50
  1633. #define isc_dpb_online              51
  1634. #define isc_dpb_shutdown_delay          52
  1635. #define isc_dpb_reserved          53
  1636. #define isc_dpb_overwrite          54
  1637. #define isc_dpb_sec_attach          55
  1638. #define isc_dpb_disable_wal          56
  1639. #define isc_dpb_connect_timeout           57
  1640. #define isc_dpb_dummy_packet_interval     58
  1641. #define isc_dpb_gbak_attach               59
  1642. #define isc_dpb_sql_role_name             60
  1643. #define isc_dpb_set_page_buffers          61
  1644. #define isc_dpb_working_directory         62
  1645. #define isc_dpb_sql_dialect               63
  1646. #define isc_dpb_set_db_readonly           64
  1647. #define isc_dpb_set_db_sql_dialect        65
  1648. #define isc_dpb_gfix_attach          66
  1649. #define isc_dpb_gstat_attach          67
  1650.  
  1651. /*********************************/
  1652. /* isc_dpb_verify specific flags */
  1653. /*********************************/
  1654.  
  1655. #define isc_dpb_pages                     1
  1656. #define isc_dpb_records                   2
  1657. #define isc_dpb_indices                   4
  1658. #define isc_dpb_transactions              8
  1659. #define isc_dpb_no_update                 16
  1660. #define isc_dpb_repair                    32
  1661. #define isc_dpb_ignore                    64
  1662.  
  1663. /***********************************/
  1664. /* isc_dpb_shutdown specific flags */
  1665. /***********************************/
  1666.  
  1667. #define isc_dpb_shut_cache               1
  1668. #define isc_dpb_shut_attachment          2
  1669. #define isc_dpb_shut_transaction         4
  1670. #define isc_dpb_shut_force               8
  1671.  
  1672. /**************************************/
  1673. /* Bit assignments in RDB$SYSTEM_FLAG */
  1674. /**************************************/
  1675.  
  1676. #define RDB_system                         1
  1677. #define RDB_id_assigned                    2
  1678.  
  1679. /*************************************/
  1680. /* Transaction parameter block stuff */
  1681. /*************************************/
  1682.  
  1683. #define isc_tpb_version1                  1
  1684. #define isc_tpb_version3                  3
  1685. #define isc_tpb_consistency               1
  1686. #define isc_tpb_concurrency               2
  1687. #define isc_tpb_shared                    3
  1688. #define isc_tpb_protected                 4
  1689. #define isc_tpb_exclusive                 5
  1690. #define isc_tpb_wait                      6
  1691. #define isc_tpb_nowait                    7
  1692. #define isc_tpb_read                      8
  1693. #define isc_tpb_write                     9
  1694. #define isc_tpb_lock_read                 10
  1695. #define isc_tpb_lock_write                11
  1696. #define isc_tpb_verb_time                 12
  1697. #define isc_tpb_commit_time               13
  1698. #define isc_tpb_ignore_limbo              14
  1699. #define isc_tpb_read_committed          15
  1700. #define isc_tpb_autocommit          16
  1701. #define isc_tpb_rec_version          17
  1702. #define isc_tpb_no_rec_version          18
  1703. #define isc_tpb_restart_requests      19
  1704. #define isc_tpb_no_auto_undo              20
  1705.  
  1706. /************************/
  1707. /* Blob Parameter Block */
  1708. /************************/
  1709.  
  1710. #define isc_bpb_version1                  1
  1711. #define isc_bpb_source_type               1
  1712. #define isc_bpb_target_type               2
  1713. #define isc_bpb_type                      3
  1714. #define isc_bpb_source_interp             4
  1715. #define isc_bpb_target_interp             5
  1716. #define isc_bpb_filter_parameter          6
  1717.  
  1718. #define isc_bpb_type_segmented            0
  1719. #define isc_bpb_type_stream               1
  1720.  
  1721. /*********************************/
  1722. /* Service parameter block stuff */
  1723. /*********************************/
  1724.  
  1725. #define isc_spb_version1                  1
  1726. #define isc_spb_current_version           2
  1727. #define isc_spb_version              isc_spb_current_version
  1728. #define isc_spb_user_name                 isc_dpb_user_name 
  1729. #define isc_spb_sys_user_name             isc_dpb_sys_user_name
  1730. #define isc_spb_sys_user_name_enc         isc_dpb_sys_user_name_enc
  1731. #define isc_spb_password                  isc_dpb_password
  1732. #define isc_spb_password_enc              isc_dpb_password_enc
  1733. #define isc_spb_command_line              105
  1734. #define isc_spb_dbname                    106
  1735. #define isc_spb_verbose                   107
  1736. #define isc_spb_options                   108
  1737.  
  1738. #define isc_spb_connect_timeout           isc_dpb_connect_timeout
  1739. #define isc_spb_dummy_packet_interval     isc_dpb_dummy_packet_interval
  1740. #define isc_spb_sql_role_name             isc_dpb_sql_role_name
  1741.  
  1742. /*********************************/
  1743. /* Information call declarations */
  1744. /*********************************/
  1745.  
  1746. /****************************/
  1747. /* Common, structural codes */
  1748. /****************************/
  1749.  
  1750. #define isc_info_end                      1
  1751. #define isc_info_truncated                2
  1752. #define isc_info_error                    3
  1753. #define isc_info_data_not_ready              4
  1754. #define isc_info_flag_end          127
  1755.  
  1756. /******************************/
  1757. /* Database information items */
  1758. /******************************/
  1759.  
  1760. #define isc_info_db_id                    4
  1761. #define isc_info_reads                    5
  1762. #define isc_info_writes                   6
  1763. #define isc_info_fetches                  7
  1764. #define isc_info_marks                    8
  1765. #define isc_info_implementation           11
  1766. #define isc_info_version                  12
  1767. #define isc_info_base_level               13
  1768. #define isc_info_page_size                14
  1769. #define isc_info_num_buffers              15
  1770. #define isc_info_limbo                    16
  1771. #define isc_info_current_memory           17
  1772. #define isc_info_max_memory               18
  1773. #define isc_info_window_turns             19
  1774. #define isc_info_license                  20
  1775. #define isc_info_allocation               21
  1776. #define isc_info_attachment_id            22
  1777. #define isc_info_read_seq_count           23
  1778. #define isc_info_read_idx_count           24
  1779. #define isc_info_insert_count             25
  1780. #define isc_info_update_count             26
  1781. #define isc_info_delete_count             27
  1782. #define isc_info_backout_count            28
  1783. #define isc_info_purge_count              29
  1784. #define isc_info_expunge_count            30
  1785. #define isc_info_sweep_interval           31
  1786. #define isc_info_ods_version              32
  1787. #define isc_info_ods_minor_version        33
  1788. #define isc_info_no_reserve               34
  1789. #define isc_info_logfile                  35
  1790. #define isc_info_cur_logfile_name         36
  1791. #define isc_info_cur_log_part_offset      37
  1792. #define isc_info_num_wal_buffers          38
  1793. #define isc_info_wal_buffer_size          39
  1794. #define isc_info_wal_ckpt_length          40
  1795. #define isc_info_wal_cur_ckpt_interval    41
  1796. #define isc_info_wal_prv_ckpt_fname       42
  1797. #define isc_info_wal_prv_ckpt_poffset     43
  1798. #define isc_info_wal_recv_ckpt_fname      44
  1799. #define isc_info_wal_recv_ckpt_poffset    45
  1800. #define isc_info_wal_grpc_wait_usecs      47
  1801. #define isc_info_wal_num_io               48
  1802. #define isc_info_wal_avg_io_size          49
  1803. #define isc_info_wal_num_commits          50
  1804. #define isc_info_wal_avg_grpc_size        51
  1805. #define isc_info_forced_writes          52
  1806. #define isc_info_user_names          53
  1807. #define isc_info_page_errors          54
  1808. #define isc_info_record_errors          55
  1809. #define isc_info_bpage_errors          56
  1810. #define isc_info_dpage_errors            57
  1811. #define isc_info_ipage_errors            58
  1812. #define isc_info_ppage_errors          59
  1813. #define isc_info_tpage_errors            60
  1814. #define isc_info_set_page_buffers         61
  1815. #define isc_info_db_sql_dialect           62
  1816. #define isc_info_db_read_only             63
  1817. #define isc_info_db_size_in_pages      64
  1818.  
  1819. /**************************************/
  1820. /* Database information return values */
  1821. /**************************************/
  1822.  
  1823. #define isc_info_db_impl_rdb_vms          1
  1824. #define isc_info_db_impl_rdb_eln          2
  1825. #define isc_info_db_impl_rdb_eln_dev      3
  1826. #define isc_info_db_impl_rdb_vms_y        4
  1827. #define isc_info_db_impl_rdb_eln_y        5
  1828. #define isc_info_db_impl_jri              6
  1829. #define isc_info_db_impl_jsv              7
  1830. #define isc_info_db_impl_isc_a            25
  1831. #define isc_info_db_impl_isc_u            26
  1832. #define isc_info_db_impl_isc_v            27
  1833. #define isc_info_db_impl_isc_s            28
  1834. #define isc_info_db_impl_isc_apl_68K      25
  1835. #define isc_info_db_impl_isc_vax_ultr     26
  1836. #define isc_info_db_impl_isc_vms          27
  1837. #define isc_info_db_impl_isc_sun_68k      28
  1838. #define isc_info_db_impl_isc_os2          29
  1839. #define isc_info_db_impl_isc_sun4         30
  1840. #define isc_info_db_impl_isc_hp_ux        31
  1841. #define isc_info_db_impl_isc_sun_386i     32
  1842. #define isc_info_db_impl_isc_vms_orcl     33
  1843. #define isc_info_db_impl_isc_mac_aux      34
  1844. #define isc_info_db_impl_isc_rt_aix       35
  1845. #define isc_info_db_impl_isc_mips_ult     36
  1846. #define isc_info_db_impl_isc_xenix        37
  1847. #define isc_info_db_impl_isc_dg           38
  1848. #define isc_info_db_impl_isc_hp_mpexl     39
  1849. #define isc_info_db_impl_isc_hp_ux68K     40
  1850. #define isc_info_db_impl_isc_sgi          41
  1851. #define isc_info_db_impl_isc_sco_unix     42
  1852. #define isc_info_db_impl_isc_cray         43
  1853. #define isc_info_db_impl_isc_imp          44
  1854. #define isc_info_db_impl_isc_delta        45
  1855. #define isc_info_db_impl_isc_next         46
  1856. #define isc_info_db_impl_isc_dos          47
  1857. #define isc_info_db_impl_isc_winnt        48
  1858. #define isc_info_db_impl_isc_epson        49
  1859.  
  1860. #define isc_info_db_class_access          1
  1861. #define isc_info_db_class_y_valve         2
  1862. #define isc_info_db_class_rem_int         3
  1863. #define isc_info_db_class_rem_srvr        4
  1864. #define isc_info_db_class_pipe_int        7
  1865. #define isc_info_db_class_pipe_srvr       8
  1866. #define isc_info_db_class_sam_int         9
  1867. #define isc_info_db_class_sam_srvr        10
  1868. #define isc_info_db_class_gateway         11
  1869. #define isc_info_db_class_cache           12
  1870.  
  1871. /*****************************/
  1872. /* Request information items */
  1873. /*****************************/
  1874.  
  1875. #define isc_info_number_messages          4
  1876. #define isc_info_max_message              5
  1877. #define isc_info_max_send                 6
  1878. #define isc_info_max_receive              7
  1879. #define isc_info_state                    8
  1880. #define isc_info_message_number           9
  1881. #define isc_info_message_size             10
  1882. #define isc_info_request_cost             11
  1883. #define isc_info_access_path              12
  1884. #define isc_info_req_select_count         13
  1885. #define isc_info_req_insert_count         14
  1886. #define isc_info_req_update_count         15
  1887. #define isc_info_req_delete_count         16
  1888.  
  1889. /*********************/
  1890. /* Access path items */
  1891. /*********************/
  1892.  
  1893. #define isc_info_rsb_end           0
  1894. #define isc_info_rsb_begin           1
  1895. #define isc_info_rsb_type           2
  1896. #define isc_info_rsb_relation           3
  1897. #define isc_info_rsb_plan                  4
  1898.  
  1899. /*************/
  1900. /* Rsb types */
  1901. /*************/
  1902.  
  1903. #define isc_info_rsb_unknown           1
  1904. #define isc_info_rsb_indexed           2
  1905. #define isc_info_rsb_navigate           3
  1906. #define isc_info_rsb_sequential            4
  1907. #define isc_info_rsb_cross           5
  1908. #define isc_info_rsb_sort           6
  1909. #define isc_info_rsb_first           7
  1910. #define isc_info_rsb_boolean           8
  1911. #define isc_info_rsb_union           9
  1912. #define isc_info_rsb_aggregate          10
  1913. #define isc_info_rsb_merge          11
  1914. #define isc_info_rsb_ext_sequential      12
  1915. #define isc_info_rsb_ext_indexed      13
  1916. #define isc_info_rsb_ext_dbkey          14
  1917. #define isc_info_rsb_left_cross           15
  1918. #define isc_info_rsb_select          16
  1919. #define isc_info_rsb_sql_join          17
  1920. #define isc_info_rsb_simulate          18
  1921. #define isc_info_rsb_sim_cross          19
  1922. #define isc_info_rsb_once          20
  1923. #define isc_info_rsb_procedure          21
  1924.  
  1925. /**********************/
  1926. /* Bitmap expressions */
  1927. /**********************/
  1928.  
  1929. #define isc_info_rsb_and        1
  1930. #define isc_info_rsb_or            2
  1931. #define isc_info_rsb_dbkey        3
  1932. #define isc_info_rsb_index        4
  1933.  
  1934. #define isc_info_req_active               2
  1935. #define isc_info_req_inactive             3
  1936. #define isc_info_req_send                 4
  1937. #define isc_info_req_receive              5
  1938. #define isc_info_req_select               6
  1939. #define isc_info_req_sql_stall          7
  1940.  
  1941. /**************************/
  1942. /* Blob information items */
  1943. /**************************/
  1944.  
  1945. #define isc_info_blob_num_segments        4
  1946. #define isc_info_blob_max_segment         5
  1947. #define isc_info_blob_total_length        6
  1948. #define isc_info_blob_type                7
  1949.  
  1950. /*********************************/
  1951. /* Transaction information items */
  1952. /*********************************/
  1953.  
  1954. #define isc_info_tra_id                   4
  1955.  
  1956. /*****************************
  1957.  * Service action items      *
  1958.  *****************************/
  1959.  
  1960. #define isc_action_svc_backup          1 /* Starts database backup process on the server */ 
  1961. #define isc_action_svc_restore         2 /* Starts database restore process on the server */ 
  1962. #define isc_action_svc_repair          3 /* Starts database repair process on the server */ 
  1963. #define isc_action_svc_add_user        4 /* Adds a new user to the security database */ 
  1964. #define isc_action_svc_delete_user     5 /* Deletes a user record from the security database */ 
  1965. #define isc_action_svc_modify_user     6 /* Modifies a user record in the security database */
  1966. #define isc_action_svc_display_user    7 /* Displays a user record from the security database */
  1967. #define isc_action_svc_properties      8 /* Sets database properties */ 
  1968. #define isc_action_svc_add_license     9 /* Adds a license to the license file */ 
  1969. #define isc_action_svc_remove_license 10 /* Removes a license from the license file */ 
  1970. #define isc_action_svc_db_stats          11 /* Retrieves database statistics */
  1971. #define isc_action_svc_get_ib_log     12 /* Retrieves the InterBase log file from the server */
  1972.  
  1973. /*****************************
  1974.  * Service information items *
  1975.  *****************************/
  1976.  
  1977. #define isc_info_svc_svr_db_info      50 /* Retrieves the number of attachments and databases */ 
  1978. #define isc_info_svc_get_license      51 /* Retrieves all license keys and IDs from the license file */
  1979. #define isc_info_svc_get_license_mask 52 /* Retrieves a bitmask representing licensed options on the server */ 
  1980. #define isc_info_svc_get_config       53 /* Retrieves the parameters and values for IB_CONFIG */ 
  1981. #define isc_info_svc_version          54 /* Retrieves the version of the services manager */ 
  1982. #define isc_info_svc_server_version   55 /* Retrieves the version of the InterBase server */ 
  1983. #define isc_info_svc_implementation   56 /* Retrieves the implementation of the InterBase server */ 
  1984. #define isc_info_svc_capabilities     57 /* Retrieves a bitmask representing the server's capabilities */ 
  1985. #define isc_info_svc_user_dbpath      58 /* Retrieves the path to the security database in use by the server */ 
  1986. #define isc_info_svc_get_env          59 /* Retrieves the setting of $INTERBASE */
  1987. #define isc_info_svc_get_env_lock     60 /* Retrieves the setting of $INTERBASE_LCK */
  1988. #define isc_info_svc_get_env_msg      61 /* Retrieves the setting of $INTERBASE_MSG */
  1989. #define isc_info_svc_line             62 /* Retrieves 1 line of service output per call */
  1990. #define isc_info_svc_to_eof           63 /* Retrieves as much of the server output as will fit in the supplied buffer */
  1991. #define isc_info_svc_timeout          64 /* Sets / signifies a timeout value for reading service information */
  1992. #define isc_info_svc_get_licensed_users 65 /* Retrieves the number of users licensed for accessing the server */
  1993. #define isc_info_svc_limbo_trans    66 /* Retrieve the limbo transactions */
  1994. #define isc_info_svc_running        67 /* Checks to see if a service is running on an attachment */
  1995. #define isc_info_svc_get_users        68 /* Returns the user information from isc_action_svc_display_users */
  1996.  
  1997. /******************************************************
  1998.  * Parameters for isc_action_{add|delete|modify)_user *
  1999.  ******************************************************/
  2000.  
  2001. #define isc_spb_sec_userid            5
  2002. #define isc_spb_sec_groupid           6
  2003. #define isc_spb_sec_username          7
  2004. #define isc_spb_sec_password          8
  2005. #define isc_spb_sec_groupname         9
  2006. #define isc_spb_sec_firstname         10
  2007. #define isc_spb_sec_middlename        11
  2008. #define isc_spb_sec_lastname          12
  2009.  
  2010. /*******************************************************
  2011.  * Parameters for isc_action_svc_(add|remove)_license, *
  2012.  * isc_info_svc_get_license                            *
  2013.  *******************************************************/
  2014.  
  2015. #define isc_spb_lic_key               5
  2016. #define isc_spb_lic_id                6
  2017. #define isc_spb_lic_desc              7
  2018.  
  2019.  
  2020. /*****************************************
  2021.  * Parameters for isc_action_svc_backup  *
  2022.  *****************************************/
  2023.  
  2024. #define isc_spb_bkp_file                 5 
  2025. #define isc_spb_bkp_factor               6
  2026. #define isc_spb_bkp_length               7
  2027. #define isc_spb_bkp_ignore_checksums     0x01
  2028. #define isc_spb_bkp_ignore_limbo         0x02
  2029. #define isc_spb_bkp_metadata_only        0x04
  2030. #define isc_spb_bkp_no_garbage_collect   0x08
  2031. #define isc_spb_bkp_old_descriptions     0x10
  2032. #define isc_spb_bkp_non_transportable    0x20
  2033. #define isc_spb_bkp_convert              0x40
  2034. #define isc_spb_bkp_expand         0x80
  2035.  
  2036. /********************************************
  2037.  * Parameters for isc_action_svc_properties *
  2038.  ********************************************/
  2039.  
  2040. #define isc_spb_prp_page_buffers        5
  2041. #define isc_spb_prp_sweep_interval        6
  2042. #define isc_spb_prp_shutdown_db            7
  2043. #define isc_spb_prp_deny_new_attachments    9
  2044. #define isc_spb_prp_deny_new_transactions    10
  2045. #define isc_spb_prp_reserve_space        11
  2046. #define isc_spb_prp_write_mode            12
  2047. #define isc_spb_prp_access_mode            13
  2048. #define isc_spb_prp_set_sql_dialect        14
  2049. #define isc_spb_prp_activate            0x0100
  2050. #define isc_spb_prp_db_online            0x0200
  2051.  
  2052. /********************************************
  2053.  * Parameters for isc_spb_prp_reserve_space *
  2054.  ********************************************/
  2055.  
  2056. #define isc_spb_prp_res_use_full    35
  2057. #define isc_spb_prp_res            36
  2058.  
  2059. /******************************************
  2060.  * Parameters for isc_spb_prp_write_mode  *
  2061.  ******************************************/
  2062.  
  2063. #define isc_spb_prp_wm_async        37
  2064. #define isc_spb_prp_wm_sync        38
  2065.  
  2066. /******************************************
  2067.  * Parameters for isc_spb_prp_access_mode *
  2068.  ******************************************/
  2069.  
  2070. #define isc_spb_prp_am_readonly        39
  2071. #define isc_spb_prp_am_readwrite    40
  2072.  
  2073. /*****************************************
  2074.  * Parameters for isc_action_svc_repair  *
  2075.  *****************************************/
  2076.  
  2077. #define isc_spb_rpr_commit_trans        15
  2078. #define isc_spb_rpr_rollback_trans        34
  2079. #define isc_spb_rpr_recover_two_phase        17
  2080. #define isc_spb_tra_id                         18
  2081. #define isc_spb_single_tra_id            19
  2082. #define isc_spb_multi_tra_id            20
  2083. #define isc_spb_tra_state            21
  2084. #define isc_spb_tra_state_limbo            22
  2085. #define isc_spb_tra_state_commit        23
  2086. #define isc_spb_tra_state_rollback        24
  2087. #define isc_spb_tra_state_unknown        25
  2088. #define isc_spb_tra_host_site            26
  2089. #define isc_spb_tra_remote_site            27
  2090. #define isc_spb_tra_db_path            28
  2091. #define isc_spb_tra_advise            29
  2092. #define isc_spb_tra_advise_commit        30
  2093. #define isc_spb_tra_advise_rollback        31
  2094. #define isc_spb_tra_advise_unknown        33
  2095.  
  2096. #define isc_spb_rpr_validate_db            0x01
  2097. #define isc_spb_rpr_sweep_db            0x02
  2098. #define isc_spb_rpr_mend_db            0x04
  2099. #define isc_spb_rpr_list_limbo_trans        0x08
  2100. #define isc_spb_rpr_check_db            0x10
  2101. #define isc_spb_rpr_ignore_checksum        0x20
  2102. #define isc_spb_rpr_kill_shadows        0x40
  2103. #define isc_spb_rpr_full            0x80
  2104.  
  2105. /*****************************************
  2106.  * Parameters for isc_action_svc_restore *
  2107.  *****************************************/
  2108.  
  2109. #define isc_spb_res_buffers            9
  2110. #define isc_spb_res_page_size            10 
  2111. #define isc_spb_res_length            11
  2112. #define isc_spb_res_access_mode            12
  2113. #define isc_spb_res_deactivate_idx        0x0100
  2114. #define isc_spb_res_no_shadow            0x0200
  2115. #define isc_spb_res_no_validity            0x0400
  2116. #define isc_spb_res_one_at_a_time        0x0800
  2117. #define isc_spb_res_replace            0x1000
  2118. #define isc_spb_res_create            0x2000
  2119. #define isc_spb_res_use_all_space        0x4000
  2120.  
  2121. /******************************************
  2122.  * Parameters for isc_spb_res_access_mode  *
  2123.  ******************************************/
  2124.  
  2125. #define isc_spb_res_am_readonly            isc_spb_prp_am_readonly
  2126. #define isc_spb_res_am_readwrite        isc_spb_prp_am_readwrite
  2127.  
  2128. /*******************************************
  2129.  * Parameters for isc_info_svc_svr_db_info *
  2130.  *******************************************/
  2131.  
  2132. #define isc_spb_num_att               5 
  2133. #define isc_spb_num_db                6
  2134.  
  2135. /*****************************************
  2136.  * Parameters for isc_info_svc_db_stats  *
  2137.  *****************************************/
  2138.  
  2139. #define isc_spb_sts_data_pages        0x01
  2140. #define isc_spb_sts_db_log        0x02
  2141. #define isc_spb_sts_hdr_pages        0x04
  2142. #define isc_spb_sts_idx_pages        0x08
  2143. #define isc_spb_sts_sys_relations    0x10
  2144.  
  2145. /*************************/
  2146. /* SQL information items */
  2147. /*************************/
  2148.  
  2149. #define isc_info_sql_select               4
  2150. #define isc_info_sql_bind                 5
  2151. #define isc_info_sql_num_variables        6
  2152. #define isc_info_sql_describe_vars        7
  2153. #define isc_info_sql_describe_end         8
  2154. #define isc_info_sql_sqlda_seq            9
  2155. #define isc_info_sql_message_seq          10
  2156. #define isc_info_sql_type                 11
  2157. #define isc_info_sql_sub_type             12
  2158. #define isc_info_sql_scale                13
  2159. #define isc_info_sql_length               14
  2160. #define isc_info_sql_null_ind             15
  2161. #define isc_info_sql_field                16
  2162. #define isc_info_sql_relation             17
  2163. #define isc_info_sql_owner                18
  2164. #define isc_info_sql_alias                19
  2165. #define isc_info_sql_sqlda_start          20
  2166. #define isc_info_sql_stmt_type            21
  2167. #define isc_info_sql_get_plan             22
  2168. #define isc_info_sql_records          23
  2169. #define isc_info_sql_batch_fetch      24
  2170.  
  2171. /*********************************/
  2172. /* SQL information return values */
  2173. /*********************************/
  2174.  
  2175. #define isc_info_sql_stmt_select          1
  2176. #define isc_info_sql_stmt_insert          2
  2177. #define isc_info_sql_stmt_update          3
  2178. #define isc_info_sql_stmt_delete          4
  2179. #define isc_info_sql_stmt_ddl             5
  2180. #define isc_info_sql_stmt_get_segment     6
  2181. #define isc_info_sql_stmt_put_segment     7
  2182. #define isc_info_sql_stmt_exec_procedure  8
  2183. #define isc_info_sql_stmt_start_trans     9
  2184. #define isc_info_sql_stmt_commit          10
  2185. #define isc_info_sql_stmt_rollback        11
  2186. #define isc_info_sql_stmt_select_for_upd  12
  2187. #define isc_info_sql_stmt_set_generator   13
  2188.  
  2189. /***********************************/
  2190. /* Server configuration key values */
  2191. /***********************************/
  2192.  
  2193. #define    ISCCFG_LOCKMEM_KEY    0
  2194. #define ISCCFG_LOCKSEM_KEY    1
  2195. #define ISCCFG_LOCKSIG_KEY    2
  2196. #define ISCCFG_EVNTMEM_KEY    3
  2197. #define ISCCFG_DBCACHE_KEY    4
  2198. #define ISCCFG_PRIORITY_KEY    5
  2199. #define ISCCFG_IPCMAP_KEY    6
  2200. #define ISCCFG_MEMMIN_KEY    7
  2201. #define ISCCFG_MEMMAX_KEY    8
  2202. #define    ISCCFG_LOCKORDER_KEY    9
  2203. #define    ISCCFG_ANYLOCKMEM_KEY    10
  2204. #define ISCCFG_ANYLOCKSEM_KEY    11
  2205. #define ISCCFG_ANYLOCKSIG_KEY    12
  2206. #define ISCCFG_ANYEVNTMEM_KEY    13
  2207. #define ISCCFG_LOCKHASH_KEY    14
  2208. #define ISCCFG_DEADLOCK_KEY    15
  2209. #define ISCCFG_LOCKSPIN_KEY    16
  2210. #define ISCCFG_CONN_TIMEOUT_KEY 17
  2211. #define ISCCFG_DUMMY_INTRVL_KEY 18
  2212. #define ISCCFG_TRACE_POOLS_KEY  19   /* Internal Use only */
  2213. #define ISCCFG_REMOTE_BUFFER_KEY    20
  2214.  
  2215. /***************/
  2216. /* Error codes */
  2217. /***************/
  2218.  
  2219. #define isc_facility                       20
  2220. #define isc_err_base                       335544320L
  2221. #define isc_err_factor                     1
  2222. #define isc_arg_end                        0
  2223. #define isc_arg_gds                        1
  2224. #define isc_arg_string                     2
  2225. #define isc_arg_cstring                    3
  2226. #define isc_arg_number                     4
  2227. #define isc_arg_interpreted                5
  2228. #define isc_arg_vms                        6
  2229. #define isc_arg_unix                       7
  2230. #define isc_arg_domain                     8
  2231. #define isc_arg_dos                        9
  2232. #define isc_arg_mpexl                      10
  2233. #define isc_arg_mpexl_ipc                  11
  2234. #define isc_arg_next_mach           15
  2235. #define isc_arg_netware                   16
  2236. #define isc_arg_win32                      17
  2237. #define isc_arg_warning                    18
  2238.  
  2239. #include <iberror.h>
  2240.  
  2241. /**********************************************/
  2242. /* Dynamic Data Definition Language operators */
  2243. /**********************************************/
  2244.  
  2245. /******************/
  2246. /* Version number */
  2247. /******************/
  2248.  
  2249. #define isc_dyn_version_1                 1
  2250. #define isc_dyn_eoc                       255
  2251.  
  2252. /******************************/
  2253. /* Operations (may be nested) */
  2254. /******************************/
  2255.  
  2256. #define isc_dyn_begin                     2
  2257. #define isc_dyn_end                       3
  2258. #define isc_dyn_if                        4
  2259. #define isc_dyn_def_database              5
  2260. #define isc_dyn_def_global_fld            6
  2261. #define isc_dyn_def_local_fld             7
  2262. #define isc_dyn_def_idx                   8
  2263. #define isc_dyn_def_rel                   9
  2264. #define isc_dyn_def_sql_fld               10
  2265. #define isc_dyn_def_view                  12
  2266. #define isc_dyn_def_trigger               15
  2267. #define isc_dyn_def_security_class        120
  2268. #define isc_dyn_def_dimension             140
  2269. #define isc_dyn_def_generator             24
  2270. #define isc_dyn_def_function              25
  2271. #define isc_dyn_def_filter                26
  2272. #define isc_dyn_def_function_arg          27
  2273. #define isc_dyn_def_shadow                34
  2274. #define isc_dyn_def_trigger_msg           17
  2275. #define isc_dyn_def_file                  36
  2276. #define isc_dyn_mod_database              39
  2277. #define isc_dyn_mod_rel                   11
  2278. #define isc_dyn_mod_global_fld            13
  2279. #define isc_dyn_mod_idx                   102
  2280. #define isc_dyn_mod_local_fld             14
  2281. #define isc_dyn_mod_sql_fld          216
  2282. #define isc_dyn_mod_view                  16
  2283. #define isc_dyn_mod_security_class        122
  2284. #define isc_dyn_mod_trigger               113
  2285. #define isc_dyn_mod_trigger_msg           28
  2286. #define isc_dyn_delete_database           18
  2287. #define isc_dyn_delete_rel                19
  2288. #define isc_dyn_delete_global_fld         20
  2289. #define isc_dyn_delete_local_fld          21
  2290. #define isc_dyn_delete_idx                22
  2291. #define isc_dyn_delete_security_class     123
  2292. #define isc_dyn_delete_dimensions         143
  2293. #define isc_dyn_delete_trigger            23
  2294. #define isc_dyn_delete_trigger_msg        29
  2295. #define isc_dyn_delete_filter             32
  2296. #define isc_dyn_delete_function           33
  2297. #define isc_dyn_delete_shadow             35
  2298. #define isc_dyn_grant                     30
  2299. #define isc_dyn_revoke                    31
  2300. #define isc_dyn_def_primary_key           37
  2301. #define isc_dyn_def_foreign_key           38
  2302. #define isc_dyn_def_unique                40
  2303. #define isc_dyn_def_procedure             164
  2304. #define isc_dyn_delete_procedure          165
  2305. #define isc_dyn_def_parameter             135
  2306. #define isc_dyn_delete_parameter          136
  2307. #define isc_dyn_mod_procedure             175
  2308. #define isc_dyn_def_log_file              176
  2309. #define isc_dyn_def_cache_file            180
  2310. #define isc_dyn_def_exception             181
  2311. #define isc_dyn_mod_exception             182
  2312. #define isc_dyn_del_exception             183
  2313. #define isc_dyn_drop_log                  194
  2314. #define isc_dyn_drop_cache                195
  2315. #define isc_dyn_def_default_log           202
  2316.  
  2317. /***********************/
  2318. /* View specific stuff */
  2319. /***********************/
  2320.  
  2321. #define isc_dyn_view_blr                  43
  2322. #define isc_dyn_view_source               44
  2323. #define isc_dyn_view_relation             45
  2324. #define isc_dyn_view_context              46
  2325. #define isc_dyn_view_context_name         47
  2326.  
  2327. /**********************/
  2328. /* Generic attributes */
  2329. /**********************/
  2330.  
  2331. #define isc_dyn_rel_name                  50
  2332. #define isc_dyn_fld_name                  51
  2333. #define isc_dyn_new_fld_name          215
  2334. #define isc_dyn_idx_name                  52
  2335. #define isc_dyn_description               53
  2336. #define isc_dyn_security_class            54
  2337. #define isc_dyn_system_flag               55
  2338. #define isc_dyn_update_flag               56
  2339. #define isc_dyn_prc_name                  166
  2340. #define isc_dyn_prm_name                  137
  2341. #define isc_dyn_sql_object                196
  2342. #define isc_dyn_fld_character_set_name    174
  2343.  
  2344. /********************************/
  2345. /* Relation specific attributes */
  2346. /********************************/
  2347.  
  2348. #define isc_dyn_rel_dbkey_length          61
  2349. #define isc_dyn_rel_store_trig            62
  2350. #define isc_dyn_rel_modify_trig           63
  2351. #define isc_dyn_rel_erase_trig            64
  2352. #define isc_dyn_rel_store_trig_source     65
  2353. #define isc_dyn_rel_modify_trig_source    66
  2354. #define isc_dyn_rel_erase_trig_source     67
  2355. #define isc_dyn_rel_ext_file              68
  2356. #define isc_dyn_rel_sql_protection        69
  2357. #define isc_dyn_rel_constraint            162
  2358. #define isc_dyn_delete_rel_constraint     163
  2359.  
  2360. /************************************/
  2361. /* Global field specific attributes */
  2362. /************************************/
  2363.  
  2364. #define isc_dyn_fld_type                  70
  2365. #define isc_dyn_fld_length                71
  2366. #define isc_dyn_fld_scale                 72
  2367. #define isc_dyn_fld_sub_type              73
  2368. #define isc_dyn_fld_segment_length        74
  2369. #define isc_dyn_fld_query_header          75
  2370. #define isc_dyn_fld_edit_string           76
  2371. #define isc_dyn_fld_validation_blr        77
  2372. #define isc_dyn_fld_validation_source     78
  2373. #define isc_dyn_fld_computed_blr          79
  2374. #define isc_dyn_fld_computed_source       80
  2375. #define isc_dyn_fld_missing_value         81
  2376. #define isc_dyn_fld_default_value         82
  2377. #define isc_dyn_fld_query_name            83
  2378. #define isc_dyn_fld_dimensions            84
  2379. #define isc_dyn_fld_not_null              85
  2380. #define isc_dyn_fld_precision             86
  2381. #define isc_dyn_fld_char_length           172
  2382. #define isc_dyn_fld_collation             173
  2383. #define isc_dyn_fld_default_source        193
  2384. #define isc_dyn_del_default               197
  2385. #define isc_dyn_del_validation            198
  2386. #define isc_dyn_single_validation         199
  2387. #define isc_dyn_fld_character_set         203
  2388.  
  2389. /***********************************/
  2390. /* Local field specific attributes */
  2391. /***********************************/
  2392.  
  2393. #define isc_dyn_fld_source                90
  2394. #define isc_dyn_fld_base_fld              91
  2395. #define isc_dyn_fld_position              92
  2396. #define isc_dyn_fld_update_flag           93
  2397.  
  2398. /*****************************/
  2399. /* Index specific attributes */
  2400. /*****************************/
  2401.  
  2402. #define isc_dyn_idx_unique                100
  2403. #define isc_dyn_idx_inactive              101
  2404. #define isc_dyn_idx_type                  103
  2405. #define isc_dyn_idx_foreign_key           104
  2406. #define isc_dyn_idx_ref_column            105
  2407. #define isc_dyn_idx_statistic          204
  2408.  
  2409. /*******************************/
  2410. /* Trigger specific attributes */
  2411. /*******************************/
  2412.  
  2413. #define isc_dyn_trg_type                  110
  2414. #define isc_dyn_trg_blr                   111
  2415. #define isc_dyn_trg_source                112
  2416. #define isc_dyn_trg_name                  114
  2417. #define isc_dyn_trg_sequence              115
  2418. #define isc_dyn_trg_inactive              116
  2419. #define isc_dyn_trg_msg_number            117
  2420. #define isc_dyn_trg_msg                   118
  2421.  
  2422. /**************************************/
  2423. /* Security Class specific attributes */
  2424. /**************************************/
  2425.  
  2426. #define isc_dyn_scl_acl                   121
  2427. #define isc_dyn_grant_user                130
  2428. #define isc_dyn_grant_proc                186
  2429. #define isc_dyn_grant_trig                187
  2430. #define isc_dyn_grant_view                188
  2431. #define isc_dyn_grant_options             132
  2432. #define isc_dyn_grant_user_group          205
  2433.  
  2434.  
  2435. /**********************************/
  2436. /* Dimension specific information */
  2437. /**********************************/
  2438.  
  2439. #define isc_dyn_dim_lower                 141
  2440. #define isc_dyn_dim_upper                 142
  2441.  
  2442. /****************************/
  2443. /* File specific attributes */
  2444. /****************************/
  2445.  
  2446. #define isc_dyn_file_name                 125
  2447. #define isc_dyn_file_start                126
  2448. #define isc_dyn_file_length               127
  2449. #define isc_dyn_shadow_number             128
  2450. #define isc_dyn_shadow_man_auto           129
  2451. #define isc_dyn_shadow_conditional        130
  2452.  
  2453. /********************************/
  2454. /* Log file specific attributes */
  2455. /********************************/
  2456.  
  2457. #define isc_dyn_log_file_sequence         177
  2458. #define isc_dyn_log_file_partitions       178
  2459. #define isc_dyn_log_file_serial           179
  2460. #define isc_dyn_log_file_overflow         200
  2461. #define isc_dyn_log_file_raw          201
  2462.  
  2463. /***************************/
  2464. /* Log specific attributes */
  2465. /***************************/
  2466.  
  2467. #define isc_dyn_log_group_commit_wait     189 
  2468. #define isc_dyn_log_buffer_size           190
  2469. #define isc_dyn_log_check_point_length    191
  2470. #define isc_dyn_log_num_of_buffers        192
  2471.  
  2472. /********************************/
  2473. /* Function specific attributes */
  2474. /********************************/
  2475.  
  2476. #define isc_dyn_function_name             145
  2477. #define isc_dyn_function_type             146
  2478. #define isc_dyn_func_module_name          147
  2479. #define isc_dyn_func_entry_point          148
  2480. #define isc_dyn_func_return_argument      149
  2481. #define isc_dyn_func_arg_position         150
  2482. #define isc_dyn_func_mechanism            151
  2483. #define isc_dyn_filter_in_subtype         152
  2484. #define isc_dyn_filter_out_subtype        153
  2485.  
  2486.  
  2487. #define isc_dyn_description2          154    
  2488. #define isc_dyn_fld_computed_source2      155    
  2489. #define isc_dyn_fld_edit_string2      156
  2490. #define isc_dyn_fld_query_header2      157
  2491. #define isc_dyn_fld_validation_source2      158
  2492. #define isc_dyn_trg_msg2          159
  2493. #define isc_dyn_trg_source2          160
  2494. #define isc_dyn_view_source2          161
  2495. #define isc_dyn_xcp_msg2          184
  2496.  
  2497. /*********************************/
  2498. /* Generator specific attributes */
  2499. /*********************************/
  2500.  
  2501. #define isc_dyn_generator_name            95
  2502. #define isc_dyn_generator_id              96
  2503.  
  2504. /*********************************/
  2505. /* Procedure specific attributes */
  2506. /*********************************/
  2507.  
  2508. #define isc_dyn_prc_inputs                167
  2509. #define isc_dyn_prc_outputs               168
  2510. #define isc_dyn_prc_source                169
  2511. #define isc_dyn_prc_blr                   170
  2512. #define isc_dyn_prc_source2               171
  2513.  
  2514. /*********************************/
  2515. /* Parameter specific attributes */
  2516. /*********************************/
  2517.  
  2518. #define isc_dyn_prm_number                138
  2519. #define isc_dyn_prm_type                  139
  2520.  
  2521. /********************************/
  2522. /* Relation specific attributes */
  2523. /********************************/
  2524.  
  2525. #define isc_dyn_xcp_msg                   185
  2526.  
  2527. /**********************************************/
  2528. /* Cascading referential integrity values     */
  2529. /**********************************************/
  2530. #define isc_dyn_foreign_key_update        205
  2531. #define isc_dyn_foreign_key_delete        206
  2532. #define isc_dyn_foreign_key_cascade       207
  2533. #define isc_dyn_foreign_key_default       208
  2534. #define isc_dyn_foreign_key_null          209
  2535. #define isc_dyn_foreign_key_none          210
  2536.  
  2537. /***********************/
  2538. /* SQL role values     */
  2539. /***********************/
  2540. #define isc_dyn_def_sql_role              211
  2541. #define isc_dyn_sql_role_name             212
  2542. #define isc_dyn_grant_admin_options       213
  2543. #define isc_dyn_del_sql_role              214
  2544.  
  2545. /****************************/
  2546. /* Last $dyn value assigned */
  2547. /****************************/
  2548.  
  2549. #define isc_dyn_last_dyn_value            216
  2550.  
  2551. /******************************************/
  2552. /* Array slice description language (SDL) */
  2553. /******************************************/
  2554.  
  2555. #define isc_sdl_version1                  1
  2556. #define isc_sdl_eoc                       255
  2557. #define isc_sdl_relation                  2
  2558. #define isc_sdl_rid                       3
  2559. #define isc_sdl_field                     4
  2560. #define isc_sdl_fid                       5
  2561. #define isc_sdl_struct                    6
  2562. #define isc_sdl_variable                  7
  2563. #define isc_sdl_scalar                    8
  2564. #define isc_sdl_tiny_integer              9
  2565. #define isc_sdl_short_integer             10
  2566. #define isc_sdl_long_integer              11
  2567. #define isc_sdl_literal                   12
  2568. #define isc_sdl_add                       13
  2569. #define isc_sdl_subtract                  14
  2570. #define isc_sdl_multiply                  15
  2571. #define isc_sdl_divide                    16
  2572. #define isc_sdl_negate                    17
  2573. #define isc_sdl_eql                       18
  2574. #define isc_sdl_neq                       19
  2575. #define isc_sdl_gtr                       20
  2576. #define isc_sdl_geq                       21
  2577. #define isc_sdl_lss                       22
  2578. #define isc_sdl_leq                       23
  2579. #define isc_sdl_and                       24
  2580. #define isc_sdl_or                        25
  2581. #define isc_sdl_not                       26
  2582. #define isc_sdl_while                     27
  2583. #define isc_sdl_assignment                28
  2584. #define isc_sdl_label                     29
  2585. #define isc_sdl_leave                     30
  2586. #define isc_sdl_begin                     31
  2587. #define isc_sdl_end                       32
  2588. #define isc_sdl_do3                       33
  2589. #define isc_sdl_do2                       34
  2590. #define isc_sdl_do1                       35
  2591. #define isc_sdl_element                   36
  2592.  
  2593. /********************************************/
  2594. /* International text interpretation values */
  2595. /********************************************/
  2596.  
  2597. #define isc_interp_eng_ascii              0
  2598. #define isc_interp_jpn_sjis               5
  2599. #define isc_interp_jpn_euc                6
  2600.  
  2601. /*******************/
  2602. /* SQL definitions */
  2603. /*******************/
  2604.  
  2605. #define SQL_TEXT                           452
  2606. #define SQL_VARYING                        448
  2607. #define SQL_SHORT                          500
  2608. #define SQL_LONG                           496
  2609. #define SQL_FLOAT                          482
  2610. #define SQL_DOUBLE                         480
  2611. #define SQL_D_FLOAT                        530
  2612. #define SQL_TIMESTAMP                      510
  2613. #define SQL_BLOB                           520
  2614. #define SQL_ARRAY                          540
  2615. #define SQL_QUAD                           550
  2616. #define SQL_TYPE_TIME               560
  2617. #define SQL_TYPE_DATE                      570
  2618. #define SQL_INT64               580
  2619.  
  2620. /* Historical alias for pre V6 applications */
  2621. #define SQL_DATE            SQL_TIMESTAMP
  2622.  
  2623. /*****************/
  2624. /* Blob Subtypes */
  2625. /*****************/
  2626.  
  2627. /* types less than zero are reserved for customer use */
  2628.  
  2629. #define isc_blob_untyped                   0
  2630.  
  2631. /* internal subtypes */
  2632.  
  2633. #define isc_blob_text                      1
  2634. #define isc_blob_blr                       2
  2635. #define isc_blob_acl                       3
  2636. #define isc_blob_ranges                    4
  2637. #define isc_blob_summary                   5
  2638. #define isc_blob_format                    6
  2639. #define isc_blob_tra                       7
  2640. #define isc_blob_extfile                   8
  2641.  
  2642. /* the range 20-30 is reserved for dBASE and Paradox types */
  2643.  
  2644. #define isc_blob_formatted_memo            20
  2645. #define isc_blob_paradox_ole               21
  2646. #define isc_blob_graphic                   22
  2647. #define isc_blob_dbase_ole                 23
  2648. #define isc_blob_typed_binary              24
  2649.  
  2650. /* Deprecated definitions maintained for compatibility only */
  2651.  
  2652. #define isc_info_db_SQL_dialect           62
  2653. #define isc_dpb_SQL_dialect               63
  2654. #define isc_dpb_set_db_SQL_dialect        65
  2655.  
  2656. #endif                  /* _JRD_IBASE_H_ */
  2657.