| TerraLib 4.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

E:/Projetos_Primeiro_Semestre_2012/TerraView/terralib/src/terralib/drivers/Firebird/ibpp/core/ibase.h
Go to the documentation of this file.

    00001 /*
    00002  *         MODULE:               ibase.h
    00003  *         DESCRIPTION:          OSRI entrypoints and defines
    00004  *
    00005  * The contents of this file are subject to the Interbase Public
    00006  * License Version 1.0 (the "License"); you may not use this file
    00007  * except in compliance with the License. You may obtain a copy
    00008  * of the License at http://www.Inprise.com/IPL.html
    00009  *
    00010  * Software distributed under the License is distributed on an
    00011  * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
    00012  * or implied. See the License for the specific language governing
    00013  * rights and limitations under the License.
    00014  *
    00015  * The Original Code was created by Inprise Corporation
    00016  * and its predecessors. Portions created by Inprise Corporation are
    00017  * Copyright (C) Inprise Corporation.
    00018  *
    00019  * All Rights Reserved.
    00020  * Contributor(s): ______________________________________.
    00021  * Added TCP_NO_DELAY option for superserver on Linux
    00022  * FSG 16.03.2001
    00023  * 2001.07.28: John Bellardo:  Added blr_skip
    00024  * 2001.09.18: Ann Harrison:   New info codes
    00025  * 17-Oct-2001 Mike Nordell: CPU affinity
    00026  * 2001-04-16 Paul Beach: ISC_TIME_SECONDS_PRECISION_SCALE modified for HP10
    00027  * Compiler Compatibility
    00028  * 2002.02.15 Sean Leyne - Code Cleanup, removed obsolete ports:
    00029  *                          - EPSON, XENIX, MAC (MAC_AUX), Cray and OS/2
    00030  * 2002.10.29 Nickolay Samofatov: Added support for savepoints
    00031  *
    00032  * 2002.10.29 Sean Leyne - Removed support for obsolete IPX/SPX Protocol
    00033  *
    00034  */
    00035
    00036 #ifndef JRD_IBASE_H
    00037 #define JRD_IBASE_H
    00038
    00039 #define FB_API_VER 20
    00040 #define isc_version4
    00041
    00042 #define  ISC_TRUE     1
    00043 #define  ISC_FALSE    0
    00044 #if !(defined __cplusplus)
    00045 #define  ISC__TRUE    ISC_TRUE
    00046 #define  ISC__FALSE   ISC_FALSE
    00047 #endif
    00048
    00049 #define ISC_FAR
    00050
    00051 #if defined _MSC_VER && _MSC_VER >= 1300
    00052 #define FB_API_DEPRECATED __declspec(deprecated)
    00053 #elif defined __GNUC__ && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
    00054 #define FB_API_DEPRECATED __attribute__((__deprecated__))
    00055 #else
    00056 #define FB_API_DEPRECATED
    00057 #endif
    00058
    00059
    00060 #ifndef INCLUDE_TYPES_PUB_H
    00061 #define INCLUDE_TYPES_PUB_H
    00062
    00063 #if defined(_LP64) || defined(__LP64__) || defined(__arch64__)
    00064 typedef unsigned int    FB_API_HANDLE;
    00065 #else
    00066 typedef void*           FB_API_HANDLE;
    00067 #endif
    00068
    00069 typedef long ISC_STATUS;
    00070
    00071 #define ISC_STATUS_LENGTH       20
    00072 typedef ISC_STATUS ISC_STATUS_ARRAY[ISC_STATUS_LENGTH];
    00073
    00074 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__)
    00075         #define  ISC_EXPORT     __stdcall
    00076         #define  ISC_EXPORT_VARARG      __cdecl
    00077 #else
    00078         #define  ISC_EXPORT
    00079         #define  ISC_EXPORT_VARARG
    00080 #endif
    00081
    00082 #if defined(_LP64) || defined(__LP64__) || defined(__arch64__)
    00083 typedef int             ISC_LONG;
    00084 typedef unsigned int    ISC_ULONG;
    00085 #else
    00086 typedef signed long     ISC_LONG;
    00087 typedef unsigned long   ISC_ULONG;
    00088 #endif
    00089
    00090 typedef signed short    ISC_SHORT;
    00091 typedef unsigned short  ISC_USHORT;
    00092
    00093 typedef unsigned char   ISC_UCHAR;
    00094 typedef char            ISC_SCHAR;
    00095
    00096 #if (defined(WIN32) || defined(_WIN32) || defined(__WIN32__)) && !defined(__GNUC__)
    00097 typedef __int64                         ISC_INT64;
    00098 typedef unsigned __int64        ISC_UINT64;
    00099 #else
    00100 typedef long long int                   ISC_INT64;
    00101 typedef unsigned long long int  ISC_UINT64;
    00102 #endif
    00103
    00104 #ifndef ISC_TIMESTAMP_DEFINED
    00105 typedef int                     ISC_DATE;
    00106 typedef unsigned int    ISC_TIME;
    00107 typedef struct
    00108 {
    00109         ISC_DATE timestamp_date;
    00110         ISC_TIME timestamp_time;
    00111 } ISC_TIMESTAMP;
    00112 #define ISC_TIMESTAMP_DEFINED
    00113 #endif
    00114
    00115 struct GDS_QUAD_t {
    00116         ISC_LONG gds_quad_high;
    00117         ISC_ULONG gds_quad_low;
    00118 };
    00119
    00120 typedef struct GDS_QUAD_t GDS_QUAD;
    00121 typedef struct GDS_QUAD_t ISC_QUAD;
    00122
    00123 #define isc_quad_high   gds_quad_high
    00124 #define isc_quad_low    gds_quad_low
    00125
    00126 #endif
    00127
    00128 /********************************/
    00129 /* InterBase Handle Definitions */
    00130 /********************************/
    00131
    00132 typedef FB_API_HANDLE isc_att_handle;
    00133 typedef FB_API_HANDLE isc_blob_handle;
    00134 typedef FB_API_HANDLE isc_db_handle;
    00135 typedef FB_API_HANDLE isc_req_handle;
    00136 typedef FB_API_HANDLE isc_stmt_handle;
    00137 typedef FB_API_HANDLE isc_svc_handle;
    00138 typedef FB_API_HANDLE isc_tr_handle;
    00139 typedef void (* isc_callback) ();
    00140 typedef ISC_LONG isc_resv_handle;
    00141
    00142 typedef void (*ISC_PRINT_CALLBACK) (void*, ISC_SHORT, const char*);
    00143 typedef void (*ISC_VERSION_CALLBACK)(void*, const char*);
    00144 typedef void (*ISC_EVENT_CALLBACK)(void*, ISC_USHORT, const ISC_UCHAR*);
    00145
    00146 /*******************************************************************/
    00147 /* Blob id structure                                               */
    00148 /*******************************************************************/
    00149
    00150 #if !(defined __cplusplus)
    00151 typedef GDS_QUAD GDS__QUAD;
    00152 #endif /* !(defined __cplusplus) */
    00153
    00154 typedef struct
    00155 {
    00156            short array_bound_lower;
    00157            short array_bound_upper;
    00158 } ISC_ARRAY_BOUND;
    00159
    00160 typedef struct
    00161 {
    00162            ISC_UCHAR  array_desc_dtype;
    00163            ISC_SCHAR                        array_desc_scale;
    00164            unsigned short        array_desc_length;
    00165            ISC_SCHAR                        array_desc_field_name[32];
    00166            ISC_SCHAR                        array_desc_relation_name[32];
    00167            short                            array_desc_dimensions;
    00168            short                            array_desc_flags;
    00169            ISC_ARRAY_BOUND       array_desc_bounds[16];
    00170 } ISC_ARRAY_DESC;
    00171
    00172 typedef struct
    00173 {
    00174            short                            blob_desc_subtype;
    00175            short                            blob_desc_charset;
    00176            short                            blob_desc_segment_size;
    00177            ISC_UCHAR  blob_desc_field_name[32];
    00178            ISC_UCHAR  blob_desc_relation_name[32];
    00179 } ISC_BLOB_DESC;
    00180
    00181 /***************************/
    00182 /* Blob control structure  */
    00183 /***************************/
    00184
    00185 typedef struct isc_blob_ctl
    00186 {
    00187            ISC_STATUS (* ctl_source)();     /* Source filter */
    00188            struct isc_blob_ctl*  ctl_source_handle;    /* Argument to pass to source filter */
    00189            short                                                  ctl_to_sub_type;                 /* Target type */
    00190            short                                                  ctl_from_sub_type;               /* Source type */
    00191            unsigned short                              ctl_buffer_length;               /* Length of buffer */
    00192            unsigned short                              ctl_segment_length;              /* Length of current segment */
    00193            unsigned short                              ctl_bpb_length;                             /* Length of blob parameter  block */
    00194            /* Internally, this is const UCHAR*, but this public struct probably can't change. */
    00195            ISC_SCHAR*                                             ctl_bpb;                                    /* Address of blob parameter block */
    00196            ISC_UCHAR*                       ctl_buffer;                                            /* Address of segment buffer */
    00197            ISC_LONG                                    ctl_max_segment;                 /* Length of longest segment */
    00198            ISC_LONG                                    ctl_number_segments;  /* Total number of segments */
    00199            ISC_LONG                                    ctl_total_length;                /* Total length of blob */
    00200            ISC_STATUS*                                            ctl_status;                                            /* Address of status vector */
    00201            long                                                   ctl_data[8];                                /* Application specific data */
    00202 } * ISC_BLOB_CTL;
    00203
    00204 /***************************/
    00205 /* Blob stream definitions */
    00206 /***************************/
    00207
    00208 typedef struct bstream
    00209 {
    00210            isc_blob_handle       bstr_blob;            /* Blob handle */
    00211            ISC_SCHAR *                                 bstr_buffer;          /* Address of buffer */
    00212            ISC_SCHAR *                                 bstr_ptr;             /* Next character */
    00213            short                            bstr_length;          /* Length of buffer */
    00214            short                            bstr_cnt;             /* Characters in buffer */
    00215            char                             bstr_mode;            /* (mode) ? OUTPUT : INPUT */
    00216 } BSTREAM;
    00217
    00218 /* Three ugly macros, one even using octal radix... sigh... */
    00219 #define getb(p)       (--(p)->bstr_cnt >= 0 ? *(p)->bstr_ptr++ & 0377: BLOB_get (p))
    00220 #define putb(x,p) (((x) == '\n' || (!(--(p)->bstr_cnt))) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))
    00221 #define putbx(x,p) ((!(--(p)->bstr_cnt)) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))
    00222
    00223 /********************************************************************/
    00224 /* CVC: Public blob interface definition held in val.h.             */
    00225 /* For some unknown reason, it was only documented in langRef       */
    00226 /* and being the structure passed by the engine to UDFs it never    */
    00227 /* made its way into this public definitions file.                  */
    00228 /* Being its original name "blob", I renamed it blobcallback here.  */
    00229 /* I did the full definition with the proper parameters instead of  */
    00230 /* the weak C declaration with any number and type of parameters.   */
    00231 /* Since the first parameter -BLB- is unknown outside the engine,   */
    00232 /* it's more accurate to use void* than int* as the blob pointer    */
    00233 /********************************************************************/
    00234
    00235 #if !defined(JRD_VAL_H) && !defined(REQUESTER)
    00236 /* Blob passing structure */
    00237
    00238 /* This enum applies to parameter "mode" in blob_lseek */
    00239 enum blob_lseek_mode {blb_seek_relative = 1, blb_seek_from_tail = 2};
    00240 /* This enum applies to the value returned by blob_get_segment */
    00241 enum blob_get_result {blb_got_fragment = -1, blb_got_eof = 0, blb_got_full_segment = 1};
    00242
    00243 typedef struct blobcallback {
    00244     short (*blob_get_segment)
    00245                       (void* hnd, ISC_UCHAR* buffer, ISC_USHORT buf_size, ISC_USHORT* result_len);
    00246     void*             blob_handle;
    00247     ISC_LONG          blob_number_segments;
    00248     ISC_LONG          blob_max_segment;
    00249     ISC_LONG          blob_total_length;
    00250     void (*blob_put_segment)
    00251                       (void* hnd, const ISC_UCHAR* buffer, ISC_USHORT buf_size);
    00252     ISC_LONG (*blob_lseek)
    00253                       (void* hnd, ISC_USHORT mode, ISC_LONG offset);
    00254 }  *BLOBCALLBACK;
    00255 #endif /* !defined(JRD_VAL_H) && !defined(REQUESTER) */
    00256
    00257
    00258 /********************************************************************/
    00259 /* CVC: Public descriptor interface held in dsc2.h.                  */
    00260 /* We need it documented to be able to recognize NULL in UDFs.      */
    00261 /* Being its original name "dsc", I renamed it paramdsc here.       */
    00262 /* Notice that I adjust to the original definition: contrary to     */
    00263 /* other cases, the typedef is the same struct not the pointer.     */
    00264 /* I included the enumeration of dsc_dtype possible values.         */
    00265 /* Ultimately, dsc2.h should be part of the public interface.        */
    00266 /********************************************************************/
    00267
    00268 #if !defined(JRD_DSC_H)
    00269 /* This is the famous internal descriptor that UDFs can use, too. */
    00270 typedef struct paramdsc {
    00271     ISC_UCHAR         dsc_dtype;
    00272     signed char                  dsc_scale;
    00273     ISC_USHORT                   dsc_length;
    00274     short             dsc_sub_type;
    00275     ISC_USHORT                   dsc_flags;
    00276     ISC_UCHAR         *dsc_address;
    00277 } PARAMDSC;
    00278
    00279 #if !defined(JRD_VAL_H)
    00280 /* This is a helper struct to work with varchars. */
    00281 typedef struct paramvary {
    00282     ISC_USHORT                   vary_length;
    00283     ISC_UCHAR                    vary_string[1];
    00284 } PARAMVARY;
    00285 #endif /* !defined(JRD_VAL_H) */
    00286
    00287
    00288 #ifndef JRD_DSC_PUB_H
    00289 #define JRD_DSC_PUB_H
    00290
    00291 #define DSC_null                1
    00292 #define DSC_no_subtype          2
    00293 #define DSC_nullable            4
    00294
    00295 #define dtype_unknown   0
    00296 #define dtype_text      1
    00297 #define dtype_cstring   2
    00298 #define dtype_varying   3
    00299
    00300 #define dtype_packed    6
    00301 #define dtype_byte      7
    00302 #define dtype_short     8
    00303 #define dtype_long      9
    00304 #define dtype_quad      10
    00305 #define dtype_real      11
    00306 #define dtype_double    12
    00307 #define dtype_d_float   13
    00308 #define dtype_sql_date  14
    00309 #define dtype_sql_time  15
    00310 #define dtype_timestamp 16
    00311 #define dtype_blob      17
    00312 #define dtype_array     18
    00313 #define dtype_int64     19
    00314 #define DTYPE_TYPE_MAX  20
    00315
    00316 #define ISC_TIME_SECONDS_PRECISION              10000
    00317 #define ISC_TIME_SECONDS_PRECISION_SCALE        (-4)
    00318
    00319 #endif
    00320
    00321
    00322 #endif /* !defined(JRD_DSC_H) */
    00323
    00324 /***************************/
    00325 /* Dynamic SQL definitions */
    00326 /***************************/
    00327
    00328
    00329 #ifndef DSQL_SQLDA_PUB_H
    00330 #define DSQL_SQLDA_PUB_H
    00331
    00332 #define DSQL_close      1
    00333 #define DSQL_drop       2
    00334
    00335 typedef struct
    00336 {
    00337         ISC_SHORT       sqltype;
    00338         ISC_SHORT       sqlscale;
    00339         ISC_SHORT       sqlsubtype;
    00340         ISC_SHORT       sqllen;
    00341         ISC_SCHAR*      sqldata;
    00342         ISC_SHORT*      sqlind;
    00343         ISC_SHORT       sqlname_length;
    00344         ISC_SCHAR       sqlname[32];
    00345         ISC_SHORT       relname_length;
    00346         ISC_SCHAR       relname[32];
    00347         ISC_SHORT       ownname_length;
    00348         ISC_SCHAR       ownname[32];
    00349         ISC_SHORT       aliasname_length;
    00350         ISC_SCHAR       aliasname[32];
    00351 } XSQLVAR;
    00352
    00353 #define SQLDA_VERSION1          1
    00354
    00355 typedef struct
    00356 {
    00357         ISC_SHORT       version;
    00358         ISC_SCHAR       sqldaid[8];
    00359         ISC_LONG        sqldabc;
    00360         ISC_SHORT       sqln;
    00361         ISC_SHORT       sqld;
    00362         XSQLVAR sqlvar[1];
    00363 } XSQLDA;
    00364
    00365 #define XSQLDA_LENGTH(n)        (sizeof (XSQLDA) + (n - 1) * sizeof (XSQLVAR))
    00366
    00367 #define SQL_TEXT                           452
    00368 #define SQL_VARYING                        448
    00369 #define SQL_SHORT                          500
    00370 #define SQL_LONG                           496
    00371 #define SQL_FLOAT                          482
    00372 #define SQL_DOUBLE                         480
    00373 #define SQL_D_FLOAT                        530
    00374 #define SQL_TIMESTAMP                      510
    00375 #define SQL_BLOB                           520
    00376 #define SQL_ARRAY                          540
    00377 #define SQL_QUAD                           550
    00378 #define SQL_TYPE_TIME                      560
    00379 #define SQL_TYPE_DATE                      570
    00380 #define SQL_INT64                          580
    00381
    00382 #define SQL_DATE                           SQL_TIMESTAMP
    00383
    00384 #define SQL_DIALECT_V5                          1
    00385 #define SQL_DIALECT_V6_TRANSITION       2
    00386 #define SQL_DIALECT_V6                          3
    00387 #define SQL_DIALECT_CURRENT             SQL_DIALECT_V6
    00388
    00389 #endif
    00390
    00391
    00392 /***************************/
    00393 /* OSRI database functions */
    00394 /***************************/
    00395
    00396 #ifdef __cplusplus
    00397 extern "C" {
    00398 #endif
    00399
    00400 ISC_STATUS ISC_EXPORT isc_attach_database(ISC_STATUS*,
    00401                                                                                                                 short,
    00402                                                                                                                 const ISC_SCHAR*,
    00403                                                                                                                 isc_db_handle*,
    00404                                                                                                                 short,
    00405                                                                                                                 const ISC_SCHAR*);
    00406
    00407 ISC_STATUS ISC_EXPORT isc_array_gen_sdl(ISC_STATUS*,
    00408                                                                                                               const ISC_ARRAY_DESC*,
    00409                                                                                                               ISC_SHORT*,
    00410                                                                                                               ISC_UCHAR*,
    00411                                                                                                               ISC_SHORT*);
    00412
    00413 ISC_STATUS ISC_EXPORT isc_array_get_slice(ISC_STATUS*,
    00414                                                                                                                 isc_db_handle*,
    00415                                                                                                                 isc_tr_handle*,
    00416                                                                                                                 ISC_QUAD*,
    00417                                                                                                                 const ISC_ARRAY_DESC*,
    00418                                                                                                                 void*,
    00419                                                                                                                 ISC_LONG*);
    00420
    00421 ISC_STATUS ISC_EXPORT isc_array_lookup_bounds(ISC_STATUS*,
    00422                                                                                                                            isc_db_handle*,
    00423                                                                                                                            isc_tr_handle*,
    00424                                                                                                                            const ISC_SCHAR*,
    00425                                                                                                                            const ISC_SCHAR*,
    00426                                                                                                                            ISC_ARRAY_DESC*);
    00427
    00428 ISC_STATUS ISC_EXPORT isc_array_lookup_desc(ISC_STATUS*,
    00429                                                                                                                          isc_db_handle*,
    00430                                                                                                                          isc_tr_handle*,
    00431                                                                                                                          const ISC_SCHAR*,
    00432                                                                                                                          const ISC_SCHAR*,
    00433                                                                                                                          ISC_ARRAY_DESC*);
    00434
    00435 ISC_STATUS ISC_EXPORT isc_array_set_desc(ISC_STATUS*,
    00436                                                                                                                const ISC_SCHAR*,
    00437                                                                                                                const ISC_SCHAR*,
    00438                                                                                                                const short*,
    00439                                                                                                                const short*,
    00440                                                                                                                const short*,
    00441                                                                                                                ISC_ARRAY_DESC*);
    00442
    00443 ISC_STATUS ISC_EXPORT isc_array_put_slice(ISC_STATUS*,
    00444                                                                                                                 isc_db_handle*,
    00445                                                                                                                 isc_tr_handle*,
    00446                                                                                                                 ISC_QUAD*,
    00447                                                                                                                 const ISC_ARRAY_DESC*,
    00448                                                                                                                 void*,
    00449                                                                                                                 ISC_LONG *);
    00450
    00451 void ISC_EXPORT isc_blob_default_desc(ISC_BLOB_DESC*,
    00452                                                                                                      const ISC_UCHAR*,
    00453                                                                                                      const ISC_UCHAR*);
    00454
    00455 ISC_STATUS ISC_EXPORT isc_blob_gen_bpb(ISC_STATUS*,
    00456                                                                                                       const ISC_BLOB_DESC*,
    00457                                                                                                       const ISC_BLOB_DESC*,
    00458                                                                                                       unsigned short,
    00459                                                                                                       ISC_UCHAR*,
    00460                                                                                                       unsigned short*);
    00461
    00462 ISC_STATUS ISC_EXPORT isc_blob_info(ISC_STATUS*,
    00463                                                                                                    isc_blob_handle*,
    00464                                                                                                    short,
    00465                                                                                                    const ISC_SCHAR*,
    00466                                                                                                    short,
    00467                                                                                                    ISC_SCHAR*);
    00468
    00469 ISC_STATUS ISC_EXPORT isc_blob_lookup_desc(ISC_STATUS*,
    00470                                                                                                                  isc_db_handle*,
    00471                                                                                                                  isc_tr_handle*,
    00472                                                                                                                  const ISC_UCHAR*,
    00473                                                                                                                  const ISC_UCHAR*,
    00474                                                                                                                  ISC_BLOB_DESC*,
    00475                                                                                                                  ISC_UCHAR*);
    00476
    00477 ISC_STATUS ISC_EXPORT isc_blob_set_desc(ISC_STATUS*,
    00478                                                                                                               const ISC_UCHAR*,
    00479                                                                                                               const ISC_UCHAR*,
    00480                                                                                                               short,
    00481                                                                                                               short,
    00482                                                                                                               short,
    00483                                                                                                               ISC_BLOB_DESC*);
    00484
    00485 ISC_STATUS ISC_EXPORT isc_cancel_blob(ISC_STATUS *,
    00486                                                                                                      isc_blob_handle *);
    00487
    00488 ISC_STATUS ISC_EXPORT isc_cancel_events(ISC_STATUS *,
    00489                                                                                                               isc_db_handle *,
    00490                                                                                                               ISC_LONG *);
    00491
    00492 ISC_STATUS ISC_EXPORT isc_close_blob(ISC_STATUS *,
    00493                                                                                                     isc_blob_handle *);
    00494
    00495 ISC_STATUS ISC_EXPORT isc_commit_retaining(ISC_STATUS *,
    00496                                                                                                                  isc_tr_handle *);
    00497
    00498 ISC_STATUS ISC_EXPORT isc_commit_transaction(ISC_STATUS *,
    00499                                                                                                                           isc_tr_handle *);
    00500
    00501 ISC_STATUS ISC_EXPORT isc_create_blob(ISC_STATUS*,
    00502                                                                                                      isc_db_handle*,
    00503                                                                                                      isc_tr_handle*,
    00504                                                                                                      isc_blob_handle*,
    00505                                                                                                      ISC_QUAD*);
    00506
    00507 ISC_STATUS ISC_EXPORT isc_create_blob2(ISC_STATUS*,
    00508                                                                                                       isc_db_handle*,
    00509                                                                                                       isc_tr_handle*,
    00510                                                                                                       isc_blob_handle*,
    00511                                                                                                       ISC_QUAD*,
    00512                                                                                                       short,
    00513                                                                                                       const ISC_SCHAR*);
    00514
    00515 ISC_STATUS ISC_EXPORT isc_create_database(ISC_STATUS*,
    00516                                                                                                                 short,
    00517                                                                                                                 const ISC_SCHAR*,
    00518                                                                                                                 isc_db_handle*,
    00519                                                                                                                 short,
    00520                                                                                                                 const ISC_SCHAR*,
    00521                                                                                                                 short);
    00522
    00523 ISC_STATUS ISC_EXPORT isc_database_info(ISC_STATUS*,
    00524                                                                                                               isc_db_handle*,
    00525                                                                                                               short,
    00526                                                                                                               const ISC_SCHAR*,
    00527                                                                                                               short,
    00528                                                                                                               ISC_SCHAR*);
    00529
    00530 void ISC_EXPORT isc_decode_date(const ISC_QUAD*,
    00531                                                                                         void*);
    00532
    00533 void ISC_EXPORT isc_decode_sql_date(const ISC_DATE*,
    00534                                                                                                    void*);
    00535
    00536 void ISC_EXPORT isc_decode_sql_time(const ISC_TIME*,
    00537                                                                                                    void*);
    00538
    00539 void ISC_EXPORT isc_decode_timestamp(const ISC_TIMESTAMP*,
    00540                                                                                                     void*);
    00541
    00542 ISC_STATUS ISC_EXPORT isc_detach_database(ISC_STATUS *,
    00543                                                                                                                 isc_db_handle *);
    00544
    00545 ISC_STATUS ISC_EXPORT isc_drop_database(ISC_STATUS *,
    00546                                                                                                               isc_db_handle *);
    00547
    00548 ISC_STATUS ISC_EXPORT isc_dsql_allocate_statement(ISC_STATUS *,
    00549                                                                                                                                       isc_db_handle *,
    00550                                                                                                                                       isc_stmt_handle *);
    00551
    00552 ISC_STATUS ISC_EXPORT isc_dsql_alloc_statement2(ISC_STATUS *,
    00553                                                                                                                                     isc_db_handle *,
    00554                                                                                                                                     isc_stmt_handle *);
    00555
    00556 ISC_STATUS ISC_EXPORT isc_dsql_describe(ISC_STATUS *,
    00557                                                                                                               isc_stmt_handle *,
    00558                                                                                                               unsigned short,
    00559                                                                                                               XSQLDA *);
    00560
    00561 ISC_STATUS ISC_EXPORT isc_dsql_describe_bind(ISC_STATUS *,
    00562                                                                                                                           isc_stmt_handle *,
    00563                                                                                                                           unsigned short,
    00564                                                                                                                           XSQLDA *);
    00565
    00566 ISC_STATUS ISC_EXPORT isc_dsql_exec_immed2(ISC_STATUS*,
    00567                                                                                                                  isc_db_handle*,
    00568                                                                                                                  isc_tr_handle*,
    00569                                                                                                                  unsigned short,
    00570                                                                                                                  const ISC_SCHAR*,
    00571                                                                                                                  unsigned short,
    00572                                                                                                                  XSQLDA*,
    00573                                                                                                                  XSQLDA*);
    00574
    00575 ISC_STATUS ISC_EXPORT isc_dsql_execute(ISC_STATUS*,
    00576                                                                                                       isc_tr_handle*,
    00577                                                                                                       isc_stmt_handle*,
    00578                                                                                                       unsigned short,
    00579                                                                                                       XSQLDA*);
    00580
    00581 ISC_STATUS ISC_EXPORT isc_dsql_execute2(ISC_STATUS*,
    00582                                                                                                               isc_tr_handle*,
    00583                                                                                                               isc_stmt_handle*,
    00584                                                                                                               unsigned short,
    00585                                                                                                               XSQLDA*,
    00586                                                                                                               XSQLDA*);
    00587
    00588 ISC_STATUS ISC_EXPORT isc_dsql_execute_immediate(ISC_STATUS*,
    00589                                                                                                                                      isc_db_handle*,
    00590                                                                                                                                      isc_tr_handle*,
    00591                                                                                                                                      unsigned short,
    00592                                                                                                                                      const ISC_SCHAR*,
    00593                                                                                                                                      unsigned short,
    00594                                                                                                                                      XSQLDA*);
    00595
    00596 ISC_STATUS ISC_EXPORT isc_dsql_fetch(ISC_STATUS *,
    00597                                                                                                     isc_stmt_handle *,
    00598                                                                                                     unsigned short,
    00599                                                                                                     XSQLDA *);
    00600
    00601 ISC_STATUS ISC_EXPORT isc_dsql_finish(isc_db_handle *);
    00602
    00603 ISC_STATUS ISC_EXPORT isc_dsql_free_statement(ISC_STATUS *,
    00604                                                                                                                            isc_stmt_handle *,
    00605                                                                                                                            unsigned short);
    00606
    00607 ISC_STATUS ISC_EXPORT isc_dsql_insert(ISC_STATUS*,
    00608                                                                                                      isc_stmt_handle*,
    00609                                                                                                      unsigned short,
    00610                                                                                                      XSQLDA*);
    00611
    00612 ISC_STATUS ISC_EXPORT isc_dsql_prepare(ISC_STATUS*,
    00613                                                                                                       isc_tr_handle*,
    00614                                                                                                       isc_stmt_handle*,
    00615                                                                                                       unsigned short,
    00616                                                                                                       const ISC_SCHAR*,
    00617                                                                                                       unsigned short,
    00618                                                                                                       XSQLDA*);
    00619
    00620 ISC_STATUS ISC_EXPORT isc_dsql_set_cursor_name(ISC_STATUS*,
    00621                                                                                                                             isc_stmt_handle*,
    00622                                                                                                                             const ISC_SCHAR*,
    00623                                                                                                                             unsigned short);
    00624
    00625 ISC_STATUS ISC_EXPORT isc_dsql_sql_info(ISC_STATUS*,
    00626                                                                                                               isc_stmt_handle*,
    00627                                                                                                               short,
    00628                                                                                                               const ISC_SCHAR*,
    00629                                                                                                               short,
    00630                                                                                                               ISC_SCHAR*);
    00631
    00632 void ISC_EXPORT isc_encode_date(const void*,
    00633                                                                                         ISC_QUAD*);
    00634
    00635 void ISC_EXPORT isc_encode_sql_date(const void*,
    00636                                                                                                    ISC_DATE*);
    00637
    00638 void ISC_EXPORT isc_encode_sql_time(const void*,
    00639                                                                                                    ISC_TIME*);
    00640
    00641 void ISC_EXPORT isc_encode_timestamp(const void*,
    00642                                                                                                     ISC_TIMESTAMP*);
    00643
    00644 ISC_LONG ISC_EXPORT_VARARG isc_event_block(ISC_UCHAR**,
    00645                                                                                                                  ISC_UCHAR**,
    00646                                                                                                                  unsigned short, ...);
    00647
    00648 void ISC_EXPORT isc_event_counts(ISC_ULONG*,
    00649                                                                                          short,
    00650                                                                                          ISC_UCHAR*,
    00651                                                                                          const ISC_UCHAR *);
    00652
    00653 /* 17 May 2001 - isc_expand_dpb is DEPRECATED */
    00654 void FB_API_DEPRECATED ISC_EXPORT_VARARG isc_expand_dpb(ISC_SCHAR**,
    00655                                                                                                                                                           short*, ...);
    00656
    00657 int ISC_EXPORT isc_modify_dpb(ISC_SCHAR**,
    00658                                                                                short*,
    00659                                                                                unsigned short,
    00660                                                                                const ISC_SCHAR*,
    00661                                                                                short);
    00662
    00663 ISC_LONG ISC_EXPORT isc_free(ISC_SCHAR *);
    00664
    00665 ISC_STATUS ISC_EXPORT isc_get_segment(ISC_STATUS *,
    00666                                                                                                      isc_blob_handle *,
    00667                                                                                                      unsigned short *,
    00668                                                                                                      unsigned short,
    00669                                                                                                      ISC_SCHAR *);
    00670
    00671 ISC_STATUS ISC_EXPORT isc_get_slice(ISC_STATUS*,
    00672                                                                                                    isc_db_handle*,
    00673                                                                                                    isc_tr_handle*,
    00674                                                                                                    ISC_QUAD*,
    00675                                                                                                    short,
    00676                                                                                                    const ISC_SCHAR*,
    00677                                                                                                    short,
    00678                                                                                                    const ISC_LONG*,
    00679                                                                                                    ISC_LONG,
    00680                                                                                                    void*,
    00681                                                                                                    ISC_LONG*);
    00682
    00683 /* CVC: This non-const signature is needed for compatibility, see gds.cpp. */
    00684 ISC_LONG FB_API_DEPRECATED ISC_EXPORT isc_interprete(ISC_SCHAR*,
    00685                                                                                                     ISC_STATUS**);
    00686
    00687 /* This const params version used in the engine and other places. */
    00688 ISC_LONG ISC_EXPORT fb_interpret(ISC_SCHAR*,
    00689                                                                                          unsigned int,
    00690                                                                                          const ISC_STATUS**);
    00691
    00692 ISC_STATUS ISC_EXPORT isc_open_blob(ISC_STATUS*,
    00693                                                                                                    isc_db_handle*,
    00694                                                                                                    isc_tr_handle*,
    00695                                                                                                    isc_blob_handle*,
    00696                                                                                                    ISC_QUAD*);
    00697
    00698 ISC_STATUS ISC_EXPORT isc_open_blob2(ISC_STATUS*,
    00699                                                                                                     isc_db_handle*,
    00700                                                                                                     isc_tr_handle*,
    00701                                                                                                     isc_blob_handle*,
    00702                                                                                                     ISC_QUAD*,
    00703                                                                                                     ISC_USHORT,
    00704                                                                                                     const ISC_UCHAR*);
    00705
    00706 ISC_STATUS ISC_EXPORT isc_prepare_transaction2(ISC_STATUS*,
    00707                                                                                                                             isc_tr_handle*,
    00708                                                                                                                             ISC_USHORT,
    00709                                                                                                                             const ISC_UCHAR*);
    00710
    00711 void ISC_EXPORT isc_print_sqlerror(ISC_SHORT,
    00712                                                                                            const ISC_STATUS*);
    00713
    00714 ISC_STATUS ISC_EXPORT isc_print_status(const ISC_STATUS*);
    00715
    00716 ISC_STATUS ISC_EXPORT isc_put_segment(ISC_STATUS*,
    00717                                                                                                      isc_blob_handle*,
    00718                                                                                                      unsigned short,
    00719                                                                                                      const ISC_SCHAR*);
    00720
    00721 ISC_STATUS ISC_EXPORT isc_put_slice(ISC_STATUS*,
    00722                                                                                                    isc_db_handle*,
    00723                                                                                                    isc_tr_handle*,
    00724                                                                                                    ISC_QUAD*,
    00725                                                                                                    short,
    00726                                                                                                    const ISC_SCHAR*,
    00727                                                                                                    short,
    00728                                                                                                    const ISC_LONG*,
    00729                                                                                                    ISC_LONG,
    00730                                                                                                    void*);
    00731
    00732 ISC_STATUS ISC_EXPORT isc_que_events(ISC_STATUS*,
    00733                                                                                                     isc_db_handle*,
    00734                                                                                                     ISC_LONG*,
    00735                                                                                                     short,
    00736                                                                                                     const ISC_UCHAR*,
    00737                                                                                                     ISC_EVENT_CALLBACK,
    00738                                                                                                     void*);
    00739
    00740 ISC_STATUS ISC_EXPORT isc_rollback_retaining(ISC_STATUS *,
    00741                                                                                                                           isc_tr_handle *);
    00742
    00743 ISC_STATUS ISC_EXPORT isc_rollback_transaction(ISC_STATUS *,
    00744                                                                                                                             isc_tr_handle *);
    00745
    00746 ISC_STATUS ISC_EXPORT isc_start_multiple(ISC_STATUS *,
    00747                                                                                                                isc_tr_handle *,
    00748                                                                                                                short,
    00749                                                                                                                void *);
    00750
    00751 ISC_STATUS ISC_EXPORT_VARARG isc_start_transaction(ISC_STATUS *,
    00752                                                                                                                                        isc_tr_handle *,
    00753                                                                                                                                        short, ...);
    00754
    00755 ISC_LONG ISC_EXPORT isc_sqlcode(const ISC_STATUS*);
    00756
    00757 void ISC_EXPORT isc_sql_interprete(short,
    00758                                                                                            ISC_SCHAR *,
    00759                                                                                            short);
    00760
    00761 ISC_STATUS ISC_EXPORT isc_transaction_info(ISC_STATUS*,
    00762                                                                                                                  isc_tr_handle*,
    00763                                                                                                                  short,
    00764                                                                                                                  const ISC_SCHAR*,
    00765                                                                                                                  short,
    00766                                                                                                                  ISC_SCHAR*);
    00767
    00768 ISC_STATUS ISC_EXPORT isc_transact_request(ISC_STATUS*,
    00769                                                                                                                  isc_db_handle*,
    00770                                                                                                                  isc_tr_handle*,
    00771                                                                                                                  unsigned short,
    00772                                                                                                                  const ISC_SCHAR*,
    00773                                                                                                                  unsigned short,
    00774                                                                                                                  ISC_SCHAR*,
    00775                                                                                                                  unsigned short,
    00776                                                                                                                  ISC_SCHAR*);
    00777
    00778 ISC_LONG ISC_EXPORT isc_vax_integer(const ISC_SCHAR*,
    00779                                                                                                    short);
    00780
    00781 ISC_INT64 ISC_EXPORT isc_portable_integer(const ISC_UCHAR*,
    00782                                                                                                                 short);
    00783
    00784 /*************************************/
    00785 /* Security Functions and structures */
    00786 /*************************************/
    00787
    00788 #define sec_uid_spec                 0x01
    00789 #define sec_gid_spec                 0x02
    00790 #define sec_server_spec                         0x04
    00791 #define sec_password_spec            0x08
    00792 #define sec_group_name_spec          0x10
    00793 #define sec_first_name_spec          0x20
    00794 #define sec_middle_name_spec        0x40
    00795 #define sec_last_name_spec           0x80
    00796 #define sec_dba_user_name_spec      0x100
    00797 #define sec_dba_password_spec       0x200
    00798
    00799 #define sec_protocol_tcpip            1
    00800 #define sec_protocol_netbeui          2
    00801 #define sec_protocol_spx              3 /* -- Deprecated Protocol. Declaration retained for compatibility   */
    00802 #define sec_protocol_local            4
    00803
    00804 typedef struct {
    00805            short sec_flags;                            /* which fields are specified */
    00806            int uid;                                               /* the user's id */
    00807            int gid;                                               /* the user's group id */
    00808            int protocol;                                          /* protocol to use for connection */
    00809            ISC_SCHAR *server;                                     /* server to administer */
    00810            ISC_SCHAR *user_name;                       /* the user's name */
    00811            ISC_SCHAR *password;                                   /* the user's password */
    00812            ISC_SCHAR *group_name;                                 /* the group name */
    00813            ISC_SCHAR *first_name;                                 /* the user's first name */
    00814            ISC_SCHAR *middle_name;                                /* the user's middle name */
    00815            ISC_SCHAR *last_name;                       /* the user's last name */
    00816            ISC_SCHAR *dba_user_name;                   /* the dba user name */
    00817            ISC_SCHAR *dba_password;                               /* the dba password */
    00818 } USER_SEC_DATA;
    00819
    00820 ISC_STATUS ISC_EXPORT isc_add_user(ISC_STATUS*, const USER_SEC_DATA*);
    00821
    00822 ISC_STATUS ISC_EXPORT isc_delete_user(ISC_STATUS*, const USER_SEC_DATA*);
    00823
    00824 ISC_STATUS ISC_EXPORT isc_modify_user(ISC_STATUS*, const USER_SEC_DATA*);
    00825
    00826 /**********************************/
    00827 /*  Other OSRI functions          */
    00828 /**********************************/
    00829
    00830 ISC_STATUS ISC_EXPORT isc_compile_request(ISC_STATUS*,
    00831                                                                                                                 isc_db_handle*,
    00832                                                                                                                 isc_req_handle*,
    00833                                                                                                                 short,
    00834                                                                                                                 const ISC_SCHAR*);
    00835
    00836 ISC_STATUS ISC_EXPORT isc_compile_request2(ISC_STATUS*,
    00837                                                                                                                  isc_db_handle*,
    00838                                                                                                                  isc_req_handle*,
    00839                                                                                                                  short,
    00840                                                                                                                  const ISC_SCHAR*);
    00841
    00842 ISC_STATUS ISC_EXPORT isc_ddl(ISC_STATUS*,
    00843                                                                                isc_db_handle*,
    00844                                                                                isc_tr_handle*,
    00845                                                                                short,
    00846                                                                                const ISC_SCHAR*);
    00847
    00848 ISC_STATUS ISC_EXPORT isc_prepare_transaction(ISC_STATUS*,
    00849                                                                                                                            isc_tr_handle*);
    00850
    00851
    00852 ISC_STATUS ISC_EXPORT isc_receive(ISC_STATUS*,
    00853                                                                                           isc_req_handle*,
    00854                                                                                           short,
    00855                                                                                           short,
    00856                                                                                           void*,
    00857                                                                                           short);
    00858
    00859 ISC_STATUS ISC_EXPORT isc_reconnect_transaction(ISC_STATUS*,
    00860                                                                                                                                     isc_db_handle*,
    00861                                                                                                                                     isc_tr_handle*,
    00862                                                                                                                                     short,
    00863                                                                                                                                     const ISC_SCHAR*);
    00864
    00865 ISC_STATUS ISC_EXPORT isc_release_request(ISC_STATUS*,
    00866                                                                                                                 isc_req_handle*);
    00867
    00868 ISC_STATUS ISC_EXPORT isc_request_info(ISC_STATUS*,
    00869                                                                                                       isc_req_handle*,
    00870                                                                                                       short,
    00871                                                                                                       short,
    00872                                                                                                       const ISC_SCHAR*,
    00873                                                                                                       short,
    00874                                                                                                       ISC_SCHAR*);
    00875
    00876 ISC_STATUS ISC_EXPORT isc_seek_blob(ISC_STATUS*,
    00877                                                                                                    isc_blob_handle*,
    00878                                                                                                    short,
    00879                                                                                                    ISC_LONG,
    00880                                                                                                    ISC_LONG*);
    00881
    00882 ISC_STATUS ISC_EXPORT isc_send(ISC_STATUS*,
    00883                                                                                 isc_req_handle*,
    00884                                                                                 short,
    00885                                                                                 short,
    00886                                                                                 const void*,
    00887                                                                                 short);
    00888
    00889 ISC_STATUS ISC_EXPORT isc_start_and_send(ISC_STATUS*,
    00890                                                                                                                isc_req_handle*,
    00891                                                                                                                isc_tr_handle*,
    00892                                                                                                                short,
    00893                                                                                                                short,
    00894                                                                                                                const void*,
    00895                                                                                                                short);
    00896
    00897 ISC_STATUS ISC_EXPORT isc_start_request(ISC_STATUS *,
    00898                                                                                                               isc_req_handle *,
    00899                                                                                                               isc_tr_handle *,
    00900                                                                                                               short);
    00901
    00902 ISC_STATUS ISC_EXPORT isc_unwind_request(ISC_STATUS *,
    00903                                                                                                                isc_tr_handle *,
    00904                                                                                                                short);
    00905
    00906 ISC_STATUS ISC_EXPORT isc_wait_for_event(ISC_STATUS*,
    00907                                                                                                                isc_db_handle*,
    00908                                                                                                                short,
    00909                                                                                                                const ISC_UCHAR*,
    00910                                                                                                                ISC_UCHAR*);
    00911
    00912
    00913 /*****************************/
    00914 /* Other Sql functions       */
    00915 /*****************************/
    00916
    00917 ISC_STATUS ISC_EXPORT isc_close(ISC_STATUS*,
    00918                                                                                         const ISC_SCHAR*);
    00919
    00920 ISC_STATUS ISC_EXPORT isc_declare(ISC_STATUS*,
    00921                                                                                           const ISC_SCHAR*,
    00922                                                                                           const ISC_SCHAR*);
    00923
    00924 ISC_STATUS ISC_EXPORT isc_describe(ISC_STATUS*,
    00925                                                                                            const ISC_SCHAR*,
    00926                                                                                            XSQLDA *);
    00927
    00928 ISC_STATUS ISC_EXPORT isc_describe_bind(ISC_STATUS*,
    00929                                                                                                               const ISC_SCHAR*,
    00930                                                                                                               XSQLDA*);
    00931
    00932 ISC_STATUS ISC_EXPORT isc_execute(ISC_STATUS*,
    00933                                                                                           isc_tr_handle*,
    00934                                                                                           const ISC_SCHAR*,
    00935                                                                                           XSQLDA*);
    00936
    00937 ISC_STATUS ISC_EXPORT isc_execute_immediate(ISC_STATUS*,
    00938                                                                                                                          isc_db_handle*,
    00939                                                                                                                          isc_tr_handle*,
    00940                                                                                                                          short*,
    00941                                                                                                                          const ISC_SCHAR*);
    00942
    00943 ISC_STATUS ISC_EXPORT isc_fetch(ISC_STATUS*,
    00944                                                                                         const ISC_SCHAR*,
    00945                                                                                         XSQLDA*);
    00946
    00947 ISC_STATUS ISC_EXPORT isc_open(ISC_STATUS*,
    00948                                                                                 isc_tr_handle*,
    00949                                                                                 const ISC_SCHAR*,
    00950                                                                                 XSQLDA*);
    00951
    00952 ISC_STATUS ISC_EXPORT isc_prepare(ISC_STATUS*,
    00953                                                                                           isc_db_handle*,
    00954                                                                                           isc_tr_handle*,
    00955                                                                                           const ISC_SCHAR*,
    00956                                                                                           short*,
    00957                                                                                           const ISC_SCHAR*,
    00958                                                                                           XSQLDA*);
    00959
    00960
    00961 /*************************************/
    00962 /* Other Dynamic sql functions       */
    00963 /*************************************/
    00964
    00965 ISC_STATUS ISC_EXPORT isc_dsql_execute_m(ISC_STATUS*,
    00966                                                                                                                isc_tr_handle*,
    00967                                                                                                                isc_stmt_handle*,
    00968                                                                                                                unsigned short,
    00969                                                                                                                const ISC_SCHAR*,
    00970                                                                                                                unsigned short,
    00971                                                                                                                unsigned short,
    00972                                                                                                                ISC_SCHAR*);
    00973
    00974 ISC_STATUS ISC_EXPORT isc_dsql_execute2_m(ISC_STATUS*,
    00975                                                                                                                 isc_tr_handle*,
    00976                                                                                                                 isc_stmt_handle*,
    00977                                                                                                                 unsigned short,
    00978                                                                                                                 const ISC_SCHAR*,
    00979                                                                                                                 unsigned short,
    00980                                                                                                                 unsigned short,
    00981                                                                                                                 const ISC_SCHAR*,
    00982                                                                                                                 unsigned short,
    00983                                                                                                                 ISC_SCHAR*,
    00984                                                                                                                 unsigned short,
    00985                                                                                                                 unsigned short,
    00986                                                                                                                 ISC_SCHAR*);
    00987
    00988 ISC_STATUS ISC_EXPORT isc_dsql_execute_immediate_m(ISC_STATUS*,
    00989                                                                                                                                        isc_db_handle*,
    00990                                                                                                                                        isc_tr_handle*,
    00991                                                                                                                                        unsigned short,
    00992                                                                                                                                        const ISC_SCHAR*,
    00993                                                                                                                                        unsigned short,
    00994                                                                                                                                        unsigned short,
    00995                                                                                                                                        const ISC_SCHAR*,
    00996                                                                                                                                        unsigned short,
    00997                                                                                                                                        unsigned short,
    00998                                                                                                                                        ISC_SCHAR*);
    00999
    01000 ISC_STATUS ISC_EXPORT isc_dsql_exec_immed3_m(ISC_STATUS*,
    01001                                                                                                                           isc_db_handle*,
    01002                                                                                                                           isc_tr_handle*,
    01003                                                                                                                           unsigned short,
    01004                                                                                                                           const ISC_SCHAR*,
    01005                                                                                                                           unsigned short,
    01006                                                                                                                           unsigned short,
    01007                                                                                                                           const ISC_SCHAR*,
    01008                                                                                                                           unsigned short,
    01009                                                                                                                           unsigned short,
    01010                                                                                                                           ISC_SCHAR*,
    01011                                                                                                                           unsigned short,
    01012                                                                                                                           ISC_SCHAR*,
    01013                                                                                                                           unsigned short,
    01014                                                                                                                           unsigned short,
    01015                                                                                                                           ISC_SCHAR*);
    01016
    01017 ISC_STATUS ISC_EXPORT isc_dsql_fetch_m(ISC_STATUS*,
    01018                                                                                                       isc_stmt_handle*,
    01019                                                                                                       unsigned short,
    01020                                                                                                       const ISC_SCHAR*,
    01021                                                                                                       unsigned short,
    01022                                                                                                       unsigned short,
    01023                                                                                                       ISC_SCHAR*);
    01024
    01025 ISC_STATUS ISC_EXPORT isc_dsql_insert_m(ISC_STATUS*,
    01026                                                                                                               isc_stmt_handle*,
    01027                                                                                                               unsigned short,
    01028                                                                                                               const ISC_SCHAR*,
    01029                                                                                                               unsigned short,
    01030                                                                                                               unsigned short,
    01031                                                                                                               const ISC_SCHAR*);
    01032
    01033 ISC_STATUS ISC_EXPORT isc_dsql_prepare_m(ISC_STATUS*,
    01034                                                                                                                isc_tr_handle*,
    01035                                                                                                                isc_stmt_handle*,
    01036                                                                                                                unsigned short,
    01037                                                                                                                const ISC_SCHAR*,
    01038                                                                                                                unsigned short,
    01039                                                                                                                unsigned short,
    01040                                                                                                                const ISC_SCHAR*,
    01041                                                                                                                unsigned short,
    01042                                                                                                                ISC_SCHAR*);
    01043
    01044 ISC_STATUS ISC_EXPORT isc_dsql_release(ISC_STATUS*,
    01045                                                                                                       const ISC_SCHAR*);
    01046
    01047 ISC_STATUS ISC_EXPORT isc_embed_dsql_close(ISC_STATUS*,
    01048                                                                                                                  const ISC_SCHAR*);
    01049
    01050 ISC_STATUS ISC_EXPORT isc_embed_dsql_declare(ISC_STATUS*,
    01051                                                                                                                           const ISC_SCHAR*,
    01052                                                                                                                           const ISC_SCHAR*);
    01053
    01054 ISC_STATUS ISC_EXPORT isc_embed_dsql_describe(ISC_STATUS*,
    01055                                                                                                                            const ISC_SCHAR*,
    01056                                                                                                                            unsigned short,
    01057                                                                                                                            XSQLDA*);
    01058
    01059 ISC_STATUS ISC_EXPORT isc_embed_dsql_describe_bind(ISC_STATUS*,
    01060                                                                                                                                        const ISC_SCHAR*,
    01061                                                                                                                                        unsigned short,
    01062                                                                                                                                        XSQLDA*);
    01063
    01064 ISC_STATUS ISC_EXPORT isc_embed_dsql_execute(ISC_STATUS*,
    01065                                                                                                                           isc_tr_handle*,
    01066                                                                                                                           const ISC_SCHAR*,
    01067                                                                                                                           unsigned short,
    01068                                                                                                                           XSQLDA*);
    01069
    01070 ISC_STATUS ISC_EXPORT isc_embed_dsql_execute2(ISC_STATUS*,
    01071                                                                                                                            isc_tr_handle*,
    01072                                                                                                                            const ISC_SCHAR*,
    01073                                                                                                                            unsigned short,
    01074                                                                                                                            XSQLDA*,
    01075                                                                                                                            XSQLDA*);
    01076
    01077 ISC_STATUS ISC_EXPORT isc_embed_dsql_execute_immed(ISC_STATUS*,
    01078                                                                                                                                        isc_db_handle*,
    01079                                                                                                                                        isc_tr_handle*,
    01080                                                                                                                                        unsigned short,
    01081                                                                                                                                        const ISC_SCHAR*,
    01082                                                                                                                                        unsigned short,
    01083                                                                                                                                        XSQLDA*);
    01084
    01085 ISC_STATUS ISC_EXPORT isc_embed_dsql_fetch(ISC_STATUS*,
    01086                                                                                                                  const ISC_SCHAR*,
    01087                                                                                                                  unsigned short,
    01088                                                                                                                  XSQLDA*);
    01089
    01090 ISC_STATUS ISC_EXPORT isc_embed_dsql_open(ISC_STATUS*,
    01091                                                                                                                 isc_tr_handle*,
    01092                                                                                                                 const ISC_SCHAR*,
    01093                                                                                                                 unsigned short,
    01094                                                                                                                 XSQLDA*);
    01095
    01096 ISC_STATUS ISC_EXPORT isc_embed_dsql_open2(ISC_STATUS*,
    01097                                                                                                                  isc_tr_handle*,
    01098                                                                                                                  const ISC_SCHAR*,
    01099                                                                                                                  unsigned short,
    01100                                                                                                                  XSQLDA*,
    01101                                                                                                                  XSQLDA*);
    01102
    01103 ISC_STATUS ISC_EXPORT isc_embed_dsql_insert(ISC_STATUS*,
    01104                                                                                                                          const ISC_SCHAR*,
    01105                                                                                                                          unsigned short,
    01106                                                                                                                          XSQLDA*);
    01107
    01108 ISC_STATUS ISC_EXPORT isc_embed_dsql_prepare(ISC_STATUS*,
    01109                                                                                                                           isc_db_handle*,
    01110                                                                                                                           isc_tr_handle*,
    01111                                                                                                                           const ISC_SCHAR*,
    01112                                                                                                                           unsigned short,
    01113                                                                                                                           const ISC_SCHAR*,
    01114                                                                                                                           unsigned short,
    01115                                                                                                                           XSQLDA*);
    01116
    01117 ISC_STATUS ISC_EXPORT isc_embed_dsql_release(ISC_STATUS*,
    01118                                                                                                                           const ISC_SCHAR*);
    01119
    01120
    01121 /******************************/
    01122 /* Other Blob functions       */
    01123 /******************************/
    01124
    01125 BSTREAM* ISC_EXPORT BLOB_open(isc_blob_handle,
    01126                                                                                                      ISC_SCHAR*,
    01127                                                                                                      int);
    01128
    01129 int ISC_EXPORT BLOB_put(ISC_SCHAR,
    01130                                                                   BSTREAM*);
    01131
    01132 int ISC_EXPORT BLOB_close(BSTREAM*);
    01133
    01134 int ISC_EXPORT BLOB_get(BSTREAM*);
    01135
    01136 int ISC_EXPORT BLOB_display(ISC_QUAD*,
    01137                                                                              isc_db_handle,
    01138                                                                              isc_tr_handle,
    01139                                                                              const ISC_SCHAR*);
    01140
    01141 int ISC_EXPORT BLOB_dump(ISC_QUAD*,
    01142                                                                    isc_db_handle,
    01143                                                                    isc_tr_handle,
    01144                                                                    const ISC_SCHAR*);
    01145
    01146 int ISC_EXPORT BLOB_edit(ISC_QUAD*,
    01147                                                                    isc_db_handle,
    01148                                                                    isc_tr_handle,
    01149                                                                    const ISC_SCHAR*);
    01150
    01151 int ISC_EXPORT BLOB_load(ISC_QUAD*,
    01152                                                                    isc_db_handle,
    01153                                                                    isc_tr_handle,
    01154                                                                    const ISC_SCHAR*);
    01155
    01156 int ISC_EXPORT BLOB_text_dump(ISC_QUAD*,
    01157                                                                                isc_db_handle,
    01158                                                                                isc_tr_handle,
    01159                                                                                const ISC_SCHAR*);
    01160
    01161 int ISC_EXPORT BLOB_text_load(ISC_QUAD*,
    01162                                                                                isc_db_handle,
    01163                                                                                isc_tr_handle,
    01164                                                                                const ISC_SCHAR*);
    01165
    01166 BSTREAM* ISC_EXPORT Bopen(ISC_QUAD*,
    01167                                                                                           isc_db_handle,
    01168                                                                                           isc_tr_handle,
    01169                                                                                           const ISC_SCHAR*);
    01170
    01171 /* Disabled, not found anywhere.
    01172 BSTREAM* ISC_EXPORT Bopen2(ISC_QUAD*,
    01173                                                                                            isc_db_handle,
    01174                                                                                            isc_tr_handle,
    01175                                                                                            const ISC_SCHAR*,
    01176                                                                                            unsigned short);
    01177 */
    01178
    01179
    01180 /******************************/
    01181 /* Other Misc functions       */
    01182 /******************************/
    01183
    01184 ISC_LONG ISC_EXPORT isc_ftof(const ISC_SCHAR*,
    01185                                                                               const unsigned short,
    01186                                                                               ISC_SCHAR*,
    01187                                                                               const unsigned short);
    01188
    01189 ISC_STATUS ISC_EXPORT isc_print_blr(const ISC_SCHAR*,
    01190                                                                                                    ISC_PRINT_CALLBACK,
    01191                                                                                                    void*,
    01192                                                                                                    short);
    01193
    01194 void ISC_EXPORT isc_set_debug(int);
    01195
    01196 void ISC_EXPORT isc_qtoq(const ISC_QUAD*,
    01197                                                                    ISC_QUAD*);
    01198
    01199 void ISC_EXPORT isc_vtof(const ISC_SCHAR*,
    01200                                                                    ISC_SCHAR*,
    01201                                                                    unsigned short);
    01202
    01203 void ISC_EXPORT isc_vtov(const ISC_SCHAR*,
    01204                                                                    ISC_SCHAR*,
    01205                                                                    short);
    01206
    01207 int ISC_EXPORT isc_version(isc_db_handle*,
    01208                                                                      ISC_VERSION_CALLBACK,
    01209                                                                      void*);
    01210
    01211 ISC_LONG ISC_EXPORT isc_reset_fpe(ISC_USHORT);
    01212
    01213
    01214 /*****************************************/
    01215 /* Service manager functions             */
    01216 /*****************************************/
    01217
    01218 #define ADD_SPB_LENGTH(p, length)           {*(p)++ = (length); \
    01219                                                         *(p)++ = (length) >> 8;}
    01220
    01221 #define ADD_SPB_NUMERIC(p, data) {*(p)++ = (ISC_SCHAR) (data); \
    01222                                                         *(p)++ = (ISC_SCHAR) ((data) >> 8); \
    01223                                                         *(p)++ = (ISC_SCHAR) ((data) >> 16); \
    01224                                                         *(p)++ = (ISC_SCHAR) ((data) >> 24);}
    01225
    01226 ISC_STATUS ISC_EXPORT isc_service_attach(ISC_STATUS*,
    01227                                                                                                                unsigned short,
    01228                                                                                                                const ISC_SCHAR*,
    01229                                                                                                                isc_svc_handle*,
    01230                                                                                                                unsigned short,
    01231                                                                                                                const ISC_SCHAR*);
    01232
    01233 ISC_STATUS ISC_EXPORT isc_service_detach(ISC_STATUS *,
    01234                                                                                                                isc_svc_handle *);
    01235
    01236 ISC_STATUS ISC_EXPORT isc_service_query(ISC_STATUS*,
    01237                                                                                                               isc_svc_handle*,
    01238                                                                                                               isc_resv_handle*,
    01239                                                                                                               unsigned short,
    01240                                                                                                               const ISC_SCHAR*,
    01241                                                                                                               unsigned short,
    01242                                                                                                               const ISC_SCHAR*,
    01243                                                                                                               unsigned short,
    01244                                                                                                               ISC_SCHAR*);
    01245
    01246 ISC_STATUS ISC_EXPORT isc_service_start(ISC_STATUS*,
    01247                                                                                                               isc_svc_handle*,
    01248                                                                                                               isc_resv_handle*,
    01249                                                                                                               unsigned short,
    01250                                                                                                               const ISC_SCHAR*);
    01251
    01252
    01253 /********************************/
    01254 /* Client information functions */
    01255 /********************************/
    01256
    01257 void ISC_EXPORT isc_get_client_version ( ISC_SCHAR  *);
    01258 int  ISC_EXPORT isc_get_client_major_version ();
    01259 int  ISC_EXPORT isc_get_client_minor_version ();
    01260
    01261 #ifdef __cplusplus
    01262 }          /* extern "C" */
    01263 #endif
    01264
    01265
    01266 /***************************************************/
    01267 /* Actions to pass to the blob filter (ctl_source) */
    01268 /***************************************************/
    01269
    01270 #define isc_blob_filter_open             0
    01271 #define isc_blob_filter_get_segment      1
    01272 #define isc_blob_filter_close            2
    01273 #define isc_blob_filter_create           3
    01274 #define isc_blob_filter_put_segment      4
    01275 #define isc_blob_filter_alloc            5
    01276 #define isc_blob_filter_free             6
    01277 #define isc_blob_filter_seek             7
    01278
    01279 /*******************/
    01280 /* Blr definitions */
    01281 /*******************/
    01282
    01283
    01284 #ifndef JRD_BLR_H
    01285 #define JRD_BLR_H
    01286
    01287 #define blr_text                (unsigned char)14
    01288 #define blr_text2               (unsigned char)15
    01289 #define blr_short               (unsigned char)7
    01290 #define blr_long                (unsigned char)8
    01291 #define blr_quad                (unsigned char)9
    01292 #define blr_float               (unsigned char)10
    01293 #define blr_double              (unsigned char)27
    01294 #define blr_d_float             (unsigned char)11
    01295 #define blr_timestamp           (unsigned char)35
    01296 #define blr_varying             (unsigned char)37
    01297 #define blr_varying2            (unsigned char)38
    01298 #define blr_blob                (unsigned short)261
    01299 #define blr_cstring             (unsigned char)40
    01300 #define blr_cstring2            (unsigned char)41
    01301 #define blr_blob_id             (unsigned char)45
    01302 #define blr_sql_date            (unsigned char)12
    01303 #define blr_sql_time            (unsigned char)13
    01304 #define blr_int64               (unsigned char)16
    01305 #define blr_blob2               (unsigned char)17
    01306
    01307 #define blr_date                blr_timestamp
    01308
    01309 #define blr_inner               (unsigned char)0
    01310 #define blr_left                (unsigned char)1
    01311 #define blr_right               (unsigned char)2
    01312 #define blr_full                (unsigned char)3
    01313
    01314 #define blr_gds_code            (unsigned char)0
    01315 #define blr_sql_code            (unsigned char)1
    01316 #define blr_exception           (unsigned char)2
    01317 #define blr_trigger_code        (unsigned char)3
    01318 #define blr_default_code        (unsigned char)4
    01319 #define blr_raise                       (unsigned char)5
    01320 #define blr_exception_msg       (unsigned char)6
    01321
    01322 #define blr_version4            (unsigned char)4
    01323 #define blr_version5            (unsigned char)5
    01324 #define blr_eoc                 (unsigned char)76
    01325 #define blr_end                 (unsigned char)255
    01326
    01327 #define blr_assignment          (unsigned char)1
    01328 #define blr_begin               (unsigned char)2
    01329 #define blr_dcl_variable        (unsigned char)3
    01330 #define blr_message             (unsigned char)4
    01331 #define blr_erase               (unsigned char)5
    01332 #define blr_fetch               (unsigned char)6
    01333 #define blr_for                 (unsigned char)7
    01334 #define blr_if                  (unsigned char)8
    01335 #define blr_loop                (unsigned char)9
    01336 #define blr_modify              (unsigned char)10
    01337 #define blr_handler             (unsigned char)11
    01338 #define blr_receive             (unsigned char)12
    01339 #define blr_select              (unsigned char)13
    01340 #define blr_send                (unsigned char)14
    01341 #define blr_store               (unsigned char)15
    01342 #define blr_label               (unsigned char)17
    01343 #define blr_leave               (unsigned char)18
    01344 #define blr_store2              (unsigned char)19
    01345 #define blr_post                (unsigned char)20
    01346 #define blr_literal             (unsigned char)21
    01347 #define blr_dbkey               (unsigned char)22
    01348 #define blr_field               (unsigned char)23
    01349 #define blr_fid                 (unsigned char)24
    01350 #define blr_parameter           (unsigned char)25
    01351 #define blr_variable            (unsigned char)26
    01352 #define blr_average             (unsigned char)27
    01353 #define blr_count               (unsigned char)28
    01354 #define blr_maximum             (unsigned char)29
    01355 #define blr_minimum             (unsigned char)30
    01356 #define blr_total               (unsigned char)31
    01357
    01358 #define blr_add                 (unsigned char)34
    01359 #define blr_subtract            (unsigned char)35
    01360 #define blr_multiply            (unsigned char)36
    01361 #define blr_divide              (unsigned char)37
    01362 #define blr_negate              (unsigned char)38
    01363 #define blr_concatenate         (unsigned char)39
    01364 #define blr_substring           (unsigned char)40
    01365 #define blr_parameter2          (unsigned char)41
    01366 #define blr_from                (unsigned char)42
    01367 #define blr_via                 (unsigned char)43
    01368 #define blr_parameter2_old      (unsigned char)44
    01369 #define blr_user_name           (unsigned char)44
    01370 #define blr_null                (unsigned char)45
    01371
    01372 #define blr_equiv                       (unsigned char)46
    01373 #define blr_eql                 (unsigned char)47
    01374 #define blr_neq                 (unsigned char)48
    01375 #define blr_gtr                 (unsigned char)49
    01376 #define blr_geq                 (unsigned char)50
    01377 #define blr_lss                 (unsigned char)51
    01378 #define blr_leq                 (unsigned char)52
    01379 #define blr_containing          (unsigned char)53
    01380 #define blr_matching            (unsigned char)54
    01381 #define blr_starting            (unsigned char)55
    01382 #define blr_between             (unsigned char)56
    01383 #define blr_or                  (unsigned char)57
    01384 #define blr_and                 (unsigned char)58
    01385 #define blr_not                 (unsigned char)59
    01386 #define blr_any                 (unsigned char)60
    01387 #define blr_missing             (unsigned char)61
    01388 #define blr_unique              (unsigned char)62
    01389 #define blr_like                (unsigned char)63
    01390
    01391 #define blr_rse                 (unsigned char)67
    01392 #define blr_first               (unsigned char)68
    01393 #define blr_project             (unsigned char)69
    01394 #define blr_sort                (unsigned char)70
    01395 #define blr_boolean             (unsigned char)71
    01396 #define blr_ascending           (unsigned char)72
    01397 #define blr_descending          (unsigned char)73
    01398 #define blr_relation            (unsigned char)74
    01399 #define blr_rid                 (unsigned char)75
    01400 #define blr_union               (unsigned char)76
    01401 #define blr_map                 (unsigned char)77
    01402 #define blr_group_by            (unsigned char)78
    01403 #define blr_aggregate           (unsigned char)79
    01404 #define blr_join_type           (unsigned char)80
    01405
    01406 #define blr_agg_count           (unsigned char)83
    01407 #define blr_agg_max             (unsigned char)84
    01408 #define blr_agg_min             (unsigned char)85
    01409 #define blr_agg_total           (unsigned char)86
    01410 #define blr_agg_average         (unsigned char)87
    01411 #define blr_parameter3          (unsigned char)88
    01412 #define blr_run_max             (unsigned char)89
    01413 #define blr_run_min             (unsigned char)90
    01414 #define blr_run_total           (unsigned char)91
    01415 #define blr_run_average         (unsigned char)92
    01416 #define blr_agg_count2          (unsigned char)93
    01417 #define blr_agg_count_distinct  (unsigned char)94
    01418 #define blr_agg_total_distinct  (unsigned char)95
    01419 #define blr_agg_average_distinct (unsigned char)96
    01420
    01421 #define blr_function            (unsigned char)100
    01422 #define blr_gen_id              (unsigned char)101
    01423 #define blr_prot_mask           (unsigned char)102
    01424 #define blr_upcase              (unsigned char)103
    01425 #define blr_lock_state          (unsigned char)104
    01426 #define blr_value_if            (unsigned char)105
    01427 #define blr_matching2           (unsigned char)106
    01428 #define blr_index               (unsigned char)107
    01429 #define blr_ansi_like           (unsigned char)108
    01430
    01431 #define blr_seek                (unsigned char)112
    01432
    01433 #define blr_continue            (unsigned char)0
    01434 #define blr_forward             (unsigned char)1
    01435 #define blr_backward            (unsigned char)2
    01436 #define blr_bof_forward         (unsigned char)3
    01437 #define blr_eof_backward        (unsigned char)4
    01438
    01439 #define blr_run_count           (unsigned char)118
    01440 #define blr_rs_stream           (unsigned char)119
    01441 #define blr_exec_proc           (unsigned char)120
    01442
    01443 #define blr_procedure           (unsigned char)124
    01444 #define blr_pid                 (unsigned char)125
    01445 #define blr_exec_pid            (unsigned char)126
    01446 #define blr_singular            (unsigned char)127
    01447 #define blr_abort               (unsigned char)128
    01448 #define blr_block               (unsigned char)129
    01449 #define blr_error_handler       (unsigned char)130
    01450
    01451 #define blr_cast                (unsigned char)131
    01452
    01453 #define blr_start_savepoint     (unsigned char)134
    01454 #define blr_end_savepoint       (unsigned char)135
    01455
    01456 #define blr_plan                (unsigned char)139
    01457 #define blr_merge               (unsigned char)140
    01458 #define blr_join                (unsigned char)141
    01459 #define blr_sequential          (unsigned char)142
    01460 #define blr_navigational        (unsigned char)143
    01461 #define blr_indices             (unsigned char)144
    01462 #define blr_retrieve            (unsigned char)145
    01463
    01464 #define blr_relation2           (unsigned char)146
    01465 #define blr_rid2                (unsigned char)147
    01466
    01467 #define blr_set_generator       (unsigned char)150
    01468
    01469 #define blr_ansi_any            (unsigned char)151
    01470 #define blr_exists              (unsigned char)152
    01471
    01472 #define blr_record_version      (unsigned char)154
    01473 #define blr_stall               (unsigned char)155
    01474
    01475 #define blr_ansi_all            (unsigned char)158
    01476
    01477 #define blr_extract             (unsigned char)159
    01478
    01479 #define blr_extract_year        (unsigned char)0
    01480 #define blr_extract_month       (unsigned char)1
    01481 #define blr_extract_day         (unsigned char)2
    01482 #define blr_extract_hour        (unsigned char)3
    01483 #define blr_extract_minute      (unsigned char)4
    01484 #define blr_extract_second      (unsigned char)5
    01485 #define blr_extract_weekday     (unsigned char)6
    01486 #define blr_extract_yearday     (unsigned char)7
    01487
    01488 #define blr_current_date        (unsigned char)160
    01489 #define blr_current_timestamp   (unsigned char)161
    01490 #define blr_current_time        (unsigned char)162
    01491
    01492 #define blr_current_role        (unsigned char)174
    01493 #define blr_skip                (unsigned char)175
    01494
    01495 #define blr_exec_sql            (unsigned char)176
    01496 #define blr_internal_info       (unsigned char)177
    01497 #define blr_nullsfirst          (unsigned char)178
    01498 #define blr_writelock           (unsigned char)179
    01499 #define blr_nullslast       (unsigned char)180
    01500
    01501 #define blr_lowcase                     (unsigned char)181
    01502 #define blr_strlen                      (unsigned char)182
    01503
    01504 #define blr_strlen_bit          (unsigned char)0
    01505 #define blr_strlen_char         (unsigned char)1
    01506 #define blr_strlen_octet        (unsigned char)2
    01507
    01508 #define blr_trim                        (unsigned char)183
    01509
    01510 #define blr_trim_both           (unsigned char)0
    01511 #define blr_trim_leading        (unsigned char)1
    01512 #define blr_trim_trailing       (unsigned char)2
    01513
    01514 #define blr_trim_spaces         (unsigned char)0
    01515 #define blr_trim_characters     (unsigned char)1
    01516
    01517 #define blr_post_arg            (unsigned char)163
    01518 #define blr_exec_into           (unsigned char)164
    01519 #define blr_user_savepoint      (unsigned char)165
    01520 #define blr_dcl_cursor          (unsigned char)166
    01521 #define blr_cursor_stmt         (unsigned char)167
    01522 #define blr_current_timestamp2  (unsigned char)168
    01523 #define blr_current_time2       (unsigned char)169
    01524
    01525 #define blr_savepoint_set       (unsigned char)0
    01526 #define blr_savepoint_release   (unsigned char)1
    01527 #define blr_savepoint_undo      (unsigned char)2
    01528 #define blr_savepoint_release_single    (unsigned char)3
    01529
    01530 #define blr_cursor_open                 (unsigned char)0
    01531 #define blr_cursor_close                (unsigned char)1
    01532 #define blr_cursor_fetch                (unsigned char)2
    01533
    01534 #endif
    01535
    01536
    01537 /**********************************/
    01538 /* Database parameter block stuff */
    01539 /**********************************/
    01540
    01541 #define isc_dpb_version1                  1
    01542 #define isc_dpb_cdd_pathname              1
    01543 #define isc_dpb_allocation                2
    01544 #define isc_dpb_journal                   3
    01545 #define isc_dpb_page_size                 4
    01546 #define isc_dpb_num_buffers               5
    01547 #define isc_dpb_buffer_length             6
    01548 #define isc_dpb_debug                     7
    01549 #define isc_dpb_garbage_collect           8
    01550 #define isc_dpb_verify                    9
    01551 #define isc_dpb_sweep                     10
    01552 #define isc_dpb_enable_journal            11
    01553 #define isc_dpb_disable_journal           12
    01554 #define isc_dpb_dbkey_scope               13
    01555 #define isc_dpb_number_of_users           14
    01556 #define isc_dpb_trace                     15
    01557 #define isc_dpb_no_garbage_collect        16
    01558 #define isc_dpb_damaged                   17
    01559 #define isc_dpb_license                   18
    01560 #define isc_dpb_sys_user_name             19
    01561 #define isc_dpb_encrypt_key               20
    01562 #define isc_dpb_activate_shadow           21
    01563 #define isc_dpb_sweep_interval            22
    01564 #define isc_dpb_delete_shadow             23
    01565 #define isc_dpb_force_write               24
    01566 #define isc_dpb_begin_log                 25
    01567 #define isc_dpb_quit_log                  26
    01568 #define isc_dpb_no_reserve                27
    01569 #define isc_dpb_user_name                 28
    01570 #define isc_dpb_password                  29
    01571 #define isc_dpb_password_enc              30
    01572 #define isc_dpb_sys_user_name_enc         31
    01573 #define isc_dpb_interp                    32
    01574 #define isc_dpb_online_dump               33
    01575 #define isc_dpb_old_file_size             34
    01576 #define isc_dpb_old_num_files             35
    01577 #define isc_dpb_old_file                  36
    01578 #define isc_dpb_old_start_page            37
    01579 #define isc_dpb_old_start_seqno           38
    01580 #define isc_dpb_old_start_file            39
    01581 #define isc_dpb_drop_walfile              40
    01582 #define isc_dpb_old_dump_id               41
    01583 #define isc_dpb_wal_backup_dir            42
    01584 #define isc_dpb_wal_chkptlen              43
    01585 #define isc_dpb_wal_numbufs               44
    01586 #define isc_dpb_wal_bufsize               45
    01587 #define isc_dpb_wal_grp_cmt_wait          46
    01588 #define isc_dpb_lc_messages               47
    01589 #define isc_dpb_lc_ctype                  48
    01590 #define isc_dpb_cache_manager             49
    01591 #define isc_dpb_shutdown                  50
    01592 #define isc_dpb_online                    51
    01593 #define isc_dpb_shutdown_delay            52
    01594 #define isc_dpb_reserved                  53
    01595 #define isc_dpb_overwrite                 54
    01596 #define isc_dpb_sec_attach                55
    01597 #define isc_dpb_disable_wal               56
    01598 #define isc_dpb_connect_timeout           57
    01599 #define isc_dpb_dummy_packet_interval     58
    01600 #define isc_dpb_gbak_attach               59
    01601 #define isc_dpb_sql_role_name             60
    01602 #define isc_dpb_set_page_buffers          61
    01603 #define isc_dpb_working_directory         62
    01604 #define isc_dpb_sql_dialect               63
    01605 #define isc_dpb_set_db_readonly           64
    01606 #define isc_dpb_set_db_sql_dialect        65
    01607 #define isc_dpb_gfix_attach               66
    01608 #define isc_dpb_gstat_attach              67
    01609 #define isc_dpb_set_db_charset            68
    01610 #define isc_dpb_gsec_attach               69
    01611 #define isc_dpb_address_path              70
    01612
    01613 /**************************************************/
    01614 /* clumplet tags used inside isc_dpb_address_path */
    01615 /*                                                                 and isc_spb_address_path */
    01616 /**************************************************/
    01617
    01618 /* Format of this clumplet is the following:
    01619
    01620  <address-path-clumplet> ::=
    01621            isc_dpb_address_path <byte-clumplet-length> <address-stack>
    01622
    01623  <address-stack> ::=
    01624            <address-descriptor> |
    01625            <address-stack> <address-descriptor>
    01626
    01627  <address-descriptor> ::=
    01628            isc_dpb_address <byte-clumplet-length> <address-elements>
    01629
    01630  <address-elements> ::=
    01631            <address-element> |
    01632            <address-elements> <address-element>
    01633
    01634  <address-element> ::=
    01635            isc_dpb_addr_protocol <byte-clumplet-length> <protocol-string> |
    01636            isc_dpb_addr_endpoint <byte-clumplet-length> <remote-endpoint-string>
    01637
    01638  <protocol-string> ::=
    01639            "TCPv4" |
    01640            "TCPv6" |
    01641            "XNET" |
    01642            "WNET" |
    01643            ....
    01644
    01645  <remote-endpoint-string> ::=
    01646            <IPv4-address> | // such as "172.20.1.1"
    01647            <IPv6-address> | // such as "2001:0:13FF:09FF::1"
    01648            <xnet-process-id> | // such as "17864"
    01649            ...
    01650 */
    01651
    01652 #define isc_dpb_address 1
    01653
    01654 #define isc_dpb_addr_protocol 1
    01655 #define isc_dpb_addr_endpoint 2
    01656
    01657 /*********************************/
    01658 /* isc_dpb_verify specific flags */
    01659 /*********************************/
    01660
    01661 #define isc_dpb_pages                     1
    01662 #define isc_dpb_records                   2
    01663 #define isc_dpb_indices                   4
    01664 #define isc_dpb_transactions              8
    01665 #define isc_dpb_no_update                 16
    01666 #define isc_dpb_repair                    32
    01667 #define isc_dpb_ignore                    64
    01668
    01669 /***********************************/
    01670 /* isc_dpb_shutdown specific flags */
    01671 /***********************************/
    01672
    01673 #define isc_dpb_shut_cache               0x1
    01674 #define isc_dpb_shut_attachment          0x2
    01675 #define isc_dpb_shut_transaction         0x4
    01676 #define isc_dpb_shut_force               0x8
    01677 #define isc_dpb_shut_mode_mask          0x70
    01678
    01679 #define isc_dpb_shut_default             0x0
    01680 #define isc_dpb_shut_normal             0x10
    01681 #define isc_dpb_shut_multi              0x20
    01682 #define isc_dpb_shut_single             0x30
    01683 #define isc_dpb_shut_full               0x40
    01684
    01685 /**************************************/
    01686 /* Bit assignments in RDB$SYSTEM_FLAG */
    01687 /**************************************/
    01688
    01689 #define RDB_system                         1
    01690 #define RDB_id_assigned                    2
    01691 /* 2 is for QLI. See jrd/constants.h for more Firebird-specific values. */
    01692
    01693
    01694 /*************************************/
    01695 /* Transaction parameter block stuff */
    01696 /*************************************/
    01697
    01698 #define isc_tpb_version1                  1
    01699 #define isc_tpb_version3                  3
    01700 #define isc_tpb_consistency               1
    01701 #define isc_tpb_concurrency               2
    01702 #define isc_tpb_shared                    3
    01703 #define isc_tpb_protected                 4
    01704 #define isc_tpb_exclusive                 5
    01705 #define isc_tpb_wait                      6
    01706 #define isc_tpb_nowait                    7
    01707 #define isc_tpb_read                      8
    01708 #define isc_tpb_write                     9
    01709 #define isc_tpb_lock_read                 10
    01710 #define isc_tpb_lock_write                11
    01711 #define isc_tpb_verb_time                 12
    01712 #define isc_tpb_commit_time               13
    01713 #define isc_tpb_ignore_limbo              14
    01714 #define isc_tpb_read_committed             15
    01715 #define isc_tpb_autocommit                16
    01716 #define isc_tpb_rec_version               17
    01717 #define isc_tpb_no_rec_version            18
    01718 #define isc_tpb_restart_requests          19
    01719 #define isc_tpb_no_auto_undo              20
    01720 #define isc_tpb_lock_timeout              21
    01721
    01722
    01723 /************************/
    01724 /* Blob Parameter Block */
    01725 /************************/
    01726
    01727 #define isc_bpb_version1                  1
    01728 #define isc_bpb_source_type               1
    01729 #define isc_bpb_target_type               2
    01730 #define isc_bpb_type                      3
    01731 #define isc_bpb_source_interp             4
    01732 #define isc_bpb_target_interp             5
    01733 #define isc_bpb_filter_parameter          6
    01734
    01735 #define isc_bpb_type_segmented            0
    01736 #define isc_bpb_type_stream               1
    01737
    01738
    01739 /*********************************/
    01740 /* Service parameter block stuff */
    01741 /*********************************/
    01742
    01743 #define isc_spb_version1                  1
    01744 #define isc_spb_current_version           2
    01745 #define isc_spb_version                                  isc_spb_current_version
    01746 #define isc_spb_user_name                 isc_dpb_user_name
    01747 #define isc_spb_sys_user_name             isc_dpb_sys_user_name
    01748 #define isc_spb_sys_user_name_enc         isc_dpb_sys_user_name_enc
    01749 #define isc_spb_password                  isc_dpb_password
    01750 #define isc_spb_password_enc              isc_dpb_password_enc
    01751 #define isc_spb_command_line              105
    01752 #define isc_spb_dbname                    106
    01753 #define isc_spb_verbose                   107
    01754 #define isc_spb_options                   108
    01755 #define isc_spb_address_path              109
    01756
    01757
    01758 #define isc_spb_connect_timeout           isc_dpb_connect_timeout
    01759 #define isc_spb_dummy_packet_interval     isc_dpb_dummy_packet_interval
    01760 #define isc_spb_sql_role_name             isc_dpb_sql_role_name
    01761
    01762
    01763 /*********************************/
    01764 /* Information call declarations */
    01765 /*********************************/
    01766
    01767
    01768 #ifndef JRD_INF_PUB_H
    01769 #define JRD_INF_PUB_H
    01770
    01771 #define isc_info_end                    1
    01772 #define isc_info_truncated              2
    01773 #define isc_info_error                  3
    01774 #define isc_info_data_not_ready           4
    01775 #define isc_info_flag_end                 127
    01776
    01777 enum db_info_types
    01778 {
    01779         isc_info_db_id                  = 4,
    01780         isc_info_reads                  = 5,
    01781         isc_info_writes             = 6,
    01782         isc_info_fetches                = 7,
    01783         isc_info_marks                  = 8,
    01784
    01785         isc_info_implementation = 11,
    01786         isc_info_isc_version            = 12,
    01787         isc_info_base_level             = 13,
    01788         isc_info_page_size              = 14,
    01789         isc_info_num_buffers    = 15,
    01790         isc_info_limbo                  = 16,
    01791         isc_info_current_memory = 17,
    01792         isc_info_max_memory             = 18,
    01793         isc_info_window_turns   = 19,
    01794         isc_info_license                = 20,
    01795
    01796         isc_info_allocation             = 21,
    01797         isc_info_attachment_id   = 22,
    01798         isc_info_read_seq_count = 23,
    01799         isc_info_read_idx_count = 24,
    01800         isc_info_insert_count           = 25,
    01801         isc_info_update_count           = 26,
    01802         isc_info_delete_count           = 27,
    01803         isc_info_backout_count          = 28,
    01804         isc_info_purge_count            = 29,
    01805         isc_info_expunge_count          = 30,
    01806
    01807         isc_info_sweep_interval = 31,
    01808         isc_info_ods_version            = 32,
    01809         isc_info_ods_minor_version      = 33,
    01810         isc_info_no_reserve             = 34,
    01811
    01812         isc_info_logfile                = 35,
    01813         isc_info_cur_logfile_name       = 36,
    01814         isc_info_cur_log_part_offset    = 37,
    01815         isc_info_num_wal_buffers        = 38,
    01816         isc_info_wal_buffer_size        = 39,
    01817         isc_info_wal_ckpt_length        = 40,
    01818
    01819         isc_info_wal_cur_ckpt_interval = 41,
    01820         isc_info_wal_prv_ckpt_fname     = 42,
    01821         isc_info_wal_prv_ckpt_poffset   = 43,
    01822         isc_info_wal_recv_ckpt_fname    = 44,
    01823         isc_info_wal_recv_ckpt_poffset = 45,
    01824         isc_info_wal_grpc_wait_usecs    = 47,
    01825         isc_info_wal_num_io             = 48,
    01826         isc_info_wal_avg_io_size        = 49,
    01827         isc_info_wal_num_commits        = 50,
    01828         isc_info_wal_avg_grpc_size      = 51,
    01829
    01830         isc_info_forced_writes          = 52,
    01831         isc_info_user_names = 53,
    01832         isc_info_page_errors = 54,
    01833         isc_info_record_errors = 55,
    01834         isc_info_bpage_errors = 56,
    01835         isc_info_dpage_errors = 57,
    01836         isc_info_ipage_errors = 58,
    01837         isc_info_ppage_errors = 59,
    01838         isc_info_tpage_errors = 60,
    01839
    01840         isc_info_set_page_buffers = 61,
    01841         isc_info_db_sql_dialect = 62,
    01842         isc_info_db_read_only = 63,
    01843         isc_info_db_size_in_pages = 64,
    01844
    01845         frb_info_att_charset = 101,
    01846         isc_info_db_class = 102,
    01847         isc_info_firebird_version = 103,
    01848         isc_info_oldest_transaction = 104,
    01849         isc_info_oldest_active = 105,
    01850         isc_info_oldest_snapshot = 106,
    01851         isc_info_next_transaction = 107,
    01852         isc_info_db_provider = 108,
    01853         isc_info_active_transactions = 109,
    01854         isc_info_active_tran_count = 110,
    01855         isc_info_creation_date = 111,
    01856
    01857         isc_info_db_last_value
    01858 };
    01859
    01860 #define isc_info_version isc_info_isc_version
    01861
    01862 enum  info_db_implementations
    01863 {
    01864         isc_info_db_impl_rdb_vms = 1,
    01865         isc_info_db_impl_rdb_eln = 2,
    01866         isc_info_db_impl_rdb_eln_dev = 3,
    01867         isc_info_db_impl_rdb_vms_y = 4,
    01868         isc_info_db_impl_rdb_eln_y = 5,
    01869         isc_info_db_impl_jri = 6,
    01870         isc_info_db_impl_jsv = 7,
    01871
    01872         isc_info_db_impl_isc_apl_68K = 25,
    01873         isc_info_db_impl_isc_vax_ultr = 26,
    01874         isc_info_db_impl_isc_vms = 27,
    01875         isc_info_db_impl_isc_sun_68k = 28,
    01876         isc_info_db_impl_isc_os2 = 29,
    01877         isc_info_db_impl_isc_sun4 = 30,
    01878
    01879         isc_info_db_impl_isc_hp_ux = 31,
    01880         isc_info_db_impl_isc_sun_386i = 32,
    01881         isc_info_db_impl_isc_vms_orcl = 33,
    01882         isc_info_db_impl_isc_mac_aux = 34,
    01883         isc_info_db_impl_isc_rt_aix = 35,
    01884         isc_info_db_impl_isc_mips_ult = 36,
    01885         isc_info_db_impl_isc_xenix = 37,
    01886         isc_info_db_impl_isc_dg = 38,
    01887         isc_info_db_impl_isc_hp_mpexl = 39,
    01888         isc_info_db_impl_isc_hp_ux68K = 40,
    01889
    01890         isc_info_db_impl_isc_sgi = 41,
    01891         isc_info_db_impl_isc_sco_unix = 42,
    01892         isc_info_db_impl_isc_cray = 43,
    01893         isc_info_db_impl_isc_imp = 44,
    01894         isc_info_db_impl_isc_delta = 45,
    01895         isc_info_db_impl_isc_next = 46,
    01896         isc_info_db_impl_isc_dos = 47,
    01897         isc_info_db_impl_m88K = 48,
    01898         isc_info_db_impl_unixware = 49,
    01899         isc_info_db_impl_isc_winnt_x86 = 50,
    01900
    01901         isc_info_db_impl_isc_epson = 51,
    01902         isc_info_db_impl_alpha_osf = 52,
    01903         isc_info_db_impl_alpha_vms = 53,
    01904         isc_info_db_impl_netware_386 = 54,
    01905         isc_info_db_impl_win_only = 55,
    01906         isc_info_db_impl_ncr_3000 = 56,
    01907         isc_info_db_impl_winnt_ppc = 57,
    01908         isc_info_db_impl_dg_x86 = 58,
    01909         isc_info_db_impl_sco_ev = 59,
    01910         isc_info_db_impl_i386 = 60,
    01911
    01912         isc_info_db_impl_freebsd = 61,
    01913         isc_info_db_impl_netbsd = 62,
    01914         isc_info_db_impl_darwin = 63,
    01915         isc_info_db_impl_sinixz = 64,
    01916
    01917         isc_info_db_impl_linux_sparc = 65,
    01918         isc_info_db_impl_linux_amd64 = 66,
    01919
    01920         isc_info_db_impl_freebsd_amd64 = 67,
    01921
    01922         isc_info_db_impl_last_value
    01923 };
    01924
    01925 #define isc_info_db_impl_isc_a            isc_info_db_impl_isc_apl_68K
    01926 #define isc_info_db_impl_isc_u            isc_info_db_impl_isc_vax_ultr
    01927 #define isc_info_db_impl_isc_v            isc_info_db_impl_isc_vms
    01928 #define isc_info_db_impl_isc_s            isc_info_db_impl_isc_sun_68k
    01929
    01930 enum info_db_class
    01931 {
    01932         isc_info_db_class_access = 1,
    01933         isc_info_db_class_y_valve = 2,
    01934         isc_info_db_class_rem_int = 3,
    01935         isc_info_db_class_rem_srvr = 4,
    01936         isc_info_db_class_pipe_int = 7,
    01937         isc_info_db_class_pipe_srvr = 8,
    01938         isc_info_db_class_sam_int = 9,
    01939         isc_info_db_class_sam_srvr = 10,
    01940         isc_info_db_class_gateway = 11,
    01941         isc_info_db_class_cache = 12,
    01942         isc_info_db_class_classic_access = 13,
    01943         isc_info_db_class_server_access = 14,
    01944
    01945         isc_info_db_class_last_value
    01946 };
    01947
    01948 enum info_db_provider
    01949 {
    01950         isc_info_db_code_rdb_eln = 1,
    01951         isc_info_db_code_rdb_vms = 2,
    01952         isc_info_db_code_interbase = 3,
    01953         isc_info_db_code_firebird = 4,
    01954
    01955         isc_info_db_code_last_value
    01956 };
    01957
    01958 #define isc_info_number_messages        4
    01959 #define isc_info_max_message            5
    01960 #define isc_info_max_send               6
    01961 #define isc_info_max_receive            7
    01962 #define isc_info_state                  8
    01963 #define isc_info_message_number 9
    01964 #define isc_info_message_size           10
    01965 #define isc_info_request_cost           11
    01966 #define isc_info_access_path            12
    01967 #define isc_info_req_select_count       13
    01968 #define isc_info_req_insert_count       14
    01969 #define isc_info_req_update_count       15
    01970 #define isc_info_req_delete_count       16
    01971
    01972 #define isc_info_rsb_end                0
    01973 #define isc_info_rsb_begin              1
    01974 #define isc_info_rsb_type               2
    01975 #define isc_info_rsb_relation           3
    01976 #define isc_info_rsb_plan                       4
    01977
    01978 #define isc_info_rsb_unknown            1
    01979 #define isc_info_rsb_indexed            2
    01980 #define isc_info_rsb_navigate           3
    01981 #define isc_info_rsb_sequential 4
    01982 #define isc_info_rsb_cross              5
    01983 #define isc_info_rsb_sort               6
    01984 #define isc_info_rsb_first              7
    01985 #define isc_info_rsb_boolean            8
    01986 #define isc_info_rsb_union              9
    01987 #define isc_info_rsb_aggregate          10
    01988 #define isc_info_rsb_merge              11
    01989 #define isc_info_rsb_ext_sequential     12
    01990 #define isc_info_rsb_ext_indexed        13
    01991 #define isc_info_rsb_ext_dbkey          14
    01992 #define isc_info_rsb_left_cross 15
    01993 #define isc_info_rsb_select             16
    01994 #define isc_info_rsb_sql_join           17
    01995 #define isc_info_rsb_simulate           18
    01996 #define isc_info_rsb_sim_cross          19
    01997 #define isc_info_rsb_once               20
    01998 #define isc_info_rsb_procedure          21
    01999 #define isc_info_rsb_skip               22
    02000
    02001 #define isc_info_rsb_and                1
    02002 #define isc_info_rsb_or         2
    02003 #define isc_info_rsb_dbkey              3
    02004 #define isc_info_rsb_index              4
    02005
    02006 #define isc_info_req_active             2
    02007 #define isc_info_req_inactive           3
    02008 #define isc_info_req_send               4
    02009 #define isc_info_req_receive            5
    02010 #define isc_info_req_select             6
    02011 #define isc_info_req_sql_stall          7
    02012
    02013 #define isc_info_blob_num_segments      4
    02014 #define isc_info_blob_max_segment       5
    02015 #define isc_info_blob_total_length      6
    02016 #define isc_info_blob_type              7
    02017
    02018 #define isc_info_tra_id                                         4
    02019 #define isc_info_tra_oldest_interesting         5
    02020 #define isc_info_tra_oldest_snapshot            6
    02021 #define isc_info_tra_oldest_active                      7
    02022 #define isc_info_tra_isolation                          8
    02023 #define isc_info_tra_access                                     9
    02024 #define isc_info_tra_lock_timeout                       10
    02025
    02026 #define isc_info_tra_consistency                1
    02027 #define isc_info_tra_concurrency                2
    02028 #define isc_info_tra_read_committed             3
    02029
    02030 #define isc_info_tra_no_rec_version             0
    02031 #define isc_info_tra_rec_version                1
    02032
    02033 #define isc_info_tra_readonly   0
    02034 #define isc_info_tra_readwrite  1
    02035
    02036 #define isc_info_sql_select             4
    02037 #define isc_info_sql_bind               5
    02038 #define isc_info_sql_num_variables      6
    02039 #define isc_info_sql_describe_vars      7
    02040 #define isc_info_sql_describe_end       8
    02041 #define isc_info_sql_sqlda_seq          9
    02042 #define isc_info_sql_message_seq        10
    02043 #define isc_info_sql_type               11
    02044 #define isc_info_sql_sub_type           12
    02045 #define isc_info_sql_scale              13
    02046 #define isc_info_sql_length             14
    02047 #define isc_info_sql_null_ind           15
    02048 #define isc_info_sql_field              16
    02049 #define isc_info_sql_relation           17
    02050 #define isc_info_sql_owner              18
    02051 #define isc_info_sql_alias              19
    02052 #define isc_info_sql_sqlda_start        20
    02053 #define isc_info_sql_stmt_type          21
    02054 #define isc_info_sql_get_plan             22
    02055 #define isc_info_sql_records              23
    02056 #define isc_info_sql_batch_fetch          24
    02057 #define isc_info_sql_relation_alias             25
    02058
    02059 #define isc_info_sql_stmt_select          1
    02060 #define isc_info_sql_stmt_insert          2
    02061 #define isc_info_sql_stmt_update          3
    02062 #define isc_info_sql_stmt_delete          4
    02063 #define isc_info_sql_stmt_ddl             5
    02064 #define isc_info_sql_stmt_get_segment     6
    02065 #define isc_info_sql_stmt_put_segment     7
    02066 #define isc_info_sql_stmt_exec_procedure  8
    02067 #define isc_info_sql_stmt_start_trans     9
    02068 #define isc_info_sql_stmt_commit          10
    02069 #define isc_info_sql_stmt_rollback        11
    02070 #define isc_info_sql_stmt_select_for_upd  12
    02071 #define isc_info_sql_stmt_set_generator   13
    02072 #define isc_info_sql_stmt_savepoint       14
    02073
    02074 #endif
    02075
    02076
    02077 /*****************************
    02078  * Service action items      *
    02079  *****************************/
    02080
    02081 #define isc_action_svc_backup          1    /* Starts database backup process on the server */
    02082 #define isc_action_svc_restore         2    /* Starts database restore process on the server */
    02083 #define isc_action_svc_repair          3    /* Starts database repair process on the server */
    02084 #define isc_action_svc_add_user        4    /* Adds a new user to the security database */
    02085 #define isc_action_svc_delete_user     5    /* Deletes a user record from the security database */
    02086 #define isc_action_svc_modify_user     6    /* Modifies a user record in the security database */
    02087 #define isc_action_svc_display_user    7    /* Displays a user record from the security database */
    02088 #define isc_action_svc_properties      8    /* Sets database properties */
    02089 #define isc_action_svc_add_license     9    /* Adds a license to the license file */
    02090 #define isc_action_svc_remove_license 10    /* Removes a license from the license file */
    02091 #define isc_action_svc_db_stats        11   /* Retrieves database statistics */
    02092 #define isc_action_svc_get_ib_log     12    /* Retrieves the InterBase log file from the server */
    02093 #define isc_action_svc_get_fb_log     12    /* Retrieves the Firebird log file from the server */
    02094
    02095 /*****************************
    02096  * Service information items *
    02097  *****************************/
    02098
    02099 #define isc_info_svc_svr_db_info      50    /* Retrieves the number of attachments and databases */
    02100 #define isc_info_svc_get_license      51    /* Retrieves all license keys and IDs from the license file */
    02101 #define isc_info_svc_get_license_mask 52    /* Retrieves a bitmask representing licensed options on the server */
    02102 #define isc_info_svc_get_config       53    /* Retrieves the parameters and values for IB_CONFIG */
    02103 #define isc_info_svc_version          54    /* Retrieves the version of the services manager */
    02104 #define isc_info_svc_server_version   55    /* Retrieves the version of the InterBase server */
    02105 #define isc_info_svc_implementation   56    /* Retrieves the implementation of the InterBase server */
    02106 #define isc_info_svc_capabilities     57    /* Retrieves a bitmask representing the server's capabilities */
    02107 #define isc_info_svc_user_dbpath      58    /* Retrieves the path to the security database in use by the server */
    02108 #define isc_info_svc_get_env           59   /* Retrieves the setting of $INTERBASE */
    02109 #define isc_info_svc_get_env_lock     60    /* Retrieves the setting of $INTERBASE_LCK */
    02110 #define isc_info_svc_get_env_msg      61    /* Retrieves the setting of $INTERBASE_MSG */
    02111 #define isc_info_svc_line             62    /* Retrieves 1 line of service output per call */
    02112 #define isc_info_svc_to_eof           63    /* Retrieves as much of the server output as will fit in the supplied buffer */
    02113 #define isc_info_svc_timeout          64    /* Sets / signifies a timeout value for reading service information */
    02114 #define isc_info_svc_get_licensed_users 65  /* Retrieves the number of users licensed for accessing the server */
    02115 #define isc_info_svc_limbo_trans 66         /* Retrieve the limbo transactions */
    02116 #define isc_info_svc_running                67         /* Checks to see if a service is running on an attachment */
    02117 #define isc_info_svc_get_users              68         /* Returns the user information from isc_action_svc_display_users */
    02118
    02119 /******************************************************
    02120  * Parameters for isc_action_{add|del|mod|disp)_user  *
    02121  ******************************************************/
    02122
    02123 #define isc_spb_sec_userid            5
    02124 #define isc_spb_sec_groupid           6
    02125 #define isc_spb_sec_username          7
    02126 #define isc_spb_sec_password          8
    02127 #define isc_spb_sec_groupname         9
    02128 #define isc_spb_sec_firstname         10
    02129 #define isc_spb_sec_middlename        11
    02130 #define isc_spb_sec_lastname          12
    02131
    02132 /*******************************************************
    02133  * Parameters for isc_action_svc_(add|remove)_license, *
    02134  * isc_info_svc_get_license                            *
    02135  *******************************************************/
    02136
    02137 #define isc_spb_lic_key               5
    02138 #define isc_spb_lic_id                6
    02139 #define isc_spb_lic_desc              7
    02140
    02141
    02142 /*****************************************
    02143  * Parameters for isc_action_svc_backup  *
    02144  *****************************************/
    02145
    02146 #define isc_spb_bkp_file                 5
    02147 #define isc_spb_bkp_factor               6
    02148 #define isc_spb_bkp_length               7
    02149 #define isc_spb_bkp_ignore_checksums     0x01
    02150 #define isc_spb_bkp_ignore_limbo         0x02
    02151 #define isc_spb_bkp_metadata_only        0x04
    02152 #define isc_spb_bkp_no_garbage_collect   0x08
    02153 #define isc_spb_bkp_old_descriptions     0x10
    02154 #define isc_spb_bkp_non_transportable    0x20
    02155 #define isc_spb_bkp_convert              0x40
    02156 #define isc_spb_bkp_expand                   0x80
    02157
    02158 /********************************************
    02159  * Parameters for isc_action_svc_properties *
    02160  ********************************************/
    02161
    02162 #define isc_spb_prp_page_buffers            5
    02163 #define isc_spb_prp_sweep_interval                     6
    02164 #define isc_spb_prp_shutdown_db                        7
    02165 #define isc_spb_prp_deny_new_attachments    9
    02166 #define isc_spb_prp_deny_new_transactions   10
    02167 #define isc_spb_prp_reserve_space                      11
    02168 #define isc_spb_prp_write_mode                         12
    02169 #define isc_spb_prp_access_mode                        13
    02170 #define isc_spb_prp_set_sql_dialect                    14
    02171 #define isc_spb_prp_activate                           0x0100
    02172 #define isc_spb_prp_db_online                          0x0200
    02173
    02174 /********************************************
    02175  * Parameters for isc_spb_prp_reserve_space *
    02176  ********************************************/
    02177
    02178 #define isc_spb_prp_res_use_full 35
    02179 #define isc_spb_prp_res                                36
    02180
    02181 /******************************************
    02182  * Parameters for isc_spb_prp_write_mode  *
    02183  ******************************************/
    02184
    02185 #define isc_spb_prp_wm_async                37
    02186 #define isc_spb_prp_wm_sync                            38
    02187
    02188 /******************************************
    02189  * Parameters for isc_spb_prp_access_mode *
    02190  ******************************************/
    02191
    02192 #define isc_spb_prp_am_readonly             39
    02193 #define isc_spb_prp_am_readwrite 40
    02194
    02195 /*****************************************
    02196  * Parameters for isc_action_svc_repair  *
    02197  *****************************************/
    02198
    02199 #define isc_spb_rpr_commit_trans            15
    02200 #define isc_spb_rpr_rollback_trans                     34
    02201 #define isc_spb_rpr_recover_two_phase       17
    02202 #define isc_spb_tra_id                                                       18
    02203 #define isc_spb_single_tra_id                          19
    02204 #define isc_spb_multi_tra_id                           20
    02205 #define isc_spb_tra_state                                         21
    02206 #define isc_spb_tra_state_limbo                        22
    02207 #define isc_spb_tra_state_commit            23
    02208 #define isc_spb_tra_state_rollback                     24
    02209 #define isc_spb_tra_state_unknown                      25
    02210 #define isc_spb_tra_host_site                          26
    02211 #define isc_spb_tra_remote_site                        27
    02212 #define isc_spb_tra_db_path                                       28
    02213 #define isc_spb_tra_advise                                        29
    02214 #define isc_spb_tra_advise_commit                      30
    02215 #define isc_spb_tra_advise_rollback                    31
    02216 #define isc_spb_tra_advise_unknown                     33
    02217
    02218 #define isc_spb_rpr_validate_db                        0x01
    02219 #define isc_spb_rpr_sweep_db                           0x02
    02220 #define isc_spb_rpr_mend_db                                       0x04
    02221 #define isc_spb_rpr_list_limbo_trans        0x08
    02222 #define isc_spb_rpr_check_db                           0x10
    02223 #define isc_spb_rpr_ignore_checksum                    0x20
    02224 #define isc_spb_rpr_kill_shadows            0x40
    02225 #define isc_spb_rpr_full                                          0x80
    02226
    02227 /*****************************************
    02228  * Parameters for isc_action_svc_restore *
    02229  *****************************************/
    02230
    02231 #define isc_spb_res_buffers                                       9
    02232 #define isc_spb_res_page_size                          10
    02233 #define isc_spb_res_length                                        11
    02234 #define isc_spb_res_access_mode                        12
    02235 #define isc_spb_res_deactivate_idx                     0x0100
    02236 #define isc_spb_res_no_shadow                          0x0200
    02237 #define isc_spb_res_no_validity                        0x0400
    02238 #define isc_spb_res_one_at_a_time                      0x0800
    02239 #define isc_spb_res_replace                                       0x1000
    02240 #define isc_spb_res_create                                        0x2000
    02241 #define isc_spb_res_use_all_space                      0x4000
    02242
    02243 /******************************************
    02244  * Parameters for isc_spb_res_access_mode  *
    02245  ******************************************/
    02246
    02247 #define isc_spb_res_am_readonly                        isc_spb_prp_am_readonly
    02248 #define isc_spb_res_am_readwrite            isc_spb_prp_am_readwrite
    02249
    02250 /*******************************************
    02251  * Parameters for isc_info_svc_svr_db_info *
    02252  *******************************************/
    02253
    02254 #define isc_spb_num_att                                5
    02255 #define isc_spb_num_db                                 6
    02256
    02257 /*****************************************
    02258  * Parameters for isc_info_svc_db_stats  *
    02259  *****************************************/
    02260
    02261 #define isc_spb_sts_data_pages              0x01
    02262 #define isc_spb_sts_db_log                             0x02
    02263 #define isc_spb_sts_hdr_pages               0x04
    02264 #define isc_spb_sts_idx_pages               0x08
    02265 #define isc_spb_sts_sys_relations           0x10
    02266 #define isc_spb_sts_record_versions         0x20
    02267 #define isc_spb_sts_table                              0x40
    02268 #define isc_spb_sts_nocreation              0x80
    02269
    02270 /***********************************/
    02271 /* Server configuration key values */
    02272 /***********************************/
    02273
    02274 /* Not available in Firebird 1.5 */
    02275
    02276
    02277 /**********************************************/
    02278 /* Dynamic Data Definition Language operators */
    02279 /**********************************************/
    02280
    02281 /******************/
    02282 /* Version number */
    02283 /******************/
    02284
    02285 #define isc_dyn_version_1                 1
    02286 #define isc_dyn_eoc                       255
    02287
    02288 /******************************/
    02289 /* Operations (may be nested) */
    02290 /******************************/
    02291
    02292 #define isc_dyn_begin                     2
    02293 #define isc_dyn_end                       3
    02294 #define isc_dyn_if                        4
    02295 #define isc_dyn_def_database              5
    02296 #define isc_dyn_def_global_fld            6
    02297 #define isc_dyn_def_local_fld             7
    02298 #define isc_dyn_def_idx                   8
    02299 #define isc_dyn_def_rel                   9
    02300 #define isc_dyn_def_sql_fld               10
    02301 #define isc_dyn_def_view                  12
    02302 #define isc_dyn_def_trigger               15
    02303 #define isc_dyn_def_security_class        120
    02304 #define isc_dyn_def_dimension             140
    02305 #define isc_dyn_def_generator             24
    02306 #define isc_dyn_def_function              25
    02307 #define isc_dyn_def_filter                26
    02308 #define isc_dyn_def_function_arg          27
    02309 #define isc_dyn_def_shadow                34
    02310 #define isc_dyn_def_trigger_msg           17
    02311 #define isc_dyn_def_file                  36
    02312 #define isc_dyn_mod_database              39
    02313 #define isc_dyn_mod_rel                   11
    02314 #define isc_dyn_mod_global_fld            13
    02315 #define isc_dyn_mod_idx                   102
    02316 #define isc_dyn_mod_local_fld             14
    02317 #define isc_dyn_mod_sql_fld                   216
    02318 #define isc_dyn_mod_view                  16
    02319 #define isc_dyn_mod_security_class        122
    02320 #define isc_dyn_mod_trigger               113
    02321 #define isc_dyn_mod_trigger_msg           28
    02322 #define isc_dyn_delete_database           18
    02323 #define isc_dyn_delete_rel                19
    02324 #define isc_dyn_delete_global_fld         20
    02325 #define isc_dyn_delete_local_fld          21
    02326 #define isc_dyn_delete_idx                22
    02327 #define isc_dyn_delete_security_class     123
    02328 #define isc_dyn_delete_dimensions         143
    02329 #define isc_dyn_delete_trigger            23
    02330 #define isc_dyn_delete_trigger_msg        29
    02331 #define isc_dyn_delete_filter             32
    02332 #define isc_dyn_delete_function           33
    02333 #define isc_dyn_delete_shadow             35
    02334 #define isc_dyn_grant                     30
    02335 #define isc_dyn_revoke                    31
    02336 #define isc_dyn_def_primary_key           37
    02337 #define isc_dyn_def_foreign_key           38
    02338 #define isc_dyn_def_unique                40
    02339 #define isc_dyn_def_procedure             164
    02340 #define isc_dyn_delete_procedure          165
    02341 #define isc_dyn_def_parameter             135
    02342 #define isc_dyn_delete_parameter          136
    02343 #define isc_dyn_mod_procedure             175
    02344 /* Deprecated.
    02345 #define isc_dyn_def_log_file              176
    02346 #define isc_dyn_def_cache_file            180
    02347 */
    02348 #define isc_dyn_def_exception             181
    02349 #define isc_dyn_mod_exception             182
    02350 #define isc_dyn_del_exception             183
    02351 /* Deprecated.
    02352 #define isc_dyn_drop_log                  194
    02353 #define isc_dyn_drop_cache                195
    02354 #define isc_dyn_def_default_log           202
    02355 */
    02356 #define isc_dyn_def_difference            220
    02357 #define isc_dyn_drop_difference           221
    02358 #define isc_dyn_begin_backup              222
    02359 #define isc_dyn_end_backup                223
    02360
    02361 /***********************/
    02362 /* View specific stuff */
    02363 /***********************/
    02364
    02365 #define isc_dyn_view_blr                  43
    02366 #define isc_dyn_view_source               44
    02367 #define isc_dyn_view_relation             45
    02368 #define isc_dyn_view_context              46
    02369 #define isc_dyn_view_context_name         47
    02370
    02371 /**********************/
    02372 /* Generic attributes */
    02373 /**********************/
    02374
    02375 #define isc_dyn_rel_name                  50
    02376 #define isc_dyn_fld_name                  51
    02377 #define isc_dyn_new_fld_name                  215
    02378 #define isc_dyn_idx_name                  52
    02379 #define isc_dyn_description               53
    02380 #define isc_dyn_security_class            54
    02381 #define isc_dyn_system_flag               55
    02382 #define isc_dyn_update_flag               56
    02383 #define isc_dyn_prc_name                  166
    02384 #define isc_dyn_prm_name                  137
    02385 #define isc_dyn_sql_object                196
    02386 #define isc_dyn_fld_character_set_name    174
    02387
    02388 /********************************/
    02389 /* Relation specific attributes */
    02390 /********************************/
    02391
    02392 #define isc_dyn_rel_dbkey_length          61
    02393 #define isc_dyn_rel_store_trig            62
    02394 #define isc_dyn_rel_modify_trig           63
    02395 #define isc_dyn_rel_erase_trig            64
    02396 #define isc_dyn_rel_store_trig_source     65
    02397 #define isc_dyn_rel_modify_trig_source    66
    02398 #define isc_dyn_rel_erase_trig_source     67
    02399 #define isc_dyn_rel_ext_file              68
    02400 #define isc_dyn_rel_sql_protection        69
    02401 #define isc_dyn_rel_constraint            162
    02402 #define isc_dyn_delete_rel_constraint     163
    02403
    02404 /************************************/
    02405 /* Global field specific attributes */
    02406 /************************************/
    02407
    02408 #define isc_dyn_fld_type                  70
    02409 #define isc_dyn_fld_length                71
    02410 #define isc_dyn_fld_scale                 72
    02411 #define isc_dyn_fld_sub_type              73
    02412 #define isc_dyn_fld_segment_length        74
    02413 #define isc_dyn_fld_query_header          75
    02414 #define isc_dyn_fld_edit_string           76
    02415 #define isc_dyn_fld_validation_blr        77
    02416 #define isc_dyn_fld_validation_source     78
    02417 #define isc_dyn_fld_computed_blr          79
    02418 #define isc_dyn_fld_computed_source       80
    02419 #define isc_dyn_fld_missing_value         81
    02420 #define isc_dyn_fld_default_value         82
    02421 #define isc_dyn_fld_query_name            83
    02422 #define isc_dyn_fld_dimensions            84
    02423 #define isc_dyn_fld_not_null              85
    02424 #define isc_dyn_fld_precision             86
    02425 #define isc_dyn_fld_char_length           172
    02426 #define isc_dyn_fld_collation             173
    02427 #define isc_dyn_fld_default_source        193
    02428 #define isc_dyn_del_default               197
    02429 #define isc_dyn_del_validation            198
    02430 #define isc_dyn_single_validation         199
    02431 #define isc_dyn_fld_character_set         203
    02432
    02433 /***********************************/
    02434 /* Local field specific attributes */
    02435 /***********************************/
    02436
    02437 #define isc_dyn_fld_source                90
    02438 #define isc_dyn_fld_base_fld              91
    02439 #define isc_dyn_fld_position              92
    02440 #define isc_dyn_fld_update_flag           93
    02441
    02442 /*****************************/
    02443 /* Index specific attributes */
    02444 /*****************************/
    02445
    02446 #define isc_dyn_idx_unique                100
    02447 #define isc_dyn_idx_inactive              101
    02448 #define isc_dyn_idx_type                  103
    02449 #define isc_dyn_idx_foreign_key           104
    02450 #define isc_dyn_idx_ref_column            105
    02451 #define isc_dyn_idx_statistic                 204
    02452
    02453 /*******************************/
    02454 /* Trigger specific attributes */
    02455 /*******************************/
    02456
    02457 #define isc_dyn_trg_type                  110
    02458 #define isc_dyn_trg_blr                   111
    02459 #define isc_dyn_trg_source                112
    02460 #define isc_dyn_trg_name                  114
    02461 #define isc_dyn_trg_sequence              115
    02462 #define isc_dyn_trg_inactive              116
    02463 #define isc_dyn_trg_msg_number            117
    02464 #define isc_dyn_trg_msg                   118
    02465
    02466 /**************************************/
    02467 /* Security Class specific attributes */
    02468 /**************************************/
    02469
    02470 #define isc_dyn_scl_acl                   121
    02471 #define isc_dyn_grant_user                130
    02472 #define isc_dyn_grant_user_explicit       219
    02473 #define isc_dyn_grant_proc                186
    02474 #define isc_dyn_grant_trig                187
    02475 #define isc_dyn_grant_view                188
    02476 #define isc_dyn_grant_options             132
    02477 #define isc_dyn_grant_user_group          205
    02478 #define isc_dyn_grant_role                218
    02479
    02480
    02481 /**********************************/
    02482 /* Dimension specific information */
    02483 /**********************************/
    02484
    02485 #define isc_dyn_dim_lower                 141
    02486 #define isc_dyn_dim_upper                 142
    02487
    02488 /****************************/
    02489 /* File specific attributes */
    02490 /****************************/
    02491
    02492 #define isc_dyn_file_name                 125
    02493 #define isc_dyn_file_start                126
    02494 #define isc_dyn_file_length               127
    02495 #define isc_dyn_shadow_number             128
    02496 #define isc_dyn_shadow_man_auto           129
    02497 #define isc_dyn_shadow_conditional        130
    02498
    02499 /********************************/
    02500 /* Log file specific attributes */
    02501 /********************************/
    02502 /* Deprecated.
    02503 #define isc_dyn_log_file_sequence         177
    02504 #define isc_dyn_log_file_partitions       178
    02505 #define isc_dyn_log_file_serial           179
    02506 #define isc_dyn_log_file_overflow         200
    02507 #define isc_dyn_log_file_raw                  201
    02508 */
    02509
    02510 /***************************/
    02511 /* Log specific attributes */
    02512 /***************************/
    02513 /* Deprecated.
    02514 #define isc_dyn_log_group_commit_wait     189
    02515 #define isc_dyn_log_buffer_size           190
    02516 #define isc_dyn_log_check_point_length    191
    02517 #define isc_dyn_log_num_of_buffers        192
    02518 */
    02519
    02520 /********************************/
    02521 /* Function specific attributes */
    02522 /********************************/
    02523
    02524 #define isc_dyn_function_name             145
    02525 #define isc_dyn_function_type             146
    02526 #define isc_dyn_func_module_name          147
    02527 #define isc_dyn_func_entry_point          148
    02528 #define isc_dyn_func_return_argument      149
    02529 #define isc_dyn_func_arg_position         150
    02530 #define isc_dyn_func_mechanism            151
    02531 #define isc_dyn_filter_in_subtype         152
    02532 #define isc_dyn_filter_out_subtype        153
    02533
    02534
    02535 #define isc_dyn_description2                  154
    02536 #define isc_dyn_fld_computed_source2          155
    02537 #define isc_dyn_fld_edit_string2   156
    02538 #define isc_dyn_fld_query_header2             157
    02539 #define isc_dyn_fld_validation_source2        158
    02540 #define isc_dyn_trg_msg2                      159
    02541 #define isc_dyn_trg_source2                   160
    02542 #define isc_dyn_view_source2                  161
    02543 #define isc_dyn_xcp_msg2                      184
    02544
    02545 /*********************************/
    02546 /* Generator specific attributes */
    02547 /*********************************/
    02548
    02549 #define isc_dyn_generator_name            95
    02550 #define isc_dyn_generator_id              96
    02551
    02552 /*********************************/
    02553 /* Procedure specific attributes */
    02554 /*********************************/
    02555
    02556 #define isc_dyn_prc_inputs                167
    02557 #define isc_dyn_prc_outputs               168
    02558 #define isc_dyn_prc_source                169
    02559 #define isc_dyn_prc_blr                   170
    02560 #define isc_dyn_prc_source2               171
    02561
    02562 /*********************************/
    02563 /* Parameter specific attributes */
    02564 /*********************************/
    02565
    02566 #define isc_dyn_prm_number                138
    02567 #define isc_dyn_prm_type                  139
    02568
    02569 /********************************/
    02570 /* Relation specific attributes */
    02571 /********************************/
    02572
    02573 #define isc_dyn_xcp_msg                   185
    02574
    02575 /**********************************************/
    02576 /* Cascading referential integrity values     */
    02577 /**********************************************/
    02578 #define isc_dyn_foreign_key_update        205
    02579 #define isc_dyn_foreign_key_delete        206
    02580 #define isc_dyn_foreign_key_cascade       207
    02581 #define isc_dyn_foreign_key_default       208
    02582 #define isc_dyn_foreign_key_null          209
    02583 #define isc_dyn_foreign_key_none          210
    02584
    02585 /***********************/
    02586 /* SQL role values     */
    02587 /***********************/
    02588 #define isc_dyn_def_sql_role              211
    02589 #define isc_dyn_sql_role_name             212
    02590 #define isc_dyn_grant_admin_options       213
    02591 #define isc_dyn_del_sql_role              214
    02592 /* 215 & 216 are used some lines above. */
    02593
    02594 /**********************************************/
    02595 /* Generators again                           */
    02596 /**********************************************/
    02597
    02598 #define isc_dyn_delete_generator          217
    02599
    02600 // New for comments in objects.
    02601 #define isc_dyn_mod_function              224
    02602 #define isc_dyn_mod_filter                225
    02603 #define isc_dyn_mod_generator             226
    02604 #define isc_dyn_mod_sql_role              227
    02605 #define isc_dyn_mod_charset               228
    02606 #define isc_dyn_mod_collation             229
    02607 #define isc_dyn_mod_prc_parameter         230
    02608
    02609 /***********************/
    02610 /* collation values     */
    02611 /***********************/
    02612 #define isc_dyn_def_collation                                                           231
    02613 #define isc_dyn_coll_for_charset                                             232
    02614 #define isc_dyn_coll_from                                                                          233
    02615 #define isc_dyn_coll_attribute                                                          234
    02616 #define isc_dyn_coll_specific_attributes_charset       235
    02617 #define isc_dyn_coll_specific_attributes                          236
    02618 #define isc_dyn_del_collation                                                           237
    02619
    02620 /****************************/
    02621 /* Last $dyn value assigned */
    02622 /****************************/
    02623
    02624 #define isc_dyn_last_dyn_value            237
    02625
    02626 /******************************************/
    02627 /* Array slice description language (SDL) */
    02628 /******************************************/
    02629
    02630 #define isc_sdl_version1                  1
    02631 #define isc_sdl_eoc                       255
    02632 #define isc_sdl_relation                  2
    02633 #define isc_sdl_rid                       3
    02634 #define isc_sdl_field                     4
    02635 #define isc_sdl_fid                       5
    02636 #define isc_sdl_struct                    6
    02637 #define isc_sdl_variable                  7
    02638 #define isc_sdl_scalar                    8
    02639 #define isc_sdl_tiny_integer              9
    02640 #define isc_sdl_short_integer             10
    02641 #define isc_sdl_long_integer              11
    02642 #define isc_sdl_literal                   12
    02643 #define isc_sdl_add                       13
    02644 #define isc_sdl_subtract                  14
    02645 #define isc_sdl_multiply                  15
    02646 #define isc_sdl_divide                    16
    02647 #define isc_sdl_negate                    17
    02648 #define isc_sdl_eql                       18
    02649 #define isc_sdl_neq                       19
    02650 #define isc_sdl_gtr                       20
    02651 #define isc_sdl_geq                       21
    02652 #define isc_sdl_lss                       22
    02653 #define isc_sdl_leq                       23
    02654 #define isc_sdl_and                       24
    02655 #define isc_sdl_or                        25
    02656 #define isc_sdl_not                       26
    02657 #define isc_sdl_while                     27
    02658 #define isc_sdl_assignment                28
    02659 #define isc_sdl_label                     29
    02660 #define isc_sdl_leave                     30
    02661 #define isc_sdl_begin                     31
    02662 #define isc_sdl_end                       32
    02663 #define isc_sdl_do3                       33
    02664 #define isc_sdl_do2                       34
    02665 #define isc_sdl_do1                       35
    02666 #define isc_sdl_element                   36
    02667
    02668 /********************************************/
    02669 /* International text interpretation values */
    02670 /********************************************/
    02671
    02672 #define isc_interp_eng_ascii              0
    02673 #define isc_interp_jpn_sjis               5
    02674 #define isc_interp_jpn_euc                6
    02675
    02676 /*****************/
    02677 /* Blob Subtypes */
    02678 /*****************/
    02679
    02680 /* types less than zero are reserved for customer use */
    02681
    02682 #define isc_blob_untyped                   0
    02683
    02684 /* internal subtypes */
    02685
    02686 #define isc_blob_text                      1
    02687 #define isc_blob_blr                       2
    02688 #define isc_blob_acl                       3
    02689 #define isc_blob_ranges                    4
    02690 #define isc_blob_summary                   5
    02691 #define isc_blob_format                    6
    02692 #define isc_blob_tra                       7
    02693 #define isc_blob_extfile                   8
    02694 #define isc_blob_max_predefined_subtype    9
    02695
    02696 /* the range 20-30 is reserved for dBASE and Paradox types */
    02697
    02698 #define isc_blob_formatted_memo            20
    02699 #define isc_blob_paradox_ole               21
    02700 #define isc_blob_graphic                   22
    02701 #define isc_blob_dbase_ole                 23
    02702 #define isc_blob_typed_binary              24
    02703
    02704 /* Deprecated definitions maintained for compatibility only */
    02705
    02706 #define isc_info_db_SQL_dialect           62
    02707 #define isc_dpb_SQL_dialect               63
    02708 #define isc_dpb_set_db_SQL_dialect        65
    02709
    02710
    02711 #include "iberror.h"
    02712
    02713 #endif /* JRD_IBASE_H */
    02714

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines