/* * MODULE: ibase.h * DESCRIPTION: OSRI entrypoints and defines * * Copyright (C) 1986-2010 Embarcadero Technologies Inc. * All Rights Reserved. */ #ifndef _JRD_IBASE_H_ #define _JRD_IBASE_H_ #ifndef HARBOR_MERGE #define HARBOR_MERGE #endif #define isc_version4 #define ISC_TRUE 1 #define ISC_FALSE 0 #if !(defined __cplusplus) #define ISC__TRUE ISC_TRUE #define ISC__FALSE ISC_FALSE #endif /* UNIX 64-bit platform defines, if needed #if (defined __osf__ && defined __alpha) || \ (defined __sparc && defined __sparcv9) || \ (defined __APPLE_CC__ && defined __x86_64__) || \ (defined LINUX && defined __x86_64__) */ #define ISC_LONG int #define ISC_ULONG unsigned int #ifndef ISC_BOOLEAN #define ISC_BOOLEAN signed short #endif #define ISC_USHORT unsigned short #if (defined _WIN32 || defined _WIN64) #include #if (defined __BORLANDC__ && __BORLANDC__ >= 0x0560) #include #endif #else #include #endif #if (defined(__BORLANDC__) && defined(__WIN32__)) typedef long ISC_STATUS; #elif (defined(__BORLANDC__) && defined(_WIN64)) typedef long long ISC_STATUS; #else #if !defined(_INTPTR_T_DEFINED) && !defined(SA_HAVE_STDINT_H) #if defined(_WIN64) typedef __int64 intptr_t; typedef unsigned __int64 uintptr_t; #else typedef long intptr_t; typedef unsigned long uintptr_t; #endif #endif typedef intptr_t ISC_STATUS; #endif /* START CONVERT TAG */ #define DSQL_close 1 #define DSQL_drop 2 #define DSQL_cancel 4 #define METADATALENGTH 68 /* END CONVERT TAG */ /******************************************************************/ /* Define type, export and other stuff based on c/c++ and Windows */ /******************************************************************/ #if (defined(_MSC_VER) && defined(_WIN32)) || \ (defined(__BORLANDC__) && (defined(__WIN32__) || defined(__OS2__))) || \ (defined(_WIN64)) #define ISC_FAR #define ISC_EXPORT __stdcall #define ISC_EXPORT_VARARG __cdecl typedef __int64 ISC_INT64; typedef unsigned __int64 ISC_UINT64; #define ISC_INT64_DEFINED #else /* Not Windows/NT */ #if (defined(__IBMC__) && defined(__OS2__)) #define ISC_FAR #define ISC_EXPORT _System #define ISC_EXPORT_VARARG ISC_EXPORT #else /* not IBM C Set++ for OS/2 */ #if ( defined( _Windows) || defined( _WINDOWS)) #define ISC_FAR #define ISC_EXPORT ISC_FAR __cdecl __export #define ISC_EXPORT_VARARG ISC_EXPORT #else /* Not Windows/NT, OS/2 or Windows */ #define ISC_FAR #define ISC_EXPORT #define ISC_EXPORT_VARARG #endif /* Windows and Not Windows/NT or OS/2 */ #endif /* IBM C Set++ for OS/2 */ #endif /* Windows/NT */ /*******************************************************************/ /* 64 bit Integers */ /*******************************************************************/ #ifndef ISC_INT64_DEFINED typedef long long int ISC_INT64; typedef unsigned long long int ISC_UINT64; #else #undef ISC_INT64_DEFINED #endif /*******************************************************************/ /* Time & Date Support */ /*******************************************************************/ #ifndef _ISC_TIMESTAMP_ typedef ISC_LONG ISC_DATE; typedef ISC_ULONG ISC_TIME; typedef struct isc_timestamp{ ISC_DATE timestamp_date; ISC_TIME timestamp_time; } ISC_TIMESTAMP; #define _ISC_TIMESTAMP_ 1 #endif #define ISC_TIME_SECONDS_PRECISION 10000L #define ISC_TIME_SECONDS_PRECISION_SCALE -4 /*******************************************************************/ /* Blob id structure */ /*******************************************************************/ typedef struct { ISC_LONG gds_quad_high; unsigned ISC_LONG gds_quad_low; } GDS_QUAD; //#if !(defined __cplusplus || defined DEFINED_GDS_QUAD) #if !(defined DEFINED_GDS_QUAD) typedef GDS_QUAD GDS__QUAD; #define DEFINED_GDS_QUAD #endif /* !(defined __cplusplus) */ #define ISC_QUAD GDS_QUAD #define isc_quad_high gds_quad_high #define isc_quad_low gds_quad_low typedef struct { short array_bound_lower; short array_bound_upper; } ISC_ARRAY_BOUND; typedef struct { short array_desc_version; unsigned char array_desc_dtype; unsigned char array_desc_subtype; char array_desc_scale; unsigned short array_desc_length; char array_desc_field_name [METADATALENGTH]; char array_desc_relation_name [METADATALENGTH]; short array_desc_dimensions; short array_desc_flags; ISC_ARRAY_BOUND array_desc_bounds [16]; } ISC_ARRAY_DESC_V2; #define ARR_DESC_VERSION2 2 #define ARR_DESC_CURRENT_VERSION ARR_DESC_VERSION2 typedef struct { short blob_desc_version; short blob_desc_subtype; short blob_desc_charset; short blob_desc_segment_size; unsigned char blob_desc_field_name [METADATALENGTH]; unsigned char blob_desc_relation_name [METADATALENGTH]; } ISC_BLOB_DESC_V2; #define BLB_DESC_VERSION2 2 #define BLB_DESC_CURRENT_VERSION BLB_DESC_VERSION2 /*********************************/ /* Descriptor control structure */ /*********************************/ typedef struct isc_dsc { unsigned char dsc_version; unsigned char dsc_dtype; char dsc_scale; char dsc_precision; unsigned short dsc_length; short dsc_sub_type; unsigned short dsc_flags; short dsc_encryption; unsigned char *dsc_address; } ISC_DSC; #define DSC_VERSION2 2 #define DSC_CURRENT_VERSION DSC_VERSION2 #define DSC_VERSION1_TO_CURRENT 0 #define DSC_CURRENT_TO_VERSION1 1 /* values for dsc_flags */ /* Note: DSC_null is only reliably set for local variables (blr_variable) */ #define DSC_null 1 #define DSC_no_subtype 2 /* dsc has no sub type specified */ #define DSC_nullable 4 /* not stored. instead, is derived from metadata primarily to flag SQLDA (in DSQL) */ #define DSC_system 8 /* dsc for system field */ /* Overload text typing information into the dsc_sub_type field. See intl.h for definitions of text types */ #ifndef dsc_ttype #define dsc_ttype dsc_sub_type #endif #define DSC_GET_CHARSET(dsc) (((dsc)->dsc_ttype) & 0x00FF) #define DSC_GET_COLLATE(dsc) (((dsc)->dsc_ttype) >> 8) /***************************/ /* Blob control structure */ /***************************/ typedef struct isc_blob_ctl{ ISC_STATUS (ISC_FAR *ctl_source)(); /* Source filter */ struct isc_blob_ctl ISC_FAR *ctl_source_handle; /* Argument to pass to source */ /* filter */ short ctl_to_sub_type; /* Target type */ short ctl_from_sub_type; /* Source type */ unsigned short ctl_buffer_length; /* Length of buffer */ unsigned short ctl_segment_length; /* Length of current segment */ unsigned short ctl_bpb_length; /* Length of blob parameter */ /* block */ char ISC_FAR *ctl_bpb; /* Address of blob parameter */ /* block */ unsigned char ISC_FAR *ctl_buffer; /* Address of segment buffer */ ISC_LONG ctl_max_segment; /* Length of longest segment */ ISC_LONG ctl_number_segments; /* Total number of segments */ ISC_LONG ctl_total_length; /* Total length of blob */ ISC_STATUS ISC_FAR *ctl_status; /* Address of status vector */ #if (defined(__BORLANDC__) && defined(__WIN32__)) long ctl_data [8]; /* Application specific data */ #elif (defined(__BORLANDC__) && defined(_WIN64)) long long ctl_data [8]; #else intptr_t ctl_data [8]; /* Application specific data */ #endif } ISC_FAR *ISC_BLOB_CTL; /***************************/ /* Blob stream definitions */ /***************************/ typedef struct bstream { void ISC_FAR *bstr_blob; /* Blob handle */ char ISC_FAR *bstr_buffer; /* Address of buffer */ char ISC_FAR *bstr_ptr; /* Next character */ short bstr_length; /* Length of buffer */ short bstr_cnt; /* Characters in buffer */ char bstr_mode; /* (mode) ? OUTPUT : INPUT */ } BSTREAM; #define getb(p) (--(p)->bstr_cnt >= 0 ? *(p)->bstr_ptr++ & 0377: BLOB_get (p)) #define putb(x,p) (((x) == '\n' || (!(--(p)->bstr_cnt))) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x)))) #define putbx(x,p) ((!(--(p)->bstr_cnt)) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x)))) /*********************************************************************** * Older and obsolete XSQLVAR_V1, ISC_BLOB_DESC, ISC_ARRAY_DESC structures. * NOTE: The older structures above are now deprecated and are * provided here only for backward compatibility. * Please refrain from using these old structures. * It is strongly recommended to use the newer SQLDA version * and related XSQLVAR, ISC_BLOB_DESC_V2, ISC_ARRAY_DESC_V2 structures. ***********************************************************************/ typedef struct { short sqltype; /* datatype of field */ short sqlscale; /* scale factor */ short sqlsubtype; /* datatype subtype */ short sqllen; /* length of data area */ char ISC_FAR *sqldata; /* address of data */ short ISC_FAR *sqlind; /* address of indicator variable */ short sqlname_length; /* length of sqlname field */ char sqlname [32]; /* name of field, name length + space */ /* for NULL */ short relname_length; /* length of relation name */ char relname [32]; /* field's relation name + space for */ /* NULL */ short ownname_length; /* length of owner name */ char ownname [32]; /* relation's owner name + space for */ /* NULL */ short aliasname_length; /* length of alias name */ char aliasname [32]; /* relation's alias name + space for */ /* NULL */ } XSQLVAR_V1; #define SQLDA_VERSION1 1 typedef struct { unsigned char array_desc_dtype; char array_desc_scale; unsigned short array_desc_length; char array_desc_field_name [32]; char array_desc_relation_name [32]; short array_desc_dimensions; short array_desc_flags; ISC_ARRAY_BOUND array_desc_bounds [16]; } ISC_ARRAY_DESC; typedef struct { short blob_desc_subtype; short blob_desc_charset; short blob_desc_segment_size; unsigned char blob_desc_field_name [32]; unsigned char blob_desc_relation_name [32]; } ISC_BLOB_DESC; /***********************************************/ /***************************/ /* Dynamic SQL definitions */ /***************************/ /******************************/ /* Declare the extended SQLDA */ /******************************/ typedef struct { short sqltype; /* datatype of field */ short sqlscale; /* scale factor */ short sqlprecision; /* precision : Reserved for future */ short sqlsubtype; /* datatype subtype */ short sqllen; /* length of data area */ char ISC_FAR *sqldata; /* address of data */ short ISC_FAR *sqlind; /* address of indicator variable */ short sqlname_length; /* length of sqlname field */ char sqlname [METADATALENGTH]; /* name of field, name length + space */ /* for NULL */ short relname_length; /* length of relation name */ char relname [METADATALENGTH]; /* field's relation name + space for */ /* NULL */ short ownname_length; /* length of owner name */ char ownname [METADATALENGTH]; /* relation's owner name + space for */ /* NULL */ short aliasname_length; /* length of alias name */ char aliasname [METADATALENGTH]; /* relation's alias name + space for */ /* NULL */ } XSQLVAR; typedef struct { short version; /* version of this XSQLDA */ char sqldaid [8]; /* XSQLDA name field */ ISC_LONG sqldabc; /* length in bytes of SQLDA */ short sqln; /* number of fields allocated */ short sqld; /* actual number of fields */ XSQLVAR sqlvar[1]; /* first field address */ } XSQLDA; #define SQLDA_VERSION2 2 #define SQLDA_CURRENT_VERSION SQLDA_VERSION2 #define XSQLDA_LENGTH(n) (sizeof (XSQLDA) + (n-1) * sizeof (XSQLVAR)) #define XSQLVAR_LENGTH(num_rows, num_vars) (sizeof(XSQLVAR) * num_rows * num_vars) /* START CONVERT TAG */ #define SQL_DIALECT_V5 1 /* meaning is same as DIALECT_xsqlda */ #define SQL_DIALECT_V6_TRANSITION 2 /* flagging anything that is delimited by double quotes as an error and flagging keyword DATE as an error */ #define SQL_DIALECT_V6 3 /* supports SQL delimited identifier, SQLDATE/DATE, TIME, TIMESTAMP, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, and 64-bit exact numeric type */ #define SQL_DIALECT_CURRENT SQL_DIALECT_V6 /* latest IB DIALECT */ /* END CONVERT TAG */ /* START CONVERT TAG */ /* Bit flag definitions for SQLVAR.sqlind output variable */ #define SQLIND_NULL (short) (1 << 15) #define SQLIND_INSERT (1 << 0) #define SQLIND_UPDATE (1 << 1) #define SQLIND_DELETE (1 << 2) #define SQLIND_CHANGE (1 << 3) #define SQLIND_TRUNCATE (1 << 4) #define SQLIND_CHANGE_VIEW (1 << 5) /* END CONVERT TAG */ /********************************/ /* InterBase Handle Definitions */ /********************************/ typedef void ISC_FAR *isc_att_handle; typedef void ISC_FAR *isc_blob_handle; typedef void ISC_FAR *isc_db_handle; typedef void ISC_FAR *isc_form_handle; typedef void ISC_FAR *isc_req_handle; typedef void ISC_FAR *isc_stmt_handle; typedef void ISC_FAR *isc_svc_handle; typedef void ISC_FAR *isc_tr_handle; typedef void ISC_FAR *isc_win_handle; typedef void (ISC_FAR *isc_callback)(); typedef ISC_LONG isc_resv_handle; /***************************/ /* OSRI database functions */ /***************************/ #if defined(__cplusplus) || defined(__STDC__) || defined(_Windows) || \ (defined(_MSC_VER) && defined(_WIN32)) || defined( _WINDOWS) || \ (defined(__BORLANDC__) && (defined(__WIN32__) || defined(__OS2__))) || \ (defined(_WIN64)) || \ (defined(__IBMC__) && defined(__OS2__)) || defined(AIX_PPC) #ifdef __cplusplus extern "C" { #endif ISC_STATUS ISC_EXPORT isc_attach_database (ISC_STATUS ISC_FAR *, short, char ISC_FAR *, isc_db_handle ISC_FAR *, short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_gen_sdl (ISC_STATUS ISC_FAR *, ISC_ARRAY_DESC ISC_FAR *, short ISC_FAR *, char ISC_FAR *, short ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_gen_sdl2 (ISC_STATUS ISC_FAR *, ISC_ARRAY_DESC_V2 ISC_FAR *, short ISC_FAR *, char ISC_FAR *, short ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_get_slice (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, ISC_QUAD ISC_FAR *, ISC_ARRAY_DESC ISC_FAR *, void ISC_FAR *, ISC_LONG ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_get_slice2 (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, ISC_QUAD ISC_FAR *, ISC_ARRAY_DESC_V2 ISC_FAR *, void ISC_FAR *, ISC_LONG ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_lookup_bounds (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, char ISC_FAR *, ISC_ARRAY_DESC ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_lookup_bounds2 (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, char ISC_FAR *, ISC_ARRAY_DESC_V2 ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_lookup_desc (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, char ISC_FAR *, ISC_ARRAY_DESC ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_lookup_desc2 (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, char ISC_FAR *, ISC_ARRAY_DESC_V2 ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_set_desc (ISC_STATUS ISC_FAR *, char ISC_FAR *, char ISC_FAR *, short ISC_FAR *, short ISC_FAR *, short ISC_FAR *, ISC_ARRAY_DESC ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_set_desc2 (ISC_STATUS ISC_FAR *, char ISC_FAR *, char ISC_FAR *, short ISC_FAR *, short ISC_FAR *, short ISC_FAR *, ISC_ARRAY_DESC_V2 ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_put_slice (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, ISC_QUAD ISC_FAR *, ISC_ARRAY_DESC ISC_FAR *, void ISC_FAR *, ISC_LONG ISC_FAR *); ISC_STATUS ISC_EXPORT isc_array_put_slice2 (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, ISC_QUAD ISC_FAR *, ISC_ARRAY_DESC_V2 ISC_FAR *, void ISC_FAR *, ISC_LONG ISC_FAR *); void ISC_EXPORT isc_blob_default_desc (ISC_BLOB_DESC ISC_FAR *, unsigned char ISC_FAR *, unsigned char ISC_FAR *); void ISC_EXPORT isc_blob_default_desc2 (ISC_BLOB_DESC_V2 ISC_FAR *, unsigned char ISC_FAR *, unsigned char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_blob_gen_bpb (ISC_STATUS ISC_FAR *, ISC_BLOB_DESC ISC_FAR *, ISC_BLOB_DESC ISC_FAR *, unsigned short, unsigned char ISC_FAR *, unsigned short ISC_FAR *); ISC_STATUS ISC_EXPORT isc_blob_gen_bpb2 (ISC_STATUS ISC_FAR *, ISC_BLOB_DESC_V2 ISC_FAR *, ISC_BLOB_DESC_V2 ISC_FAR *, unsigned short, unsigned char ISC_FAR *, unsigned short ISC_FAR *); ISC_STATUS ISC_EXPORT isc_blob_info (ISC_STATUS ISC_FAR *, isc_blob_handle ISC_FAR *, short, char ISC_FAR *, short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_blob_lookup_desc (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, unsigned char ISC_FAR *, unsigned char ISC_FAR *, ISC_BLOB_DESC ISC_FAR *, unsigned char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_blob_lookup_desc2 (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, unsigned char ISC_FAR *, unsigned char ISC_FAR *, ISC_BLOB_DESC_V2 ISC_FAR *, unsigned char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_blob_set_desc (ISC_STATUS ISC_FAR *, unsigned char ISC_FAR *, unsigned char ISC_FAR *, short, short, short, ISC_BLOB_DESC ISC_FAR *); ISC_STATUS ISC_EXPORT isc_blob_set_desc2 (ISC_STATUS ISC_FAR *, unsigned char ISC_FAR *, unsigned char ISC_FAR *, short, short, short, ISC_BLOB_DESC_V2 ISC_FAR *); ISC_STATUS ISC_EXPORT isc_cancel_blob (ISC_STATUS ISC_FAR *, isc_blob_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_cancel_events (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, ISC_LONG ISC_FAR *); ISC_STATUS ISC_EXPORT isc_close_blob (ISC_STATUS ISC_FAR *, isc_blob_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_commit_retaining (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_commit_transaction (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_create_blob (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, isc_blob_handle ISC_FAR *, ISC_QUAD ISC_FAR *); ISC_STATUS ISC_EXPORT isc_create_blob2 (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, isc_blob_handle ISC_FAR *, ISC_QUAD ISC_FAR *, short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_create_database (ISC_STATUS ISC_FAR *, short, char ISC_FAR *, isc_db_handle ISC_FAR *, short, char ISC_FAR *, short); ISC_STATUS ISC_EXPORT isc_database_info (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, short, char ISC_FAR *, short, char ISC_FAR *); void ISC_EXPORT isc_decode_date (ISC_QUAD ISC_FAR *, void ISC_FAR *); void ISC_EXPORT isc_decode_sql_date (ISC_DATE ISC_FAR *, void ISC_FAR *); void ISC_EXPORT isc_decode_sql_time (ISC_TIME ISC_FAR *, void ISC_FAR *); void ISC_EXPORT isc_decode_timestamp (ISC_TIMESTAMP ISC_FAR *, void ISC_FAR *); ISC_STATUS ISC_EXPORT isc_detach_database (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_drop_database (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_allocate_statement (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_stmt_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_alloc_statement2 (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_stmt_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_describe (ISC_STATUS ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_describe_bind (ISC_STATUS ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_exec_immed2 (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_execute (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_execute2 (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, XSQLDA ISC_FAR *, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_batch_execute_immed (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, int, ISC_ULONG, char ISC_FAR **, ISC_ULONG ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_batch_exec_immed3_m (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, unsigned short, ISC_ULONG, unsigned char ISC_FAR *, unsigned short, ISC_ULONG ISC_FAR * ); ISC_STATUS ISC_EXPORT isc_dsql_batch_execute (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, XSQLDA ISC_FAR *, unsigned short, XSQLVAR ISC_FAR *, ISC_ULONG ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_execute_immediate (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_fetch (ISC_STATUS ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_finish (isc_db_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_free_statement (ISC_STATUS ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short); ISC_STATUS ISC_EXPORT isc_dsql_insert (ISC_STATUS ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_prepare (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_set_cursor_name (ISC_STATUS ISC_FAR *, isc_stmt_handle ISC_FAR *, char ISC_FAR *, unsigned short); ISC_STATUS ISC_EXPORT isc_dsql_sql_info (ISC_STATUS ISC_FAR *, isc_stmt_handle ISC_FAR *, short, char ISC_FAR *, short, char ISC_FAR *); void ISC_EXPORT isc_encode_date (void ISC_FAR *, ISC_QUAD ISC_FAR *); void ISC_EXPORT isc_encode_sql_date (void ISC_FAR *, ISC_DATE ISC_FAR *); void ISC_EXPORT isc_encode_sql_time (void ISC_FAR *, ISC_TIME ISC_FAR *); void ISC_EXPORT isc_encode_timestamp (void ISC_FAR *, ISC_TIMESTAMP ISC_FAR *); ISC_LONG ISC_EXPORT_VARARG isc_event_block (char ISC_FAR * ISC_FAR *, char ISC_FAR * ISC_FAR *, unsigned short, ...); ISC_USHORT ISC_EXPORT isc_event_block_a (char ISC_FAR * ISC_FAR *, char ISC_FAR * ISC_FAR *, unsigned short, char ISC_FAR * ISC_FAR *); void ISC_EXPORT isc_event_counts (ISC_ULONG ISC_FAR *, short, char ISC_FAR *, char ISC_FAR *); void ISC_EXPORT_VARARG isc_expand_dpb (char ISC_FAR * ISC_FAR *, short ISC_FAR *, ...); int ISC_EXPORT isc_modify_dpb (char ISC_FAR * ISC_FAR *, short ISC_FAR *, unsigned short, char ISC_FAR *, short ); ISC_LONG ISC_EXPORT isc_free (char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_get_segment (ISC_STATUS ISC_FAR *, isc_blob_handle ISC_FAR *, unsigned short ISC_FAR *, unsigned short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_get_slice (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, ISC_QUAD ISC_FAR *, short, char ISC_FAR *, short, ISC_LONG ISC_FAR *, ISC_LONG, void ISC_FAR *, ISC_LONG ISC_FAR *); ISC_STATUS ISC_EXPORT isc_interprete (char ISC_FAR *, ISC_STATUS ISC_FAR * ISC_FAR *); ISC_STATUS ISC_EXPORT isc_open_blob (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, isc_blob_handle ISC_FAR *, ISC_QUAD ISC_FAR *); ISC_STATUS ISC_EXPORT isc_open_blob2 (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, isc_blob_handle ISC_FAR *, ISC_QUAD ISC_FAR *, short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_prepare_transaction2 (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, short, char ISC_FAR *); void ISC_EXPORT isc_print_sqlerror (short, ISC_STATUS ISC_FAR *); ISC_STATUS ISC_EXPORT isc_print_status (ISC_STATUS ISC_FAR *); ISC_STATUS ISC_EXPORT isc_put_segment (ISC_STATUS ISC_FAR *, isc_blob_handle ISC_FAR *, unsigned short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_put_slice (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, ISC_QUAD ISC_FAR *, short, char ISC_FAR *, short, ISC_LONG ISC_FAR *, ISC_LONG, void ISC_FAR *); ISC_STATUS ISC_EXPORT isc_que_events (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, ISC_LONG ISC_FAR *, short, char ISC_FAR *, isc_callback, void ISC_FAR *); ISC_STATUS ISC_EXPORT isc_release_savepoint (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_rollback_retaining (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_rollback_savepoint (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, unsigned short); ISC_STATUS ISC_EXPORT isc_rollback_transaction (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_start_multiple (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, short, void ISC_FAR *); ISC_STATUS ISC_EXPORT isc_start_savepoint (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT_VARARG isc_start_transaction (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, short, ...); ISC_LONG ISC_EXPORT isc_sqlcode (ISC_STATUS ISC_FAR *); void ISC_EXPORT isc_sql_interprete (short, char ISC_FAR *, short); ISC_STATUS ISC_EXPORT isc_transaction_info (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, short, char ISC_FAR *, short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_transact_request (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, char ISC_FAR *); ISC_LONG ISC_EXPORT isc_vax_integer (char ISC_FAR *, short); ISC_INT64 ISC_EXPORT isc_portable_integer (unsigned char ISC_FAR *, short); /*************************************/ /* Security Functions and structures */ /*************************************/ #define sec_uid_spec 0x01 #define sec_gid_spec 0x02 #define sec_server_spec 0x04 #define sec_password_spec 0x08 #define sec_group_name_spec 0x10 #define sec_first_name_spec 0x20 #define sec_middle_name_spec 0x40 #define sec_last_name_spec 0x80 #define sec_dba_user_name_spec 0x100 #define sec_dba_password_spec 0x200 #define sec_protocol_tcpip 1 #define sec_protocol_netbeui 2 #define sec_protocol_spx 3 #define sec_protocol_local 4 typedef struct { short sec_flags; /* which fields are specified */ int uid; /* the user's id */ int gid; /* the user's group id */ int protocol; /* protocol to use for connection */ char ISC_FAR *server; /* server to administer */ char ISC_FAR *user_name; /* the user's name */ char ISC_FAR *password; /* the user's password */ char ISC_FAR *group_name; /* the group name */ char ISC_FAR *first_name; /* the user's first name */ char ISC_FAR *middle_name; /* the user's middle name */ char ISC_FAR *last_name; /* the user's last name */ char ISC_FAR *dba_user_name; /* the dba user name */ char ISC_FAR *dba_password; /* the dba password */ } USER_SEC_DATA; int ISC_EXPORT isc_add_user (ISC_STATUS ISC_FAR *, USER_SEC_DATA *); int ISC_EXPORT isc_delete_user (ISC_STATUS ISC_FAR *, USER_SEC_DATA *); int ISC_EXPORT isc_modify_user (ISC_STATUS ISC_FAR *, USER_SEC_DATA *); /**********************************/ /* Other OSRI functions */ /**********************************/ ISC_STATUS ISC_EXPORT isc_compile_request (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_req_handle ISC_FAR *, short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_compile_request2 (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_req_handle ISC_FAR *, short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_ddl (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_prepare_transaction (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_receive (ISC_STATUS ISC_FAR *, isc_req_handle ISC_FAR *, short, short, void ISC_FAR *, short); ISC_STATUS ISC_EXPORT isc_reconnect_transaction (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_release_request (ISC_STATUS ISC_FAR *, isc_req_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_request_info (ISC_STATUS ISC_FAR *, isc_req_handle ISC_FAR *, short, short, char ISC_FAR *, short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_seek_blob (ISC_STATUS ISC_FAR *, isc_blob_handle ISC_FAR *, short, ISC_LONG, ISC_LONG ISC_FAR *); ISC_STATUS ISC_EXPORT isc_send (ISC_STATUS ISC_FAR *, isc_req_handle ISC_FAR *, short, short, void ISC_FAR *, short); ISC_STATUS ISC_EXPORT isc_start_and_send (ISC_STATUS ISC_FAR *, isc_req_handle ISC_FAR *, isc_tr_handle ISC_FAR *, short, short, void ISC_FAR *, short); ISC_STATUS ISC_EXPORT isc_start_request (ISC_STATUS ISC_FAR *, isc_req_handle ISC_FAR *, isc_tr_handle ISC_FAR *, short); ISC_STATUS ISC_EXPORT isc_unwind_request (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, short); ISC_STATUS ISC_EXPORT isc_wait_for_event (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, short, char ISC_FAR *, char ISC_FAR *); /*****************************/ /* Other Sql functions */ /*****************************/ ISC_STATUS ISC_EXPORT isc_close (ISC_STATUS ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_declare (ISC_STATUS ISC_FAR *, char ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_describe (ISC_STATUS ISC_FAR *, char ISC_FAR *, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_describe_bind (ISC_STATUS ISC_FAR *, char ISC_FAR *, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_execute (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_execute_immediate (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, short ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_fetch (ISC_STATUS ISC_FAR *, char ISC_FAR *, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_open (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_prepare (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, short ISC_FAR *, char ISC_FAR *, XSQLDA ISC_FAR *); /*************************************/ /* Other Dynamic sql functions */ /*************************************/ ISC_STATUS ISC_EXPORT isc_dsql_execute_m (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_execute2_m (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_batch_execute2_m (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *, unsigned short, ISC_ULONG ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_execute_immediate_m (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_exec_immed3_m (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_fetch_m (ISC_STATUS ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_insert_m (ISC_STATUS ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_prepare_m (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, isc_stmt_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, unsigned short, char ISC_FAR *, unsigned short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_dsql_release (ISC_STATUS ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_close (ISC_STATUS ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_declare (ISC_STATUS ISC_FAR *, char ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_describe (ISC_STATUS ISC_FAR *, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_describe_bind (ISC_STATUS ISC_FAR *, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_execute (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_execute2 (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_execute_immed (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_exec_immed2 (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_fetch (ISC_STATUS ISC_FAR *, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_open (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_open2 (ISC_STATUS ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_insert (ISC_STATUS ISC_FAR *, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); void ISC_EXPORT isc_embed_dsql_length (char ISC_FAR *, unsigned short *); ISC_STATUS ISC_EXPORT isc_embed_dsql_prepare (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, char ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, XSQLDA ISC_FAR *); ISC_STATUS ISC_EXPORT isc_embed_dsql_release (ISC_STATUS ISC_FAR *, char ISC_FAR *); /******************************/ /* Other Blob functions */ /******************************/ BSTREAM ISC_FAR * ISC_EXPORT BLOB_open (isc_blob_handle, char ISC_FAR *, int); int ISC_EXPORT BLOB_put (char, BSTREAM ISC_FAR *); int ISC_EXPORT BLOB_close (BSTREAM ISC_FAR *); int ISC_EXPORT BLOB_get (BSTREAM ISC_FAR *); int ISC_EXPORT BLOB_display (ISC_QUAD ISC_FAR *, isc_db_handle, isc_tr_handle, char ISC_FAR *); int ISC_EXPORT BLOB_dump (ISC_QUAD ISC_FAR *, isc_db_handle, isc_tr_handle, char ISC_FAR *); int ISC_EXPORT BLOB_edit (ISC_QUAD ISC_FAR *, isc_db_handle, isc_tr_handle, char ISC_FAR *); int ISC_EXPORT BLOB_load (ISC_QUAD ISC_FAR *, isc_db_handle, isc_tr_handle, char ISC_FAR *); int ISC_EXPORT BLOB_text_dump (ISC_QUAD ISC_FAR *, isc_db_handle, isc_tr_handle, char ISC_FAR *); int ISC_EXPORT BLOB_text_load (ISC_QUAD ISC_FAR *, isc_db_handle, isc_tr_handle, char ISC_FAR *); BSTREAM ISC_FAR * ISC_EXPORT Bopen (ISC_QUAD ISC_FAR *, isc_db_handle, isc_tr_handle, char ISC_FAR *); BSTREAM ISC_FAR * ISC_EXPORT Bopen2 (ISC_QUAD ISC_FAR *, isc_db_handle, isc_tr_handle, char ISC_FAR *, unsigned short); /******************************/ /* Other Misc functions */ /******************************/ ISC_LONG ISC_EXPORT isc_ftof (char ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short); ISC_STATUS ISC_EXPORT isc_print_blr (char ISC_FAR *, isc_callback, void ISC_FAR *, short); void ISC_EXPORT isc_set_debug (int); void ISC_EXPORT isc_qtoq (ISC_QUAD ISC_FAR *, ISC_QUAD ISC_FAR *); void ISC_EXPORT isc_vtof (char ISC_FAR *, char ISC_FAR *, unsigned short); void ISC_EXPORT isc_vtov (char ISC_FAR *, char ISC_FAR *, short); int ISC_EXPORT isc_version (isc_db_handle ISC_FAR *, isc_callback, void ISC_FAR *); ISC_LONG ISC_EXPORT isc_reset_fpe (unsigned short); /*****************************************/ /* Service manager functions */ /*****************************************/ #define ADD_SPB_LENGTH(p, length) {*(p)++ = (char) (((ISC_USHORT)length) >> 0); \ *(p)++ = (char) (((ISC_USHORT)length) >> 8);} #define ADD_SPB_NUMERIC(p, data) {*(p)++ = (char) (((ISC_ULONG)data) >> 0); \ *(p)++ = (char) (((ISC_ULONG)data) >> 8); \ *(p)++ = (char) (((ISC_ULONG)data) >> 16); \ *(p)++ = (char) (((ISC_ULONG)data) >> 24);} ISC_STATUS ISC_EXPORT isc_service_attach (ISC_STATUS ISC_FAR *, unsigned short, char ISC_FAR *, isc_svc_handle ISC_FAR *, unsigned short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_service_detach (ISC_STATUS ISC_FAR *, isc_svc_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_service_query (ISC_STATUS ISC_FAR *, isc_svc_handle ISC_FAR *, isc_resv_handle ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, char ISC_FAR *, unsigned short, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_service_start (ISC_STATUS ISC_FAR *, isc_svc_handle ISC_FAR *, isc_resv_handle ISC_FAR *, unsigned short, char ISC_FAR*); /********************************/ /* Client information functions */ /********************************/ void ISC_EXPORT isc_get_client_version ( char ISC_FAR *); int ISC_EXPORT isc_get_client_major_version (); int ISC_EXPORT isc_get_client_minor_version (); /*******************************/ /* Forms functions */ /*******************************/ ISC_STATUS ISC_EXPORT isc_compile_map (ISC_STATUS ISC_FAR *, isc_form_handle ISC_FAR *, isc_req_handle ISC_FAR *, short ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_compile_menu (ISC_STATUS ISC_FAR *, isc_form_handle ISC_FAR *, isc_req_handle ISC_FAR *, short ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_compile_sub_map (ISC_STATUS ISC_FAR *, isc_win_handle ISC_FAR *, isc_req_handle ISC_FAR *, short ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_create_window (ISC_STATUS ISC_FAR *, isc_win_handle ISC_FAR *, short ISC_FAR *, char ISC_FAR *, short ISC_FAR *, short ISC_FAR *); ISC_STATUS ISC_EXPORT isc_delete_window (ISC_STATUS ISC_FAR *, isc_win_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_drive_form (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, isc_win_handle ISC_FAR *, isc_req_handle ISC_FAR *, unsigned char ISC_FAR *, unsigned char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_drive_menu (ISC_STATUS ISC_FAR *, isc_win_handle ISC_FAR *, isc_req_handle ISC_FAR *, short ISC_FAR *, char ISC_FAR *, short ISC_FAR *, char ISC_FAR *, short ISC_FAR *, short ISC_FAR *, char ISC_FAR *, ISC_LONG ISC_FAR *); ISC_STATUS ISC_EXPORT isc_form_delete (ISC_STATUS ISC_FAR *, isc_form_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_form_fetch (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, isc_req_handle ISC_FAR *, unsigned char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_form_insert (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, isc_req_handle ISC_FAR *, unsigned char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_get_entree (ISC_STATUS ISC_FAR *, isc_req_handle ISC_FAR *, short ISC_FAR *, char ISC_FAR *, ISC_LONG ISC_FAR *, short ISC_FAR *); ISC_STATUS ISC_EXPORT isc_initialize_menu (ISC_STATUS ISC_FAR *, isc_req_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_menu (ISC_STATUS ISC_FAR *, isc_win_handle ISC_FAR *, isc_req_handle ISC_FAR *, short ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_load_form (ISC_STATUS ISC_FAR *, isc_db_handle ISC_FAR *, isc_tr_handle ISC_FAR *, isc_form_handle ISC_FAR *, short ISC_FAR *, char ISC_FAR *); ISC_STATUS ISC_EXPORT isc_pop_window (ISC_STATUS ISC_FAR *, isc_win_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_put_entree (ISC_STATUS ISC_FAR *, isc_req_handle ISC_FAR *, short ISC_FAR *, char ISC_FAR *, ISC_LONG ISC_FAR *); ISC_STATUS ISC_EXPORT isc_reset_form (ISC_STATUS ISC_FAR *, isc_req_handle ISC_FAR *); ISC_STATUS ISC_EXPORT isc_suspend_window (ISC_STATUS ISC_FAR *, isc_win_handle ISC_FAR *); #ifdef __cplusplus }; #endif #else /* __cplusplus || __STDC__ */ ISC_STATUS ISC_EXPORT isc_attach_database(); ISC_STATUS ISC_EXPORT isc_array_gen_sdl(); ISC_STATUS ISC_EXPORT isc_array_get_slice(); ISC_STATUS ISC_EXPORT isc_array_get_slice2(); ISC_STATUS ISC_EXPORT isc_array_lookup_bounds(); ISC_STATUS ISC_EXPORT isc_array_lookup_desc(); ISC_STATUS ISC_EXPORT isc_array_set_desc(); ISC_STATUS ISC_EXPORT isc_array_put_slice(); ISC_STATUS ISC_EXPORT isc_array_put_slice2(); ISC_STATUS ISC_EXPORT isc_blob_gen_bpb(); ISC_STATUS ISC_EXPORT isc_blob_info(); ISC_STATUS ISC_EXPORT isc_blob_lookup_desc(); ISC_STATUS ISC_EXPORT isc_blob_set_desc(); ISC_STATUS ISC_EXPORT isc_cancel_blob(); ISC_STATUS ISC_EXPORT isc_cancel_events(); ISC_STATUS ISC_EXPORT isc_close_blob(); ISC_STATUS ISC_EXPORT isc_commit_retaining(); ISC_STATUS ISC_EXPORT isc_commit_transaction(); ISC_STATUS ISC_EXPORT isc_compile_request(); ISC_STATUS ISC_EXPORT isc_compile_request2(); ISC_STATUS ISC_EXPORT isc_create_blob(); ISC_STATUS ISC_EXPORT isc_create_blob2(); ISC_STATUS ISC_EXPORT isc_create_database(); ISC_STATUS ISC_EXPORT isc_database_info(); ISC_STATUS ISC_EXPORT isc_ddl(); void ISC_EXPORT isc_decode_date(); void ISC_EXPORT isc_decode_sql_date(); void ISC_EXPORT isc_decode_sql_time(); void ISC_EXPORT isc_decode_timestamp(); ISC_STATUS ISC_EXPORT isc_detach_database(); ISC_STATUS ISC_EXPORT isc_drop_database(); void ISC_EXPORT isc_encode_date(); void ISC_EXPORT isc_encode_sql_date(); void ISC_EXPORT isc_encode_sql_time(); void ISC_EXPORT isc_encode_timestamp(); ISC_LONG ISC_EXPORT isc_event_block(); ISC_USHORT ISC_EXPORT isc_event_block_a(); void ISC_EXPORT isc_event_counts(); void ISC_EXPORT isc_expand_dpb(); int ISC_EXPORT isc_modify_dpb(); ISC_LONG ISC_EXPORT isc_free(); ISC_STATUS ISC_EXPORT isc_get_segment(); ISC_STATUS ISC_EXPORT isc_get_slice(); ISC_STATUS ISC_EXPORT isc_interprete(); ISC_STATUS ISC_EXPORT isc_open_blob(); ISC_STATUS ISC_EXPORT isc_open_blob2(); ISC_STATUS ISC_EXPORT isc_prepare_transaction(); ISC_STATUS ISC_EXPORT isc_prepare_transaction2(); void ISC_EXPORT isc_print_sqlerror(); ISC_STATUS ISC_EXPORT isc_print_status(); ISC_STATUS ISC_EXPORT isc_put_segment(); ISC_STATUS ISC_EXPORT isc_put_slice(); ISC_STATUS ISC_EXPORT isc_que_events(); ISC_STATUS ISC_EXPORT isc_receive(); ISC_STATUS ISC_EXPORT isc_reconnect_transaction(); ISC_STATUS ISC_EXPORT isc_release_request(); ISC_STATUS ISC_EXPORT isc_release_savepoint(); ISC_STATUS ISC_EXPORT isc_request_info(); ISC_LONG ISC_EXPORT isc_reset_fpe (); ISC_STATUS ISC_EXPORT isc_rollback_transaction(); ISC_STATUS ISC_EXPORT isc_rollback_retaining(); ISC_STATUS ISC_EXPORT isc_rollback_savepoint(); ISC_STATUS ISC_EXPORT isc_seek_blob(); ISC_STATUS ISC_EXPORT isc_send(); ISC_STATUS ISC_EXPORT isc_service_attach(); ISC_STATUS ISC_EXPORT isc_service_detach(); ISC_STATUS ISC_EXPORT isc_service_query(); ISC_STATUS ISC_EXPORT isc_service_start(); ISC_STATUS ISC_EXPORT isc_start_and_send(); ISC_STATUS ISC_EXPORT isc_start_multiple(); ISC_STATUS ISC_EXPORT isc_start_request(); ISC_STATUS ISC_EXPORT isc_start_savepoint(); ISC_STATUS ISC_EXPORT isc_start_transaction(); ISC_LONG ISC_EXPORT isc_sqlcode(); ISC_STATUS ISC_EXPORT isc_transaction_info(); ISC_STATUS ISC_EXPORT isc_transact_request(); ISC_STATUS ISC_EXPORT isc_unwind_request(); ISC_STATUS ISC_EXPORT isc_wait_for_event(); ISC_LONG ISC_EXPORT isc_ftof(); ISC_STATUS ISC_EXPORT isc_print_blr(); void ISC_EXPORT isc_set_debug(); void ISC_EXPORT isc_qtoq(); ISC_LONG ISC_EXPORT isc_vax_integer(); void ISC_EXPORT isc_vtof(); void ISC_EXPORT isc_vtov(); int ISC_EXPORT isc_version(); #ifndef __STDC__ /******************/ /* Blob functions */ /******************/ BSTREAM ISC_FAR * ISC_EXPORT Bopen(); BSTREAM ISC_FAR * ISC_EXPORT BLOB_open(); BSTREAM ISC_FAR * ISC_EXPORT Bopen2(); #endif /* __STDC__ */ #endif /* __cplusplus || __STDC__ */ /***************************************************/ /* Actions to pass to the blob filter (ctl_source) */ /***************************************************/ #define isc_blob_filter_open 0 #define isc_blob_filter_get_segment 1 #define isc_blob_filter_close 2 #define isc_blob_filter_create 3 #define isc_blob_filter_put_segment 4 #define isc_blob_filter_alloc 5 #define isc_blob_filter_free 6 #define isc_blob_filter_seek 7 /* START CONVERT TAG */ /*******************/ /* Blr definitions */ /*******************/ /* END CONVERT TAG */ #ifndef _JRD_BLR_H_ #define blr_word(n) ((n) % 256), ((n) / 256) /* START CONVERT TAG */ #define blr_text 14 #define blr_text2 15 #define blr_short 7 #define blr_long 8 #define blr_quad 9 #define blr_int64 16 #define blr_float 10 #define blr_double 27 #define blr_d_float 11 #define blr_timestamp 35 #define blr_varying 37 #define blr_varying2 38 #define blr_blob 261 #define blr_cstring 40 #define blr_cstring2 41 #define blr_blob_id 45 #define blr_sql_date 12 #define blr_sql_time 13 #define blr_boolean_dtype 17 /* Historical alias for pre V6 applications */ #define blr_date blr_timestamp #define blr_inner 0 #define blr_left 1 #define blr_right 2 #define blr_full 3 #define blr_gds_code 0 #define blr_sql_code 1 #define blr_exception 2 #define blr_trigger_code 3 #define blr_default_code 4 #define blr_immediate 0 #define blr_deferred 1 #define blr_restrict 0 #define blr_cascade 1 #define blr_version4 4 #define blr_version5 5 #define blr_eoc 76 #define blr_end 255 #define blr_assignment 1 #define blr_begin 2 #define blr_dcl_variable 3 #define blr_message 4 #define blr_erase 5 #define blr_fetch 6 #define blr_for 7 #define blr_if 8 #define blr_loop 9 #define blr_modify 10 #define blr_handler 11 #define blr_receive 12 #define blr_select 13 #define blr_send 14 #define blr_store 15 #define blr_truncate 16 #define blr_label 17 #define blr_leave 18 #define blr_store2 19 #define blr_post 20 #define blr_literal 21 #define blr_dbkey 22 #define blr_field 23 #define blr_fid 24 #define blr_parameter 25 #define blr_variable 26 #define blr_average 27 #define blr_count 28 #define blr_maximum 29 #define blr_minimum 30 #define blr_total 31 #define blr_add 34 #define blr_subtract 35 #define blr_multiply 36 #define blr_divide 37 #define blr_negate 38 #define blr_concatenate 39 #define blr_substring 40 #define blr_parameter2 41 #define blr_from 42 #define blr_via 43 #define blr_user_name 44 #define blr_null 45 #define blr_eql 47 #define blr_neq 48 #define blr_gtr 49 #define blr_geq 50 #define blr_lss 51 #define blr_leq 52 #define blr_containing 53 #define blr_matching 54 #define blr_starting 55 #define blr_between 56 #define blr_or 57 #define blr_and 58 #define blr_not 59 #define blr_any 60 #define blr_missing 61 #define blr_unique 62 #define blr_like 63 #define blr_with 64 #define blr_stream 65 #define blr_set_index 66 #define blr_rse 67 #define blr_first 68 #define blr_project 69 #define blr_sort 70 #define blr_boolean 71 #define blr_ascending 72 #define blr_descending 73 #define blr_relation 74 #define blr_rid 75 #define blr_union 76 #define blr_map 77 #define blr_group_by 78 #define blr_aggregate 79 #define blr_join_type 80 #define blr_rows 81 #define blr_derived_relation 82 /* sub parameters for blr_rows */ #define blr_ties 0 #define blr_percent 1 #define blr_agg_count 83 #define blr_agg_max 84 #define blr_agg_min 85 #define blr_agg_total 86 #define blr_agg_average 87 #define blr_parameter3 88 #define blr_run_count 118 #define blr_run_max 89 #define blr_run_min 90 #define blr_run_total 91 #define blr_run_average 92 #define blr_agg_count2 93 #define blr_agg_count_distinct 94 #define blr_agg_total_distinct 95 #define blr_agg_average_distinct 96 #define blr_function 100 #define blr_gen_id 101 #define blr_prot_mask 102 #define blr_upcase 103 #define blr_lock_state 104 #define blr_value_if 105 #define blr_matching2 106 #define blr_index 107 #define blr_ansi_like 108 #define blr_bookmark 109 #define blr_crack 110 #define blr_force_crack 111 #define blr_seek 112 #define blr_find 113 #define blr_continue 0 #define blr_forward 1 #define blr_backward 2 #define blr_bof_forward 3 #define blr_eof_backward 4 #define blr_lock_relation 114 #define blr_lock_record 115 #define blr_set_bookmark 116 #define blr_get_bookmark 117 #define blr_rs_stream 119 #define blr_exec_proc 120 #define blr_begin_range 121 #define blr_end_range 122 #define blr_delete_range 123 #define blr_procedure 124 #define blr_pid 125 #define blr_exec_pid 126 #define blr_singular 127 #define blr_abort 128 #define blr_block 129 #define blr_error_handler 130 #define blr_cast 131 #define blr_release_lock 132 #define blr_release_locks 133 #define blr_start_savepoint 134 #define blr_end_savepoint 135 #define blr_find_dbkey 136 #define blr_range_relation 137 #define blr_delete_ranges 138 #define blr_plan 139 #define blr_merge 140 #define blr_join 141 #define blr_sequential 142 #define blr_navigational 143 #define blr_indices 144 #define blr_retrieve 145 #define blr_relation2 146 #define blr_rid2 147 #define blr_reset_stream 148 #define blr_release_bookmark 149 #define blr_set_generator 150 #define blr_ansi_any 151 #define blr_exists 152 #define blr_cardinality 153 #define blr_record_version 154 /* get tid of record */ #define blr_stall 155 /* fake server stall */ #define blr_seek_no_warn 156 #define blr_find_dbkey_version 157 #define blr_ansi_all 158 #define blr_extract 159 /* sub parameters for blr_extract */ #define blr_extract_year 0 #define blr_extract_month 1 #define blr_extract_day 2 #define blr_extract_hour 3 #define blr_extract_minute 4 #define blr_extract_second 5 #define blr_extract_weekday 6 #define blr_extract_yearday 7 #define blr_current_date 160 #define blr_current_timestamp 161 #define blr_current_time 162 /* These verbs were added in 6.0, primarily to support 64-bit integers */ #define blr_add2 163 #define blr_subtract2 164 #define blr_multiply2 165 #define blr_divide2 166 #define blr_agg_total2 167 #define blr_agg_total_distinct2 168 #define blr_agg_average2 169 #define blr_agg_average_distinct2 170 #define blr_average2 171 #define blr_gen_id2 172 #define blr_set_generator2 173 /* These verbs were added in 7.0 for BOOLEAN dtype supprt */ #define blr_boolean_true 174 #define blr_boolean_false 175 /* These verbs were added in 7.1 for SQL savepoint support */ #define blr_start_savepoint2 176 #define blr_release_savepoint 177 #define blr_rollback_savepoint 178 /* added for EXECUTE STATEMENT in 10.0 */ #define blr_exec_stmt 179 #define blr_exec_stmt2 180 /* added for CHANGE VIEW support in 12.0.1 */ #define blr_changed 181 #define blr_stored 182 #define blr_modified 183 #define blr_erased 184 #endif /* _JRD_BLR_H_ */ /**********************************/ /* Database parameter block stuff */ /**********************************/ #define isc_dpb_version1 1 #define isc_dpb_cdd_pathname 1 #define isc_dpb_allocation 2 #define isc_dpb_journal 3 #define isc_dpb_page_size 4 #define isc_dpb_num_buffers 5 #define isc_dpb_buffer_length 6 #define isc_dpb_debug 7 #define isc_dpb_garbage_collect 8 #define isc_dpb_verify 9 #define isc_dpb_sweep 10 #define isc_dpb_enable_journal 11 #define isc_dpb_disable_journal 12 #define isc_dpb_dbkey_scope 13 #define isc_dpb_number_of_users 14 #define isc_dpb_trace 15 #define isc_dpb_no_garbage_collect 16 #define isc_dpb_damaged 17 #define isc_dpb_license 18 #define isc_dpb_sys_user_name 19 #define isc_dpb_encrypt_key 20 #define isc_dpb_activate_shadow 21 #define isc_dpb_sweep_interval 22 #define isc_dpb_delete_shadow 23 #define isc_dpb_force_write 24 #define isc_dpb_begin_log 25 #define isc_dpb_quit_log 26 #define isc_dpb_no_reserve 27 #define isc_dpb_user_name 28 #define isc_dpb_password 29 #define isc_dpb_password_enc 30 #define isc_dpb_sys_user_name_enc 31 #define isc_dpb_interp 32 #define isc_dpb_online_dump 33 #define isc_dpb_old_file_size 34 #define isc_dpb_old_num_files 35 #define isc_dpb_old_file_name 36 #define isc_dpb_old_start_page 37 #define isc_dpb_old_start_seqno 38 #define isc_dpb_old_start_file 39 #define isc_dpb_drop_walfile 40 #define isc_dpb_old_dump_id 41 #define isc_dpb_wal_backup_dir 42 #define isc_dpb_wal_chkptlen 43 #define isc_dpb_wal_numbufs 44 #define isc_dpb_wal_bufsize 45 #define isc_dpb_wal_grp_cmt_wait 46 #define isc_dpb_lc_messages 47 #define isc_dpb_lc_ctype 48 #define isc_dpb_cache_manager 49 #define isc_dpb_shutdown 50 #define isc_dpb_online 51 #define isc_dpb_shutdown_delay 52 #define isc_dpb_reserved 53 #define isc_dpb_overwrite 54 #define isc_dpb_sec_attach 55 #define isc_dpb_disable_wal 56 #define isc_dpb_connect_timeout 57 #define isc_dpb_dummy_packet_interval 58 #define isc_dpb_gbak_attach 59 #define isc_dpb_sql_role_name 60 #define isc_dpb_set_page_buffers 61 #define isc_dpb_working_directory 62 #define isc_dpb_sql_dialect 63 #define isc_dpb_set_db_readonly 64 #define isc_dpb_set_db_sql_dialect 65 #define isc_dpb_gfix_attach 66 #define isc_dpb_gstat_attach 67 #define isc_dpb_gbak_ods_version 68 #define isc_dpb_gbak_ods_minor_version 69 #define isc_dpb_set_group_commit 70 #define isc_dpb_gbak_validate 71 #define isc_dpb_client_interbase_var 72 #define isc_dpb_admin_option 73 #define isc_dpb_flush_interval 74 #define isc_dpb_instance_name 75 #define isc_dpb_old_overwrite 76 #define isc_dpb_archive_database 77 #define isc_dpb_archive_journals 78 #define isc_dpb_archive_sweep 79 #define isc_dpb_archive_dumps 80 #define isc_dpb_archive_recover 81 #define isc_dpb_recover_until 82 #define isc_dpb_force 83 #define isc_dpb_preallocate 84 #define isc_dpb_sys_encrypt_password 85 #define isc_dpb_eua_user_name 86 #define isc_dpb_transaction 87 /* accepts up to int64 type value */ #define isc_dpb_ods_version_major 88 /*********************************/ /* isc_dpb_verify specific flags */ /*********************************/ #define isc_dpb_pages 1 #define isc_dpb_records 2 #define isc_dpb_indices 4 #define isc_dpb_transactions 8 #define isc_dpb_no_update 16 #define isc_dpb_repair 32 #define isc_dpb_ignore 64 /***********************************/ /* isc_dpb_shutdown specific flags */ /***********************************/ #define isc_dpb_shut_cache 1 #define isc_dpb_shut_attachment 2 #define isc_dpb_shut_transaction 4 #define isc_dpb_shut_force 8 /**************************************/ /* Bit assignments in RDB$SYSTEM_FLAG */ /**************************************/ #define RDB_system 1 #define RDB_id_assigned 2 /*************************************/ /* Transaction parameter block stuff */ /*************************************/ #define isc_tpb_version1 1 #define isc_tpb_version3 3 #define isc_tpb_consistency 1 #define isc_tpb_concurrency 2 #define isc_tpb_shared 3 #define isc_tpb_protected 4 #define isc_tpb_exclusive 5 #define isc_tpb_wait 6 #define isc_tpb_nowait 7 #define isc_tpb_read 8 #define isc_tpb_write 9 #define isc_tpb_lock_read 10 #define isc_tpb_lock_write 11 #define isc_tpb_verb_time 12 #define isc_tpb_commit_time 13 #define isc_tpb_ignore_limbo 14 #define isc_tpb_read_committed 15 #define isc_tpb_autocommit 16 #define isc_tpb_rec_version 17 #define isc_tpb_no_rec_version 18 #define isc_tpb_restart_requests 19 #define isc_tpb_no_auto_undo 20 #define isc_tpb_no_savepoint 21 #define isc_tpb_exclusivity 22 #define isc_tpb_wait_time 23 /************************/ /* Blob Parameter Block */ /************************/ #define isc_bpb_version1 1 #define isc_bpb_source_type 1 #define isc_bpb_target_type 2 #define isc_bpb_type 3 #define isc_bpb_source_interp 4 #define isc_bpb_target_interp 5 #define isc_bpb_filter_parameter 6 #define isc_bpb_target_relation_name 7 #define isc_bpb_target_field_name 8 #define isc_bpb_type_segmented 0 #define isc_bpb_type_stream 1 /*********************************/ /* Service parameter block stuff */ /*********************************/ #define isc_spb_version1 1 #define isc_spb_current_version 2 #define isc_spb_version isc_spb_current_version #define isc_spb_user_name isc_dpb_user_name #define isc_spb_sys_user_name isc_dpb_sys_user_name #define isc_spb_sys_user_name_enc isc_dpb_sys_user_name_enc #define isc_spb_password isc_dpb_password #define isc_spb_password_enc isc_dpb_password_enc #define isc_spb_sys_encrypt_password isc_dpb_sys_encrypt_password #define isc_spb_command_line 105 #define isc_spb_dbname 106 #define isc_spb_verbose 107 #define isc_spb_options 108 #define isc_spb_user_dbname 109 #define isc_spb_auth_dbname 110 #define isc_spb_connect_timeout isc_dpb_connect_timeout #define isc_spb_dummy_packet_interval isc_dpb_dummy_packet_interval #define isc_spb_sql_role_name isc_dpb_sql_role_name #define isc_spb_instance_name isc_dpb_instance_name /*********************************/ /* Information call declarations */ /*********************************/ /****************************/ /* Common, structural codes */ /****************************/ #define isc_info_end 1 #define isc_info_truncated 2 #define isc_info_error 3 #define isc_info_data_not_ready 4 #define isc_info_flag_end 127 /******************************/ /* Database information items */ /******************************/ #define isc_info_db_id 4 #define isc_info_reads 5 #define isc_info_writes 6 #define isc_info_fetches 7 #define isc_info_marks 8 #define isc_info_implementation 11 #define isc_info_version 12 #define isc_info_base_level 13 #define isc_info_svr_maj_ver isc_info_base_level #define isc_info_page_size 14 #define isc_info_num_buffers 15 #define isc_info_limbo 16 #define isc_info_current_memory 17 #define isc_info_max_memory 18 #define isc_info_window_turns 19 #define isc_info_license 20 #define isc_info_allocation 21 #define isc_info_attachment_id 22 #define isc_info_read_seq_count 23 #define isc_info_read_idx_count 24 #define isc_info_insert_count 25 #define isc_info_update_count 26 #define isc_info_delete_count 27 #define isc_info_backout_count 28 #define isc_info_purge_count 29 #define isc_info_expunge_count 30 #define isc_info_sweep_interval 31 #define isc_info_ods_version 32 #define isc_info_ods_minor_version 33 #define isc_info_no_reserve 34 #define isc_info_logfile 35 #define isc_info_cur_logfile_name 36 #define isc_info_cur_log_part_offset 37 #define isc_info_num_wal_buffers 38 #define isc_info_wal_buffer_size 39 #define isc_info_wal_ckpt_length 40 #define isc_info_wal_cur_ckpt_length 41 #define isc_info_wal_prv_ckpt_fname 42 #define isc_info_wal_prv_ckpt_poffset 43 #define isc_info_wal_recv_ckpt_fname 44 #define isc_info_wal_recv_ckpt_poffset 45 #define isc_info_wal_ckpt_interval 47 #define isc_info_wal_num_io 48 #define isc_info_wal_avg_io_size 49 #define isc_info_wal_num_commits 50 #define isc_info_wal_avg_grpc_size 51 #define isc_info_forced_writes 52 #define isc_info_user_names 53 #define isc_info_page_errors 54 #define isc_info_record_errors 55 #define isc_info_bpage_errors 56 #define isc_info_dpage_errors 57 #define isc_info_ipage_errors 58 #define isc_info_ppage_errors 59 #define isc_info_tpage_errors 60 #define isc_info_set_page_buffers 61 #define isc_info_db_sql_dialect 62 #define isc_info_db_read_only 63 #define isc_info_db_size_in_pages 64 #define isc_info_db_reads 65 #define isc_info_db_writes 66 #define isc_info_db_fetches 67 #define isc_info_db_marks 68 #define isc_info_db_group_commit 69 #define isc_info_att_charset 70 #define isc_info_svr_min_ver 71 #define isc_info_ib_env_var 72 #define isc_info_server_tcp_port 73 #define isc_info_db_preallocate 74 #define isc_info_db_encrypted 75 #define isc_info_db_encryptions 76 #define isc_info_db_sep_external 77 #define isc_info_db_eua_active 78 /**************************************/ /* Database information return values */ /**************************************/ #define isc_info_db_impl_rdb_vms 1 #define isc_info_db_impl_rdb_eln 2 #define isc_info_db_impl_rdb_eln_dev 3 #define isc_info_db_impl_rdb_vms_y 4 #define isc_info_db_impl_rdb_eln_y 5 #define isc_info_db_impl_jri 6 #define isc_info_db_impl_jsv 7 #define isc_info_db_impl_isc_a 25 #define isc_info_db_impl_isc_u 26 #define isc_info_db_impl_isc_v 27 #define isc_info_db_impl_isc_s 28 #define isc_info_db_impl_isc_apl_68K 25 #define isc_info_db_impl_isc_vax_ultr 26 #define isc_info_db_impl_isc_vms 27 #define isc_info_db_impl_isc_sun_68k 28 #define isc_info_db_impl_isc_os2 29 #define isc_info_db_impl_isc_sun4 30 #define isc_info_db_impl_isc_hp_ux 31 #define isc_info_db_impl_isc_sun_386i 32 #define isc_info_db_impl_isc_vms_orcl 33 #define isc_info_db_impl_isc_mac_aux 34 #define isc_info_db_impl_isc_rt_aix 35 #define isc_info_db_impl_isc_mips_ult 36 #define isc_info_db_impl_isc_xenix 37 #define isc_info_db_impl_isc_dg 38 #define isc_info_db_impl_isc_hp_mpexl 39 #define isc_info_db_impl_isc_hp_ux68K 40 #define isc_info_db_impl_isc_sgi 41 #define isc_info_db_impl_isc_sco_unix 42 #define isc_info_db_impl_isc_cray 43 #define isc_info_db_impl_isc_imp 44 #define isc_info_db_impl_isc_delta 45 #define isc_info_db_impl_isc_next 46 #define isc_info_db_impl_isc_dos 47 #define isc_info_db_impl_isc_winnt 48 #define isc_info_db_impl_isc_epson 49 #define isc_info_db_class_access 1 #define isc_info_db_class_y_valve 2 #define isc_info_db_class_rem_int 3 #define isc_info_db_class_rem_srvr 4 #define isc_info_db_class_pipe_int 7 #define isc_info_db_class_pipe_srvr 8 #define isc_info_db_class_sam_int 9 #define isc_info_db_class_sam_srvr 10 #define isc_info_db_class_gateway 11 #define isc_info_db_class_cache 12 /*****************************/ /* Request information items */ /*****************************/ #define isc_info_number_messages 4 #define isc_info_max_message 5 #define isc_info_max_send 6 #define isc_info_max_receive 7 #define isc_info_state 8 #define isc_info_message_number 9 #define isc_info_message_size 10 #define isc_info_request_cost 11 #define isc_info_access_path 12 #define isc_info_req_select_count 13 #define isc_info_req_insert_count 14 #define isc_info_req_update_count 15 #define isc_info_req_delete_count 16 /*********************/ /* Access path items */ /*********************/ #define isc_info_rsb_end 0 #define isc_info_rsb_begin 1 #define isc_info_rsb_type 2 #define isc_info_rsb_relation 3 #define isc_info_rsb_plan 4 /*************/ /* Rsb types */ /*************/ #define isc_info_rsb_unknown 1 #define isc_info_rsb_indexed 2 #define isc_info_rsb_navigate 3 #define isc_info_rsb_sequential 4 #define isc_info_rsb_cross 5 #define isc_info_rsb_sort 6 #define isc_info_rsb_first 7 #define isc_info_rsb_boolean 8 #define isc_info_rsb_union 9 #define isc_info_rsb_aggregate 10 #define isc_info_rsb_merge 11 #define isc_info_rsb_ext_sequential 12 #define isc_info_rsb_ext_indexed 13 #define isc_info_rsb_ext_dbkey 14 #define isc_info_rsb_left_cross 15 #define isc_info_rsb_select 16 #define isc_info_rsb_sql_join 17 #define isc_info_rsb_simulate 18 #define isc_info_rsb_sim_cross 19 #define isc_info_rsb_once 20 #define isc_info_rsb_procedure 21 /**********************/ /* Bitmap expressions */ /**********************/ #define isc_info_rsb_and 1 #define isc_info_rsb_or 2 #define isc_info_rsb_dbkey 3 #define isc_info_rsb_index 4 #define isc_info_req_active 2 #define isc_info_req_inactive 3 #define isc_info_req_send 4 #define isc_info_req_receive 5 #define isc_info_req_select 6 #define isc_info_req_sql_stall 7 /**************************/ /* Blob information items */ /**************************/ #define isc_info_blob_num_segments 4 #define isc_info_blob_max_segment 5 #define isc_info_blob_total_length 6 #define isc_info_blob_type 7 /*********************************/ /* Transaction information items */ /*********************************/ #define isc_info_tra_id 4 /***************************** * Service action items * *****************************/ /* Range definitions for service actions. Any action outside of this range is not supported */ #define isc_action_min 1 #define isc_action_svc_backup 1 /* Starts database backup process on the server */ #define isc_action_svc_restore 2 /* Starts database restore process on the server */ #define isc_action_svc_repair 3 /* Starts database repair process on the server */ #define isc_action_svc_add_user 4 /* Adds a new user to the security database */ #define isc_action_svc_delete_user 5 /* Deletes a user record from the security database */ #define isc_action_svc_modify_user 6 /* Modifies a user record in the security database */ #define isc_action_svc_display_user 7 /* Displays a user record from the security database */ #define isc_action_svc_properties 8 /* Sets database properties */ #define isc_action_svc_add_license 9 /* Adds a license to the license file */ #define isc_action_svc_remove_license 10 /* Removes a license from the license file */ #define isc_action_svc_db_stats 11 /* Retrieves database statistics */ #define isc_action_svc_get_ib_log 12 /* Retrieves the InterBase log file from the server */ #define isc_action_svc_add_db_alias 13 /* Adds a new database alias */ #define isc_action_svc_delete_db_alias 14 /* Deletes an existing database alias */ #define isc_action_svc_display_db_alias 15 /* Displays an existing database alias */ #define isc_action_svc_dump 16 /* Starts database dump process on the server */ #define isc_action_max 17 /* 1 more than above actions */ /***************************** * Service information items * *****************************/ #define isc_info_svc_svr_db_info 50 /* Retrieves the number of attachments and databases */ #define isc_info_svc_get_license 51 /* Retrieves all license keys and IDs from the license file */ #define isc_info_svc_get_license_mask 52 /* Retrieves a bitmask representing licensed options on the server */ #define isc_info_svc_get_config 53 /* Retrieves the parameters and values for IB_CONFIG */ #define isc_info_svc_version 54 /* Retrieves the version of the services manager */ #define isc_info_svc_server_version 55 /* Retrieves the version of the InterBase server */ #define isc_info_svc_implementation 56 /* Retrieves the implementation of the InterBase server */ #define isc_info_svc_capabilities 57 /* Retrieves a bitmask representing the server's capabilities */ #define isc_info_svc_user_dbpath 58 /* Retrieves the path to the security database in use by the server */ #define isc_info_svc_get_env 59 /* Retrieves the setting of $INTERBASE */ #define isc_info_svc_get_env_lock 60 /* Retrieves the setting of $INTERBASE_LCK */ #define isc_info_svc_get_env_msg 61 /* Retrieves the setting of $INTERBASE_MSG */ #define isc_info_svc_line 62 /* Retrieves 1 line of service output per call */ #define isc_info_svc_to_eof 63 /* Retrieves as much of the server output as will fit in the supplied buffer */ #define isc_info_svc_timeout 64 /* Sets / signifies a timeout value for reading service information */ #define isc_info_svc_get_licensed_users 65 /* Retrieves the number of users licensed for accessing the server */ #define isc_info_svc_limbo_trans 66 /* Retrieve the limbo transactions */ #define isc_info_svc_running 67 /* Checks to see if a service is running on an attachment */ #define isc_info_svc_get_users 68 /* Returns the user information from isc_action_svc_display_users */ #define isc_info_svc_get_db_alias 69 /* Returns the database alias information from isc_action_svc_display_db_alias */ #define isc_info_svc_product_identifier 70 /* Returns embedding application's product identifier, if present in license */ /****************************************************** * Parameters for isc_action_{add|delete|modify)_user * ******************************************************/ #define isc_spb_sec_userid 5 #define isc_spb_sec_groupid 6 #define isc_spb_sec_username 7 #define isc_spb_sec_password 8 #define isc_spb_sec_groupname 9 #define isc_spb_sec_firstname 10 #define isc_spb_sec_middlename 11 #define isc_spb_sec_lastname 12 /****************************************************** * Parameters for isc_action_{add|delete|display)_db_alias * ******************************************************/ #define isc_spb_sec_db_alias_name 20 #define isc_spb_sec_db_alias_dbpath 21 /******************************************************* * Parameters for isc_action_svc_(add|remove)_license, * * isc_info_svc_get_license * *******************************************************/ #define isc_spb_lic_key 5 #define isc_spb_lic_id 6 #define isc_spb_lic_desc 7 /* Parameters for isc_action_svc_properties and isc_action_svc_repair * share the same namespace; assign values without colliding. * Options below need to be uniquely identified * * Compatible "standalone options" below must be combined together (bit-wise OR), * and provided as a single value to isc_spb_options */ /******************************************** * Parameters for isc_action_svc_properties * ********************************************/ /* options needing values... */ #define isc_spb_prp_page_buffers 5 #define isc_spb_prp_sweep_interval 6 #define isc_spb_prp_shutdown_db 7 #define isc_spb_prp_deny_new_attachments 9 #define isc_spb_prp_deny_new_transactions 10 #define isc_spb_prp_reserve_space 11 #define isc_spb_prp_write_mode 12 #define isc_spb_prp_access_mode 13 #define isc_spb_prp_set_sql_dialect 14 #define isc_spb_prp_archive_dumps 42 #define isc_spb_prp_archive_sweep 43 /* standalone options for setting property operation... */ #define isc_spb_prp_activate 0x0100 #define isc_spb_prp_db_online 0x0200 /******************************************** * Parameters for isc_spb_prp_reserve_space * ********************************************/ #define isc_spb_prp_res_use_full 35 #define isc_spb_prp_res 36 /****************************************** * Parameters for isc_spb_prp_write_mode * ******************************************/ #define isc_spb_prp_wm_async 37 #define isc_spb_prp_wm_sync 38 #define isc_spb_prp_wm_direct 41 /****************************************** * Parameters for isc_spb_prp_access_mode * ******************************************/ #define isc_spb_prp_am_readonly 39 #define isc_spb_prp_am_readwrite 40 /***************************************** * Parameters for isc_action_svc_repair * *****************************************/ /* options needing values... */ #define isc_spb_rpr_commit_trans 15 #define isc_spb_rpr_rollback_trans 34 #define isc_spb_rpr_recover_two_phase 17 #define isc_spb_tra_id 18 #define isc_spb_single_tra_id 19 #define isc_spb_multi_tra_id 20 #define isc_spb_tra_state 21 #define isc_spb_tra_state_limbo 22 #define isc_spb_tra_state_commit 23 #define isc_spb_tra_state_rollback 24 #define isc_spb_tra_state_unknown 25 #define isc_spb_tra_host_site 26 #define isc_spb_tra_remote_site 27 #define isc_spb_tra_db_path 28 #define isc_spb_tra_advise 29 #define isc_spb_tra_advise_commit 30 #define isc_spb_tra_advise_rollback 31 #define isc_spb_tra_advise_unknown 33 /* standalone options for repair operation... */ #define isc_spb_rpr_validate_db 0x01 #define isc_spb_rpr_sweep_db 0x02 #define isc_spb_rpr_mend_db 0x04 #define isc_spb_rpr_list_limbo_trans 0x08 #define isc_spb_rpr_check_db 0x10 #define isc_spb_rpr_ignore_checksum 0x20 #define isc_spb_rpr_kill_shadows 0x40 #define isc_spb_rpr_full 0x80 /* Backup, Restore, Dump and Archive operations share a lot of options. * Options below need to be uniquely identified. * * Compatible "standalone options" below must be combined together (bit-wise OR), * and provided as a single value to isc_spb_options */ /***************************************** * Parameters for isc_action_svc_backup * *****************************************/ /* options needing values... */ #define isc_spb_bkp_file 5 #define isc_spb_bkp_factor 6 #define isc_spb_bkp_length 7 #define isc_spb_bkp_preallocate 13 #define isc_spb_bkp_encrypt_name 14 /* standalone options for backup operation... */ #define isc_spb_bkp_ignore_checksums 0x01 #define isc_spb_bkp_ignore_limbo 0x02 #define isc_spb_bkp_metadata_only 0x04 #define isc_spb_bkp_no_garbage_collect 0x08 #define isc_spb_bkp_old_descriptions 0x10 #define isc_spb_bkp_non_transportable 0x20 #define isc_spb_bkp_convert 0x40 #define isc_spb_bkp_expand 0x80 /* standalone options for Archive backup operation... */ #define isc_spb_bkp_archive_database 0x010000 #define isc_spb_bkp_archive_journals 0x020000 /***************************************** * Parameters for isc_action_svc_restore * *****************************************/ /* options needing values... */ #define isc_spb_res_buffers 9 #define isc_spb_res_page_size 10 #define isc_spb_res_length 11 #define isc_spb_res_access_mode 12 #define isc_spb_res_preallocate isc_spb_bkp_preallocate #define isc_spb_res_decrypt_password 16 #define isc_spb_res_eua_user_name 17 #define isc_spb_res_eua_password 18 #define isc_spb_res_write_mode 19 #define isc_spb_res_starting_trans 21 /* requires 64bit integer value */ #define isc_spb_res_ods_version_major 22 #define isc_spb_res_archive_recover_until 23 /* standalone options for restore operation... */ #define isc_spb_res_deactivate_idx 0x0100 #define isc_spb_res_no_shadow 0x0200 #define isc_spb_res_no_validity 0x0400 #define isc_spb_res_one_at_a_time 0x0800 #define isc_spb_res_replace 0x1000 #define isc_spb_res_create 0x2000 #define isc_spb_res_use_all_space 0x4000 #define isc_spb_res_validate 0x8000 /* standalone options for Archive recover operation... */ #define isc_spb_res_archive_recover 0x040000 /***************************************** * Parameters for isc_action_svc_dump * *****************************************/ /* options needing values... */ #define isc_spb_dmp_file isc_spb_bkp_file #define isc_spb_dmp_length isc_spb_bkp_length #define isc_spb_dmp_overwrite 20 /* special case; does not require any values. */ /* standalone options for dump operation... */ #define isc_spb_dmp_create 0x080000 /****************************************** * Parameters for isc_spb_res_access_mode * ******************************************/ #define isc_spb_res_am_readonly isc_spb_prp_am_readonly #define isc_spb_res_am_readwrite isc_spb_prp_am_readwrite /****************************************** * Parameters for isc_spb_res_write_mode * ******************************************/ #define isc_spb_res_wm_async isc_spb_prp_wm_async #define isc_spb_res_wm_sync isc_spb_prp_wm_sync #define isc_spb_res_wm_direct isc_spb_prp_wm_direct /******************************************* * Parameters for isc_info_svc_svr_db_info * *******************************************/ #define isc_spb_num_att 5 #define isc_spb_num_db 6 /***************************************** * Parameters for isc_action_svc_db_stats * *****************************************/ #define isc_spb_sts_data_pages 0x01 #define isc_spb_sts_db_log 0x02 #define isc_spb_sts_hdr_pages 0x04 #define isc_spb_sts_idx_pages 0x08 #define isc_spb_sts_sys_relations 0x10 #define isc_spb_sts_record_versions 0x20 #define isc_spb_sts_table 0x40 /*************************/ /* SQL information items */ /*************************/ #define isc_info_sql_select 4 #define isc_info_sql_bind 5 #define isc_info_sql_num_variables 6 #define isc_info_sql_describe_vars 7 #define isc_info_sql_describe_end 8 #define isc_info_sql_sqlda_seq 9 #define isc_info_sql_message_seq 10 #define isc_info_sql_type 11 #define isc_info_sql_sub_type 12 #define isc_info_sql_scale 13 #define isc_info_sql_length 14 #define isc_info_sql_null_ind 15 #define isc_info_sql_field 16 #define isc_info_sql_relation 17 #define isc_info_sql_owner 18 #define isc_info_sql_alias 19 #define isc_info_sql_sqlda_start 20 #define isc_info_sql_stmt_type 21 #define isc_info_sql_get_plan 22 #define isc_info_sql_records 23 #define isc_info_sql_batch_fetch 24 #define isc_info_sql_precision 25 /*********************************/ /* SQL information return values */ /*********************************/ #define isc_info_sql_stmt_select 1 #define isc_info_sql_stmt_insert 2 #define isc_info_sql_stmt_update 3 #define isc_info_sql_stmt_delete 4 #define isc_info_sql_stmt_ddl 5 #define isc_info_sql_stmt_get_segment 6 #define isc_info_sql_stmt_put_segment 7 #define isc_info_sql_stmt_exec_procedure 8 #define isc_info_sql_stmt_start_trans 9 #define isc_info_sql_stmt_commit 10 #define isc_info_sql_stmt_rollback 11 #define isc_info_sql_stmt_select_for_upd 12 #define isc_info_sql_stmt_set_generator 13 #define isc_info_sql_stmt_set_password 14 #define isc_info_sql_stmt_set_subscription 15 #define isc_info_sql_stmt_truncate 16 /***********************************/ /* Server configuration key values */ /***********************************/ #define ISCCFG_LOCKMEM_KEY 0 #define ISCCFG_LOCKSEM_KEY 1 #define ISCCFG_LOCKSIG_KEY 2 #define ISCCFG_EVNTMEM_KEY 3 #define ISCCFG_DBCACHE_KEY 4 #define ISCCFG_PRIORITY_KEY 5 #define ISCCFG_IPCMAP_KEY 6 #define ISCCFG_MEMMIN_KEY 7 #define ISCCFG_MEMMAX_KEY 8 #define ISCCFG_LOCKORDER_KEY 9 #define ISCCFG_ANYLOCKMEM_KEY 10 #define ISCCFG_ANYLOCKSEM_KEY 11 #define ISCCFG_ANYLOCKSIG_KEY 12 #define ISCCFG_ANYEVNTMEM_KEY 13 #define ISCCFG_LOCKHASH_KEY 14 #define ISCCFG_DEADLOCK_KEY 15 #define ISCCFG_LOCKSPIN_KEY 16 #define ISCCFG_CONN_TIMEOUT_KEY 17 #define ISCCFG_DUMMY_INTRVL_KEY 18 #define ISCCFG_TRACE_POOLS_KEY 19 /* Internal Use only */ #define ISCCFG_REMOTE_BUFFER_KEY 20 #define ISCCFG_CPU_AFFINITY_KEY 21 #define ISCCFG_SWEEP_QUANTUM_KEY 22 #define ISCCFG_USER_QUANTUM_KEY 23 #define ISCCFG_SLEEP_TIME_KEY 24 #define ISCCFG_MAX_THREADS_KEY 25 #define ISCCFG_ADMIN_DB_KEY 26 #define ISCCFG_USE_SANCTUARY_KEY 27 #define ISCCFG_ENABLE_HT_KEY 28 #define ISCCFG_USE_ROUTER_KEY 29 #define ISCCFG_SORTMEM_BUFFER_SIZE_KEY 30 #define ISCCFG_SQL_CMP_RECURSION_KEY 31 #define ISCCFG_SOL_BOUND_THREADS_KEY 32 #define ISCCFG_SOL_SYNC_SCOPE_KEY 33 #define ISCCFG_IDX_RECNUM_MARKER_KEY 34 #define ISCCFG_IDX_GARBAGE_COLLECTION_KEY 35 #define ISCCFG_WIN_LOCAL_CONNECT_RETRIES_KEY 36 #define ISCCFG_EXPAND_MOUNTPOINT_KEY 37 #define ISCCFG_LOOPBACK_CONNECTION_KEY 38 #define ISCCFG_THREAD_STACK_SIZE_KEY 39 #define ISCCFG_MAX_DB_VIRMEM_USE_KEY 40 #define ISCCFG_MAX_ASSISTANTS_KEY 41 #define ISCCFG_APPDATA_DIR_KEY 42 #define ISCCFG_MEMORY_RECLAMATION_KEY 43 #define ISCCFG_PAGE_CACHE_EXPANSION_KEY 44 #define ISCCFG_STARTING_TRANSACTION_ID_KEY 45 /* Used internally to test 64-bit transaction ID */ #define ISCCFG_DATABASE_ODS_VERSION_KEY 46 /* Used internally to test creating databases with older ODS versions */ #define ISCCFG_HOSTLIC_IMPORT_DIR_KEY 47 #define ISCCFG_HOSTLIC_INFO_DIR_KEY 48 /***************/ /* Error codes */ /***************/ #define isc_facility 20 /* END CONVERT TAG */ /* START CONVERT TAG Define as long */ #define isc_err_base 335544320L /* END CONVERT TAG */ /* START CONVERT TAG */ #define isc_err_factor 1 #define isc_arg_end 0 #define isc_arg_gds 1 #define isc_arg_string 2 #define isc_arg_cstring 3 #define isc_arg_number 4 #define isc_arg_interpreted 5 #define isc_arg_vms 6 #define isc_arg_unix 7 #define isc_arg_domain 8 #define isc_arg_dos 9 #define isc_arg_mpexl 10 #define isc_arg_mpexl_ipc 11 #define isc_arg_next_mach 15 #define isc_arg_netware 16 #define isc_arg_win32 17 #define isc_arg_warning 18 #define isc_arg_sql 19 #define isc_arg_int64 20 #include /**********************************************/ /* Dynamic Data Definition Language operators */ /**********************************************/ /******************/ /* Version number */ /******************/ #define isc_dyn_version_1 1 #define isc_dyn_eoc 255 /******************************/ /* Operations (may be nested) */ /******************************/ #define isc_dyn_begin 2 #define isc_dyn_end 3 #define isc_dyn_if 4 #define isc_dyn_def_database 5 #define isc_dyn_def_global_fld 6 #define isc_dyn_def_local_fld 7 #define isc_dyn_def_idx 8 #define isc_dyn_def_rel 9 #define isc_dyn_def_sql_fld 10 #define isc_dyn_def_view 12 #define isc_dyn_def_trigger 15 #define isc_dyn_def_security_class 120 #define isc_dyn_def_dimension 140 #define isc_dyn_def_generator 24 #define isc_dyn_def_function 25 #define isc_dyn_def_filter 26 #define isc_dyn_def_function_arg 27 #define isc_dyn_def_shadow 34 #define isc_dyn_def_trigger_msg 17 #define isc_dyn_def_file 36 #define isc_dyn_def_user 225 #define isc_dyn_def_journal 203 #define isc_dyn_def_archive 206 #define isc_dyn_def_encryption 150 #define isc_dyn_def_subscription 160 #define isc_dyn_set_subscription 161 #define isc_dyn_mod_database 39 #define isc_dyn_mod_rel 11 #define isc_dyn_mod_global_fld 13 #define isc_dyn_mod_idx 102 #define isc_dyn_mod_local_fld 14 #define isc_dyn_mod_sql_fld 216 #define isc_dyn_mod_view 16 #define isc_dyn_mod_security_class 122 #define isc_dyn_mod_trigger 113 #define isc_dyn_mod_trigger_msg 28 #define isc_dyn_mod_user 226 #define isc_dyn_mod_journal 204 #define isc_dyn_mod_archive 207 #define isc_dyn_mod_encryption 151 #define isc_dyn_delete_database 18 #define isc_dyn_delete_rel 19 #define isc_dyn_delete_global_fld 20 #define isc_dyn_delete_local_fld 21 #define isc_dyn_delete_idx 22 #define isc_dyn_delete_security_class 123 #define isc_dyn_delete_dimensions 143 #define isc_dyn_delete_trigger 23 #define isc_dyn_delete_trigger_msg 29 #define isc_dyn_delete_filter 32 #define isc_dyn_delete_function 33 #define isc_dyn_delete_generator 217 #define isc_dyn_delete_shadow 35 #define isc_dyn_delete_user 227 #define isc_dyn_delete_journal 205 #define isc_dyn_delete_archive 208 #define isc_dyn_delete_encryption 152 #define isc_dyn_delete_subscription 172 #define isc_dyn_grant 30 #define isc_dyn_revoke 31 #define isc_dyn_def_primary_key 37 #define isc_dyn_def_foreign_key 38 #define isc_dyn_def_unique 40 #define isc_dyn_def_procedure 164 #define isc_dyn_delete_procedure 165 #define isc_dyn_def_parameter 135 #define isc_dyn_delete_parameter 136 #define isc_dyn_mod_procedure 175 #define isc_dyn_def_log_file 176 #define isc_dyn_def_exception 181 #define isc_dyn_mod_exception 182 #define isc_dyn_del_exception 183 #define isc_dyn_def_default_log 202 #define isc_dyn_sys_encrypt_passwd 200 #define isc_dyn_set_password 201 /***********************/ /* View specific stuff */ /***********************/ #define isc_dyn_view_blr 43 #define isc_dyn_view_source 44 #define isc_dyn_view_relation 45 #define isc_dyn_view_context 46 #define isc_dyn_view_context_name 47 /**********************/ /* Generic attributes */ /**********************/ #define isc_dyn_rel_name 50 #define isc_dyn_fld_name 51 #define isc_dyn_new_fld_name 215 #define isc_dyn_idx_name 52 #define isc_dyn_description 53 #define isc_dyn_security_class 54 #define isc_dyn_system_flag 55 #define isc_dyn_update_flag 56 #define isc_dyn_enc_name 57 #define isc_dyn_sub_name 162 #define isc_dyn_prc_name 166 #define isc_dyn_prm_name 137 #define isc_dyn_sql_object 196 #define isc_dyn_fld_character_set_name 174 #define isc_dyn_reserve_space 195 #define isc_dyn_restrict_or_cascade 220 /********************************/ /* Relation specific attributes */ /********************************/ #define isc_dyn_rel_dbkey_length 61 #define isc_dyn_rel_store_trig 62 #define isc_dyn_rel_modify_trig 63 #define isc_dyn_rel_erase_trig 64 #define isc_dyn_rel_store_trig_source 65 #define isc_dyn_rel_modify_trig_source 66 #define isc_dyn_rel_erase_trig_source 67 #define isc_dyn_rel_ext_file 68 #define isc_dyn_rel_sql_protection 69 #define isc_dyn_rel_constraint 162 #define isc_dyn_delete_rel_constraint 163 #define isc_dyn_rel_sql_scope 218 #define isc_dyn_rel_sql_on_commit 219 /************************************/ /* Global field specific attributes */ /************************************/ #define isc_dyn_fld_type 70 #define isc_dyn_fld_length 71 #define isc_dyn_fld_scale 72 #define isc_dyn_fld_sub_type 73 #define isc_dyn_fld_segment_length 74 #define isc_dyn_fld_query_header 75 #define isc_dyn_fld_edit_string 76 #define isc_dyn_fld_validation_blr 77 #define isc_dyn_fld_validation_source 78 #define isc_dyn_fld_computed_blr 79 #define isc_dyn_fld_computed_source 80 #define isc_dyn_fld_missing_value 81 #define isc_dyn_fld_default_value 82 #define isc_dyn_fld_query_name 83 #define isc_dyn_fld_dimensions 84 #define isc_dyn_fld_not_null 85 #define isc_dyn_fld_precision 86 #define isc_dyn_fld_char_length 172 #define isc_dyn_fld_collation 173 #define isc_dyn_fld_default_source 193 #define isc_dyn_del_default 197 #define isc_dyn_del_validation 198 #define isc_dyn_single_validation 199 #define isc_dyn_fld_encrypt 200 #define isc_dyn_fld_decrypt_dflt_value 201 #define isc_dyn_fld_decrypt_dflt_source 202 #define isc_dyn_fld_character_set 203 /***********************************/ /* Local field specific attributes */ /***********************************/ #define isc_dyn_fld_derived 89 #define isc_dyn_fld_source 90 #define isc_dyn_fld_base_fld 91 #define isc_dyn_fld_position 92 #define isc_dyn_fld_update_flag 93 #define isc_dyn_fld_all 94 /*****************************/ /* Index specific attributes */ /*****************************/ #define isc_dyn_idx_unique 100 #define isc_dyn_idx_inactive 101 #define isc_dyn_idx_type 103 #define isc_dyn_idx_foreign_key 104 #define isc_dyn_idx_ref_column 105 #define isc_dyn_idx_statistic 204 /*******************************/ /* Trigger specific attributes */ /*******************************/ #define isc_dyn_trg_type 110 #define isc_dyn_trg_blr 111 #define isc_dyn_trg_source 112 #define isc_dyn_trg_name 114 #define isc_dyn_trg_sequence 115 #define isc_dyn_trg_inactive 116 #define isc_dyn_trg_msg_number 117 #define isc_dyn_trg_msg 118 /**************************************/ /* Security Class specific attributes */ /**************************************/ #define isc_dyn_scl_acl 121 #define isc_dyn_grant_user 130 #define isc_dyn_grant_proc 186 #define isc_dyn_grant_trig 187 #define isc_dyn_grant_view 188 #define isc_dyn_grant_options 132 #define isc_dyn_grant_user_group 205 /**********************************/ /* Dimension specific information */ /**********************************/ #define isc_dyn_dim_lower 141 #define isc_dyn_dim_upper 142 /****************************/ /* File specific attributes */ /****************************/ #define isc_dyn_file_name 125 #define isc_dyn_file_start 126 #define isc_dyn_file_length 127 #define isc_dyn_shadow_number 128 #define isc_dyn_shadow_man_auto 129 #define isc_dyn_shadow_conditional 130 #define isc_dyn_file_prealloc 131 /********************************/ /* Log file specific attributes */ /********************************/ #define isc_dyn_log_file_sequence 177 #define isc_dyn_log_file_partitions 178 #define isc_dyn_log_file_serial 179 #define isc_dyn_log_file_directory 200 #define isc_dyn_log_file_raw 201 /***************************/ /* Log specific attributes */ /***************************/ #define isc_dyn_log_check_point_interval 189 #define isc_dyn_log_buffer_size 190 #define isc_dyn_log_check_point_length 191 #define isc_dyn_log_num_of_buffers 192 #define isc_dyn_log_timestamp_name 193 /********************************/ /* Function specific attributes */ /********************************/ #define isc_dyn_function_name 145 #define isc_dyn_function_type 146 #define isc_dyn_func_module_name 147 #define isc_dyn_func_entry_point 148 #define isc_dyn_func_return_argument 149 #define isc_dyn_func_arg_position 150 #define isc_dyn_func_mechanism 151 #define isc_dyn_filter_in_subtype 152 #define isc_dyn_filter_out_subtype 153 #define isc_dyn_description2 154 #define isc_dyn_fld_computed_source2 155 #define isc_dyn_fld_edit_string2 156 #define isc_dyn_fld_query_header2 157 #define isc_dyn_fld_validation_source2 158 #define isc_dyn_trg_msg2 159 #define isc_dyn_trg_source2 160 #define isc_dyn_view_source2 161 #define isc_dyn_xcp_msg2 184 /*********************************/ /* Generator specific attributes */ /*********************************/ #define isc_dyn_generator_name 95 #define isc_dyn_generator_id 96 /*********************************/ /* Procedure specific attributes */ /*********************************/ #define isc_dyn_prc_inputs 167 #define isc_dyn_prc_outputs 168 #define isc_dyn_prc_source 169 #define isc_dyn_prc_blr 170 #define isc_dyn_prc_source2 171 /*********************************/ /* Parameter specific attributes */ /*********************************/ #define isc_dyn_prm_number 138 #define isc_dyn_prm_type 139 /********************************/ /* Relation specific attributes */ /********************************/ #define isc_dyn_xcp_msg 185 /********************************/ /* Subscription specific attributes */ /********************************/ #define isc_dyn_change_type 163 #define isc_dyn_insert 165 #define isc_dyn_update 166 #define isc_dyn_delete 167 #define isc_dyn_change 168 #define isc_dyn_sub_active 169 #define isc_dyn_sub_inactive 170 #define isc_dyn_sub_dest 171 #define isc_dyn_sub_rel_counter 172 /**********************************************/ /* Cascading referential integrity values */ /**********************************************/ #define isc_dyn_foreign_key_update 205 #define isc_dyn_foreign_key_delete 206 #define isc_dyn_foreign_key_cascade 207 #define isc_dyn_foreign_key_default 208 #define isc_dyn_foreign_key_null 209 #define isc_dyn_foreign_key_none 210 /***********************/ /* SQL role values */ /***********************/ #define isc_dyn_def_sql_role 211 #define isc_dyn_sql_role_name 212 #define isc_dyn_grant_admin_options 213 #define isc_dyn_del_sql_role 214 /***********************/ /* ADMIN OPTION values */ /***********************/ #define isc_dyn_add_admin 221 #define isc_dyn_drop_admin 222 #define isc_dyn_admin_active 223 #define isc_dyn_admin_inactive 224 /****************************/ /* User specific attributes */ /****************************/ #define isc_dyn_user_sys_name 11 #define isc_dyn_user_grp_name 12 #define isc_dyn_user_uid 13 #define isc_dyn_user_gid 14 #define isc_dyn_user_password 15 #define isc_dyn_user_active 16 #define isc_dyn_user_inactive 17 #define isc_dyn_user_description 18 #define isc_dyn_user_first_name 19 #define isc_dyn_user_middle_name 20 #define isc_dyn_user_last_name 21 #define isc_dyn_user_default_role 22 /****************************/ /* Database specific attributes */ /****************************/ #define isc_dyn_db_passwd_digest 37 #define isc_dyn_db_page_all_checksum 38 #define isc_dyn_db_page_enc_checksum 39 #define isc_dyn_db_page_off_checksum 40 #define isc_dyn_db_page_cache 41 #define isc_dyn_db_proc_cache 42 #define isc_dyn_db_rel_cache 43 #define isc_dyn_db_trig_cache 44 #define isc_dyn_db_flush_int 45 #define isc_dyn_db_linger_int 46 #define isc_dyn_db_reclaim_int 47 #define isc_dyn_db_sweep_int 48 #define isc_dyn_db_group_commit 49 /****************************/ /* Encryption specific attributes */ /****************************/ #define isc_dyn_enc_default 50 #define isc_dyn_enc_cipher 51 #define isc_dyn_enc_length 52 #define isc_dyn_enc_password 54 #define isc_dyn_enc_init_vector 55 #define isc_dyn_enc_pad 56 #define isc_dyn_encrypt 57 #define isc_dyn_decrypt 58 /****************************/ /* Last $dyn value assigned */ /****************************/ #define isc_dyn_last_dyn_value 227 /******************************************/ /* Array slice description language (SDL) */ /******************************************/ #define isc_sdl_version1 1 #define isc_sdl_eoc 255 #define isc_sdl_relation 2 #define isc_sdl_rid 3 #define isc_sdl_field 4 #define isc_sdl_fid 5 #define isc_sdl_struct 6 #define isc_sdl_variable 7 #define isc_sdl_scalar 8 #define isc_sdl_tiny_integer 9 #define isc_sdl_short_integer 10 #define isc_sdl_long_integer 11 #define isc_sdl_literal 12 #define isc_sdl_add 13 #define isc_sdl_subtract 14 #define isc_sdl_multiply 15 #define isc_sdl_divide 16 #define isc_sdl_negate 17 #define isc_sdl_eql 18 #define isc_sdl_neq 19 #define isc_sdl_gtr 20 #define isc_sdl_geq 21 #define isc_sdl_lss 22 #define isc_sdl_leq 23 #define isc_sdl_and 24 #define isc_sdl_or 25 #define isc_sdl_not 26 #define isc_sdl_while 27 #define isc_sdl_assignment 28 #define isc_sdl_label 29 #define isc_sdl_leave 30 #define isc_sdl_begin 31 #define isc_sdl_end 32 #define isc_sdl_do3 33 #define isc_sdl_do2 34 #define isc_sdl_do1 35 #define isc_sdl_element 36 /********************************************/ /* International text interpretation values */ /********************************************/ #define isc_interp_eng_ascii 0 #define isc_interp_jpn_sjis 5 #define isc_interp_jpn_euc 6 /*******************/ /* SQL definitions */ /*******************/ #define SQL_TEXT 452 #define SQL_VARYING 448 #define SQL_SHORT 500 #define SQL_LONG 496 #define SQL_FLOAT 482 #define SQL_DOUBLE 480 #define SQL_D_FLOAT 530 #define SQL_TIMESTAMP 510 #define SQL_BLOB 520 #define SQL_ARRAY 540 #define SQL_QUAD 550 #define SQL_TYPE_TIME 560 #define SQL_TYPE_DATE 570 #define SQL_INT64 580 #define SQL_BOOLEAN 590 /* Historical alias for pre V6 applications */ #define SQL_DATE SQL_TIMESTAMP /*****************/ /* Blob Subtypes */ /*****************/ /* types less than zero are reserved for customer use */ #define isc_blob_untyped 0 /* internal subtypes */ #define isc_blob_text 1 #define isc_blob_blr 2 #define isc_blob_acl 3 #define isc_blob_ranges 4 #define isc_blob_summary 5 #define isc_blob_format 6 #define isc_blob_tra 7 #define isc_blob_extfile 8 /* the range 20-30 is reserved for dBASE and Paradox types */ #define isc_blob_formatted_memo 20 #define isc_blob_paradox_ole 21 #define isc_blob_graphic 22 #define isc_blob_dbase_ole 23 #define isc_blob_typed_binary 24 /* Deprecated definitions maintained for compatibility only */ #define isc_info_db_SQL_dialect 62 #define isc_dpb_SQL_dialect 63 #define isc_dpb_set_db_SQL_dialect 65 /* END CONVERT TAG */ #endif /* _JRD_IBASE_H_ */