3
* DESCRIPTION: OSRI entrypoints and defines
5
* The contents of this file are subject to the Interbase Public
6
* License Version 1.0 (the "License"); you may not use this file
7
* except in compliance with the License. You may obtain a copy
8
* of the License at http://www.Inprise.com/IPL.html
10
* Software distributed under the License is distributed on an
11
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
12
* or implied. See the License for the specific language governing
13
* rights and limitations under the License.
15
* The Original Code was created by Inprise Corporation
16
* and its predecessors. Portions created by Inprise Corporation are
17
* Copyright (C) Inprise Corporation.
19
* All Rights Reserved.
20
* Contributor(s): ______________________________________.
22
* 2001.07.28: John Bellardo: Added blr_skip
23
* 2001.09.18: Ann Harrison: New info codes
24
* 17-Oct-2001 Mike Nordell: CPU affinity
25
* 2001-04-16 Paul Beach: ISC_TIME_SECONDS_PRECISION_SCALE modified for HP10
26
* Compiler Compatibility
27
* 2002.02.15 Sean Leyne - Code Cleanup, removed obsolete ports:
28
* - EPSON, XENIX, MAC (MAC_AUX), Cray and OS/2
29
* 2002.10.29 Nickolay Samofatov: Added support for savepoints
31
* 2002.10.29 Sean Leyne - Removed support for obsolete IPX/SPX Protocol
33
* 2006.09.06 Steve Boyd - Added various prototypes required by Cobol ESQL
34
* isc_embed_dsql_length
37
* isc_embed_dsql_fetch_a
52
#if !(defined __cplusplus)
53
#define ISC__TRUE ISC_TRUE
54
#define ISC__FALSE ISC_FALSE
59
#if defined _MSC_VER && _MSC_VER >= 1300
60
#define FB_API_DEPRECATED __declspec(deprecated)
61
#elif defined __GNUC__ && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2))
62
#define FB_API_DEPRECATED __attribute__((__deprecated__))
64
#define FB_API_DEPRECATED
67
#include "types_pub.h"
69
/********************************/
70
/* Firebird Handle Definitions */
71
/********************************/
73
typedef FB_API_HANDLE isc_att_handle;
74
typedef FB_API_HANDLE isc_blob_handle;
75
typedef FB_API_HANDLE isc_db_handle;
76
typedef FB_API_HANDLE isc_req_handle;
77
typedef FB_API_HANDLE isc_stmt_handle;
78
typedef FB_API_HANDLE isc_svc_handle;
79
typedef FB_API_HANDLE isc_tr_handle;
80
typedef void (* isc_callback) ();
81
typedef ISC_LONG isc_resv_handle;
83
typedef void (*ISC_PRINT_CALLBACK) (void*, ISC_SHORT, const char*);
84
typedef void (*ISC_VERSION_CALLBACK)(void*, const char*);
85
typedef void (*ISC_EVENT_CALLBACK)(void*, ISC_USHORT, const ISC_UCHAR*);
87
/*******************************************************************/
88
/* Blob id structure */
89
/*******************************************************************/
91
#if !(defined __cplusplus)
92
typedef GDS_QUAD GDS__QUAD;
93
#endif /* !(defined __cplusplus) */
97
short array_bound_lower;
98
short array_bound_upper;
103
ISC_UCHAR array_desc_dtype;
104
ISC_SCHAR array_desc_scale;
105
unsigned short array_desc_length;
106
ISC_SCHAR array_desc_field_name[32];
107
ISC_SCHAR array_desc_relation_name[32];
108
short array_desc_dimensions;
109
short array_desc_flags;
110
ISC_ARRAY_BOUND array_desc_bounds[16];
115
short blob_desc_subtype;
116
short blob_desc_charset;
117
short blob_desc_segment_size;
118
ISC_UCHAR blob_desc_field_name[32];
119
ISC_UCHAR blob_desc_relation_name[32];
122
/***************************/
123
/* Blob control structure */
124
/***************************/
126
typedef struct isc_blob_ctl
128
ISC_STATUS (* ctl_source)(); /* Source filter */
129
struct isc_blob_ctl* ctl_source_handle; /* Argument to pass to source filter */
130
short ctl_to_sub_type; /* Target type */
131
short ctl_from_sub_type; /* Source type */
132
unsigned short ctl_buffer_length; /* Length of buffer */
133
unsigned short ctl_segment_length; /* Length of current segment */
134
unsigned short ctl_bpb_length; /* Length of blob parameter block */
135
/* Internally, this is const UCHAR*, but this public struct probably can't change. */
136
ISC_SCHAR* ctl_bpb; /* Address of blob parameter block */
137
ISC_UCHAR* ctl_buffer; /* Address of segment buffer */
138
ISC_LONG ctl_max_segment; /* Length of longest segment */
139
ISC_LONG ctl_number_segments; /* Total number of segments */
140
ISC_LONG ctl_total_length; /* Total length of blob */
141
ISC_STATUS* ctl_status; /* Address of status vector */
142
long ctl_data[8]; /* Application specific data */
145
/***************************/
146
/* Blob stream definitions */
147
/***************************/
149
typedef struct bstream
151
isc_blob_handle bstr_blob; /* Blob handle */
152
ISC_SCHAR * bstr_buffer; /* Address of buffer */
153
ISC_SCHAR * bstr_ptr; /* Next character */
154
short bstr_length; /* Length of buffer */
155
short bstr_cnt; /* Characters in buffer */
156
char bstr_mode; /* (mode) ? OUTPUT : INPUT */
159
/* Three ugly macros, one even using octal radix... sigh... */
160
#define getb(p) (--(p)->bstr_cnt >= 0 ? *(p)->bstr_ptr++ & 0377: BLOB_get (p))
161
#define putb(x,p) (((x) == '\n' || (!(--(p)->bstr_cnt))) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))
162
#define putbx(x,p) ((!(--(p)->bstr_cnt)) ? BLOB_put ((x),p) : ((int) (*(p)->bstr_ptr++ = (unsigned) (x))))
164
/********************************************************************/
165
/* CVC: Public blob interface definition held in val.h. */
166
/* For some unknown reason, it was only documented in langRef */
167
/* and being the structure passed by the engine to UDFs it never */
168
/* made its way into this public definitions file. */
169
/* Being its original name "blob", I renamed it blobcallback here. */
170
/* I did the full definition with the proper parameters instead of */
171
/* the weak C declaration with any number and type of parameters. */
172
/* Since the first parameter -BLB- is unknown outside the engine, */
173
/* it's more accurate to use void* than int* as the blob pointer */
174
/********************************************************************/
176
#if !defined(JRD_VAL_H) && !defined(REQUESTER)
177
/* Blob passing structure */
179
/* This enum applies to parameter "mode" in blob_lseek */
180
enum blob_lseek_mode {blb_seek_relative = 1, blb_seek_from_tail = 2};
181
/* This enum applies to the value returned by blob_get_segment */
182
enum blob_get_result {blb_got_fragment = -1, blb_got_eof = 0, blb_got_full_segment = 1};
184
typedef struct blobcallback {
185
short (*blob_get_segment)
186
(void* hnd, ISC_UCHAR* buffer, ISC_USHORT buf_size, ISC_USHORT* result_len);
188
ISC_LONG blob_number_segments;
189
ISC_LONG blob_max_segment;
190
ISC_LONG blob_total_length;
191
void (*blob_put_segment)
192
(void* hnd, const ISC_UCHAR* buffer, ISC_USHORT buf_size);
193
ISC_LONG (*blob_lseek)
194
(void* hnd, ISC_USHORT mode, ISC_LONG offset);
196
#endif /* !defined(JRD_VAL_H) && !defined(REQUESTER) */
199
/********************************************************************/
200
/* CVC: Public descriptor interface held in dsc2.h. */
201
/* We need it documented to be able to recognize NULL in UDFs. */
202
/* Being its original name "dsc", I renamed it paramdsc here. */
203
/* Notice that I adjust to the original definition: contrary to */
204
/* other cases, the typedef is the same struct not the pointer. */
205
/* I included the enumeration of dsc_dtype possible values. */
206
/* Ultimately, dsc2.h should be part of the public interface. */
207
/********************************************************************/
209
#if !defined(JRD_DSC_H)
210
/* This is the famous internal descriptor that UDFs can use, too. */
211
typedef struct paramdsc {
213
signed char dsc_scale;
214
ISC_USHORT dsc_length;
216
ISC_USHORT dsc_flags;
217
ISC_UCHAR *dsc_address;
220
#if !defined(JRD_VAL_H)
221
/* This is a helper struct to work with varchars. */
222
typedef struct paramvary {
223
ISC_USHORT vary_length;
224
ISC_UCHAR vary_string[1];
226
#endif /* !defined(JRD_VAL_H) */
228
#include "../jrd/dsc_pub.h"
230
#endif /* !defined(JRD_DSC_H) */
232
/***************************/
233
/* Dynamic SQL definitions */
234
/***************************/
236
#include "../dsql/sqlda_pub.h"
238
/***************************/
239
/* OSRI database functions */
240
/***************************/
246
ISC_STATUS ISC_EXPORT isc_attach_database(ISC_STATUS*,
253
ISC_STATUS ISC_EXPORT isc_array_gen_sdl(ISC_STATUS*,
254
const ISC_ARRAY_DESC*,
259
ISC_STATUS ISC_EXPORT isc_array_get_slice(ISC_STATUS*,
263
const ISC_ARRAY_DESC*,
267
ISC_STATUS ISC_EXPORT isc_array_lookup_bounds(ISC_STATUS*,
274
ISC_STATUS ISC_EXPORT isc_array_lookup_desc(ISC_STATUS*,
281
ISC_STATUS ISC_EXPORT isc_array_set_desc(ISC_STATUS*,
289
ISC_STATUS ISC_EXPORT isc_array_put_slice(ISC_STATUS*,
293
const ISC_ARRAY_DESC*,
297
void ISC_EXPORT isc_blob_default_desc(ISC_BLOB_DESC*,
301
ISC_STATUS ISC_EXPORT isc_blob_gen_bpb(ISC_STATUS*,
302
const ISC_BLOB_DESC*,
303
const ISC_BLOB_DESC*,
308
ISC_STATUS ISC_EXPORT isc_blob_info(ISC_STATUS*,
315
ISC_STATUS ISC_EXPORT isc_blob_lookup_desc(ISC_STATUS*,
323
ISC_STATUS ISC_EXPORT isc_blob_set_desc(ISC_STATUS*,
331
ISC_STATUS ISC_EXPORT isc_cancel_blob(ISC_STATUS *,
334
ISC_STATUS ISC_EXPORT isc_cancel_events(ISC_STATUS *,
338
ISC_STATUS ISC_EXPORT isc_close_blob(ISC_STATUS *,
341
ISC_STATUS ISC_EXPORT isc_commit_retaining(ISC_STATUS *,
344
ISC_STATUS ISC_EXPORT isc_commit_transaction(ISC_STATUS *,
347
ISC_STATUS ISC_EXPORT isc_create_blob(ISC_STATUS*,
353
ISC_STATUS ISC_EXPORT isc_create_blob2(ISC_STATUS*,
361
ISC_STATUS ISC_EXPORT isc_create_database(ISC_STATUS*,
369
ISC_STATUS ISC_EXPORT isc_database_info(ISC_STATUS*,
376
void ISC_EXPORT isc_decode_date(const ISC_QUAD*,
379
void ISC_EXPORT isc_decode_sql_date(const ISC_DATE*,
382
void ISC_EXPORT isc_decode_sql_time(const ISC_TIME*,
385
void ISC_EXPORT isc_decode_timestamp(const ISC_TIMESTAMP*,
388
ISC_STATUS ISC_EXPORT isc_detach_database(ISC_STATUS *,
391
ISC_STATUS ISC_EXPORT isc_drop_database(ISC_STATUS *,
394
ISC_STATUS ISC_EXPORT isc_dsql_allocate_statement(ISC_STATUS *,
398
ISC_STATUS ISC_EXPORT isc_dsql_alloc_statement2(ISC_STATUS *,
402
ISC_STATUS ISC_EXPORT isc_dsql_describe(ISC_STATUS *,
407
ISC_STATUS ISC_EXPORT isc_dsql_describe_bind(ISC_STATUS *,
412
ISC_STATUS ISC_EXPORT isc_dsql_exec_immed2(ISC_STATUS*,
421
ISC_STATUS ISC_EXPORT isc_dsql_execute(ISC_STATUS*,
427
ISC_STATUS ISC_EXPORT isc_dsql_execute2(ISC_STATUS*,
434
ISC_STATUS ISC_EXPORT isc_dsql_execute_immediate(ISC_STATUS*,
442
ISC_STATUS ISC_EXPORT isc_dsql_fetch(ISC_STATUS *,
447
ISC_STATUS ISC_EXPORT isc_dsql_finish(isc_db_handle *);
449
ISC_STATUS ISC_EXPORT isc_dsql_free_statement(ISC_STATUS *,
453
ISC_STATUS ISC_EXPORT isc_dsql_insert(ISC_STATUS*,
458
ISC_STATUS ISC_EXPORT isc_dsql_prepare(ISC_STATUS*,
466
ISC_STATUS ISC_EXPORT isc_dsql_set_cursor_name(ISC_STATUS*,
471
ISC_STATUS ISC_EXPORT isc_dsql_sql_info(ISC_STATUS*,
478
void ISC_EXPORT isc_encode_date(const void*,
481
void ISC_EXPORT isc_encode_sql_date(const void*,
484
void ISC_EXPORT isc_encode_sql_time(const void*,
487
void ISC_EXPORT isc_encode_timestamp(const void*,
490
ISC_LONG ISC_EXPORT_VARARG isc_event_block(ISC_UCHAR**,
494
ISC_USHORT ISC_EXPORT isc_event_block_a(ISC_SCHAR**,
499
void ISC_EXPORT isc_event_block_s(ISC_SCHAR**,
505
void ISC_EXPORT isc_event_counts(ISC_ULONG*,
510
/* 17 May 2001 - isc_expand_dpb is DEPRECATED */
511
void FB_API_DEPRECATED ISC_EXPORT_VARARG isc_expand_dpb(ISC_SCHAR**,
514
int ISC_EXPORT isc_modify_dpb(ISC_SCHAR**,
520
ISC_LONG ISC_EXPORT isc_free(ISC_SCHAR *);
522
ISC_STATUS ISC_EXPORT isc_get_segment(ISC_STATUS *,
528
ISC_STATUS ISC_EXPORT isc_get_slice(ISC_STATUS*,
540
/* CVC: This non-const signature is needed for compatibility, see gds.cpp. */
541
ISC_LONG FB_API_DEPRECATED ISC_EXPORT isc_interprete(ISC_SCHAR*,
544
/* This const params version used in the engine and other places. */
545
ISC_LONG ISC_EXPORT fb_interpret(ISC_SCHAR*,
549
ISC_STATUS ISC_EXPORT isc_open_blob(ISC_STATUS*,
555
ISC_STATUS ISC_EXPORT isc_open_blob2(ISC_STATUS*,
563
ISC_STATUS ISC_EXPORT isc_prepare_transaction2(ISC_STATUS*,
568
void ISC_EXPORT isc_print_sqlerror(ISC_SHORT,
571
ISC_STATUS ISC_EXPORT isc_print_status(const ISC_STATUS*);
573
ISC_STATUS ISC_EXPORT isc_put_segment(ISC_STATUS*,
578
ISC_STATUS ISC_EXPORT isc_put_slice(ISC_STATUS*,
589
ISC_STATUS ISC_EXPORT isc_que_events(ISC_STATUS*,
597
ISC_STATUS ISC_EXPORT isc_rollback_retaining(ISC_STATUS *,
600
ISC_STATUS ISC_EXPORT isc_rollback_transaction(ISC_STATUS *,
603
ISC_STATUS ISC_EXPORT isc_start_multiple(ISC_STATUS *,
608
ISC_STATUS ISC_EXPORT_VARARG isc_start_transaction(ISC_STATUS *,
612
ISC_LONG ISC_EXPORT isc_sqlcode(const ISC_STATUS*);
614
void ISC_EXPORT isc_sqlcode_s(const ISC_STATUS*,
617
void ISC_EXPORT isc_sql_interprete(short,
621
ISC_STATUS ISC_EXPORT isc_transaction_info(ISC_STATUS*,
628
ISC_STATUS ISC_EXPORT isc_transact_request(ISC_STATUS*,
638
ISC_LONG ISC_EXPORT isc_vax_integer(const ISC_SCHAR*,
641
ISC_INT64 ISC_EXPORT isc_portable_integer(const ISC_UCHAR*,
644
/*************************************/
645
/* Security Functions and structures */
646
/*************************************/
648
#define sec_uid_spec 0x01
649
#define sec_gid_spec 0x02
650
#define sec_server_spec 0x04
651
#define sec_password_spec 0x08
652
#define sec_group_name_spec 0x10
653
#define sec_first_name_spec 0x20
654
#define sec_middle_name_spec 0x40
655
#define sec_last_name_spec 0x80
656
#define sec_dba_user_name_spec 0x100
657
#define sec_dba_password_spec 0x200
659
#define sec_protocol_tcpip 1
660
#define sec_protocol_netbeui 2
661
#define sec_protocol_spx 3 /* -- Deprecated Protocol. Declaration retained for compatibility */
662
#define sec_protocol_local 4
665
short sec_flags; /* which fields are specified */
666
int uid; /* the user's id */
667
int gid; /* the user's group id */
668
int protocol; /* protocol to use for connection */
669
ISC_SCHAR *server; /* server to administer */
670
ISC_SCHAR *user_name; /* the user's name */
671
ISC_SCHAR *password; /* the user's password */
672
ISC_SCHAR *group_name; /* the group name */
673
ISC_SCHAR *first_name; /* the user's first name */
674
ISC_SCHAR *middle_name; /* the user's middle name */
675
ISC_SCHAR *last_name; /* the user's last name */
676
ISC_SCHAR *dba_user_name; /* the dba user name */
677
ISC_SCHAR *dba_password; /* the dba password */
680
ISC_STATUS ISC_EXPORT isc_add_user(ISC_STATUS*, const USER_SEC_DATA*);
682
ISC_STATUS ISC_EXPORT isc_delete_user(ISC_STATUS*, const USER_SEC_DATA*);
684
ISC_STATUS ISC_EXPORT isc_modify_user(ISC_STATUS*, const USER_SEC_DATA*);
686
/**********************************/
687
/* Other OSRI functions */
688
/**********************************/
690
ISC_STATUS ISC_EXPORT isc_compile_request(ISC_STATUS*,
696
ISC_STATUS ISC_EXPORT isc_compile_request2(ISC_STATUS*,
702
ISC_STATUS ISC_EXPORT isc_ddl(ISC_STATUS*,
708
ISC_STATUS ISC_EXPORT isc_prepare_transaction(ISC_STATUS*,
712
ISC_STATUS ISC_EXPORT isc_receive(ISC_STATUS*,
719
ISC_STATUS ISC_EXPORT isc_reconnect_transaction(ISC_STATUS*,
725
ISC_STATUS ISC_EXPORT isc_release_request(ISC_STATUS*,
728
ISC_STATUS ISC_EXPORT isc_request_info(ISC_STATUS*,
736
ISC_STATUS ISC_EXPORT isc_seek_blob(ISC_STATUS*,
742
ISC_STATUS ISC_EXPORT isc_send(ISC_STATUS*,
749
ISC_STATUS ISC_EXPORT isc_start_and_send(ISC_STATUS*,
757
ISC_STATUS ISC_EXPORT isc_start_request(ISC_STATUS *,
762
ISC_STATUS ISC_EXPORT isc_unwind_request(ISC_STATUS *,
766
ISC_STATUS ISC_EXPORT isc_wait_for_event(ISC_STATUS*,
773
/*****************************/
774
/* Other Sql functions */
775
/*****************************/
777
ISC_STATUS ISC_EXPORT isc_close(ISC_STATUS*,
780
ISC_STATUS ISC_EXPORT isc_declare(ISC_STATUS*,
784
ISC_STATUS ISC_EXPORT isc_describe(ISC_STATUS*,
788
ISC_STATUS ISC_EXPORT isc_describe_bind(ISC_STATUS*,
792
ISC_STATUS ISC_EXPORT isc_execute(ISC_STATUS*,
797
ISC_STATUS ISC_EXPORT isc_execute_immediate(ISC_STATUS*,
803
ISC_STATUS ISC_EXPORT isc_fetch(ISC_STATUS*,
807
ISC_STATUS ISC_EXPORT isc_open(ISC_STATUS*,
812
ISC_STATUS ISC_EXPORT isc_prepare(ISC_STATUS*,
821
/*************************************/
822
/* Other Dynamic sql functions */
823
/*************************************/
825
ISC_STATUS ISC_EXPORT isc_dsql_execute_m(ISC_STATUS*,
834
ISC_STATUS ISC_EXPORT isc_dsql_execute2_m(ISC_STATUS*,
848
ISC_STATUS ISC_EXPORT isc_dsql_execute_immediate_m(ISC_STATUS*,
860
ISC_STATUS ISC_EXPORT isc_dsql_exec_immed3_m(ISC_STATUS*,
877
ISC_STATUS ISC_EXPORT isc_dsql_fetch_m(ISC_STATUS*,
885
ISC_STATUS ISC_EXPORT isc_dsql_insert_m(ISC_STATUS*,
893
ISC_STATUS ISC_EXPORT isc_dsql_prepare_m(ISC_STATUS*,
904
ISC_STATUS ISC_EXPORT isc_dsql_release(ISC_STATUS*,
907
ISC_STATUS ISC_EXPORT isc_embed_dsql_close(ISC_STATUS*,
910
ISC_STATUS ISC_EXPORT isc_embed_dsql_declare(ISC_STATUS*,
914
ISC_STATUS ISC_EXPORT isc_embed_dsql_describe(ISC_STATUS*,
919
ISC_STATUS ISC_EXPORT isc_embed_dsql_describe_bind(ISC_STATUS*,
924
ISC_STATUS ISC_EXPORT isc_embed_dsql_execute(ISC_STATUS*,
930
ISC_STATUS ISC_EXPORT isc_embed_dsql_execute2(ISC_STATUS*,
937
ISC_STATUS ISC_EXPORT isc_embed_dsql_execute_immed(ISC_STATUS*,
945
ISC_STATUS ISC_EXPORT isc_embed_dsql_fetch(ISC_STATUS*,
950
ISC_STATUS ISC_EXPORT isc_embed_dsql_fetch_a(ISC_STATUS*,
956
void ISC_EXPORT isc_embed_dsql_length(const ISC_UCHAR*,
959
ISC_STATUS ISC_EXPORT isc_embed_dsql_open(ISC_STATUS*,
965
ISC_STATUS ISC_EXPORT isc_embed_dsql_open2(ISC_STATUS*,
972
ISC_STATUS ISC_EXPORT isc_embed_dsql_insert(ISC_STATUS*,
977
ISC_STATUS ISC_EXPORT isc_embed_dsql_prepare(ISC_STATUS*,
986
ISC_STATUS ISC_EXPORT isc_embed_dsql_release(ISC_STATUS*,
990
/******************************/
991
/* Other Blob functions */
992
/******************************/
994
BSTREAM* ISC_EXPORT BLOB_open(isc_blob_handle,
998
int ISC_EXPORT BLOB_put(ISC_SCHAR,
1001
int ISC_EXPORT BLOB_close(BSTREAM*);
1003
int ISC_EXPORT BLOB_get(BSTREAM*);
1005
int ISC_EXPORT BLOB_display(ISC_QUAD*,
1010
int ISC_EXPORT BLOB_dump(ISC_QUAD*,
1015
int ISC_EXPORT BLOB_edit(ISC_QUAD*,
1020
int ISC_EXPORT BLOB_load(ISC_QUAD*,
1025
int ISC_EXPORT BLOB_text_dump(ISC_QUAD*,
1030
int ISC_EXPORT BLOB_text_load(ISC_QUAD*,
1035
BSTREAM* ISC_EXPORT Bopen(ISC_QUAD*,
1040
/* Disabled, not found anywhere.
1041
BSTREAM* ISC_EXPORT Bopen2(ISC_QUAD*,
1049
/******************************/
1050
/* Other Misc functions */
1051
/******************************/
1053
ISC_LONG ISC_EXPORT isc_ftof(const ISC_SCHAR*,
1054
const unsigned short,
1056
const unsigned short);
1058
ISC_STATUS ISC_EXPORT isc_print_blr(const ISC_SCHAR*,
1063
void ISC_EXPORT isc_set_debug(int);
1065
void ISC_EXPORT isc_qtoq(const ISC_QUAD*,
1068
void ISC_EXPORT isc_vtof(const ISC_SCHAR*,
1072
void ISC_EXPORT isc_vtov(const ISC_SCHAR*,
1076
int ISC_EXPORT isc_version(isc_db_handle*,
1077
ISC_VERSION_CALLBACK,
1080
ISC_LONG ISC_EXPORT isc_reset_fpe(ISC_USHORT);
1082
uintptr_t ISC_EXPORT isc_baddress(ISC_SCHAR*);
1083
void ISC_EXPORT isc_baddress_s(const ISC_SCHAR*,
1086
/*****************************************/
1087
/* Service manager functions */
1088
/*****************************************/
1090
#define ADD_SPB_LENGTH(p, length) {*(p)++ = (length); \
1091
*(p)++ = (length) >> 8;}
1093
#define ADD_SPB_NUMERIC(p, data) {*(p)++ = (ISC_SCHAR) (data); \
1094
*(p)++ = (ISC_SCHAR) ((data) >> 8); \
1095
*(p)++ = (ISC_SCHAR) ((data) >> 16); \
1096
*(p)++ = (ISC_SCHAR) ((data) >> 24);}
1098
ISC_STATUS ISC_EXPORT isc_service_attach(ISC_STATUS*,
1105
ISC_STATUS ISC_EXPORT isc_service_detach(ISC_STATUS *,
1108
ISC_STATUS ISC_EXPORT isc_service_query(ISC_STATUS*,
1118
ISC_STATUS ISC_EXPORT isc_service_start(ISC_STATUS*,
1125
/********************************/
1126
/* Client information functions */
1127
/********************************/
1129
void ISC_EXPORT isc_get_client_version ( ISC_SCHAR *);
1130
int ISC_EXPORT isc_get_client_major_version ();
1131
int ISC_EXPORT isc_get_client_minor_version ();
1138
/***************************************************/
1139
/* Actions to pass to the blob filter (ctl_source) */
1140
/***************************************************/
1142
#define isc_blob_filter_open 0
1143
#define isc_blob_filter_get_segment 1
1144
#define isc_blob_filter_close 2
1145
#define isc_blob_filter_create 3
1146
#define isc_blob_filter_put_segment 4
1147
#define isc_blob_filter_alloc 5
1148
#define isc_blob_filter_free 6
1149
#define isc_blob_filter_seek 7
1151
/*******************/
1152
/* Blr definitions */
1153
/*******************/
1157
#include "consts_pub.h"
1159
/*********************************/
1160
/* Information call declarations */
1161
/*********************************/
1163
#include "../jrd/inf_pub.h"
1165
#include "iberror.h"
1167
#endif /* JRD_IBASE_H */