ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/fbintf/client/2.5/IBHeader.pas
Revision: 315
Committed: Thu Feb 25 11:56:36 2021 UTC (17 months, 2 weeks ago) by tony
File size: 94981 byte(s)
Log Message:
Updated for IBX 4 release
Line File contents
1 {************************************************************************}
2 { }
3 { Borland Delphi Visual Component Library }
4 { InterBase Express core components }
5 { }
6 { Copyright (c) 1998-2000 Inprise Corporation }
7 { }
8 { InterBase Express is based in part on the product }
9 { Free IB Components, written by Gregory H. Deatz for }
10 { Hoagland, Longo, Moran, Dunst & Doukas Company. }
11 { Free IB Components is used under license. }
12 { }
13 { The contents of this file are subject to the InterBase }
14 { Public License Version 1.0 (the "License"); you may not }
15 { use this file except in compliance with the License. You }
16 { may obtain a copy of the License at http://www.Inprise.com/IPL.html }
17 { Software distributed under the License is distributed on }
18 { an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either }
19 { express or implied. See the License for the specific language }
20 { governing rights and limitations under the License. }
21 { The Original Code was created by InterBase Software Corporation }
22 { and its successors. }
23 { Portions created by Inprise Corporation are Copyright (C) Inprise }
24 { Corporation. All Rights Reserved. }
25 { Contributor(s): Jeff Overcash }
26 { }
27 { IBX For Lazarus (Firebird Express) }
28 { Contributor: Tony Whyman, MWA Software http://www.mwasoftware.co.uk }
29 { Portions created by MWA Software are copyright McCallum Whyman }
30 { Associates Ltd 2011 }
31 { }
32 {************************************************************************}
33
34 unit IBHeader;
35 {$IFDEF MSWINDOWS}
36 {$DEFINE WINDOWS}
37 {$ENDIF}
38
39 {$IFDEF FPC}
40 {$mode delphi}
41 {$codepage UTF8}
42 {$ENDIF}
43
44 interface
45
46 uses
47 IBExternals, IB;
48
49
50 const
51 DSQL_close = 1;
52 DSQL_drop = 2;
53
54 const
55 SQLDA_VERSION1 = 1; (* pre V6.0 SQLDA *)
56 SQLDA_VERSION2 = 2; (* V6.0 SQLDA *)
57 SQL_DIALECT_V5 = 1; (* meaning is same as DIALECT_xsqlda *)
58 SQL_DIALECT_V6_TRANSITION = 2; (* flagging anything that is delimited
59 by double quotes as an error and
60 flagging keyword DATE as an error *)
61 SQL_DIALECT_V6 = 3; (* supports SQL delimited identifier,
62 SQLDATE/DATE, TIME, TIMESTAMP,
63 CURRENT_DATE, CURRENT_TIME,
64 CURRENT_TIMESTAMP, and 64-bit exact
65 numeric type *)
66 SQL_DIALECT_CURRENT = SQL_DIALECT_V6; (* latest IB DIALECT *)
67
68
69 type
70 (**********************************)
71 (** InterBase Handle Definitions **)
72 (**********************************)
73 TISC_ATT_HANDLE = FB_API_HANDLE;
74 PISC_ATT_HANDLE = ^TISC_ATT_HANDLE;
75 TISC_BLOB_HANDLE = FB_API_HANDLE;
76 PISC_BLOB_HANDLE = ^TISC_BLOB_HANDLE;
77 TISC_DB_HANDLE = FB_API_HANDLE;
78 PISC_DB_HANDLE = ^TISC_DB_HANDLE;
79 TISC_FORM_HANDLE = FB_API_HANDLE;
80 PISC_FORM_HANDLE = ^TISC_FORM_HANDLE;
81 TISC_REQ_HANDLE = FB_API_HANDLE;
82 PISC_REQ_HANDLE = ^TISC_REQ_HANDLE;
83 TISC_STMT_HANDLE = FB_API_HANDLE;
84 PISC_STMT_HANDLE = ^TISC_STMT_HANDLE;
85 TISC_SVC_HANDLE = FB_API_HANDLE;
86 PISC_SVC_HANDLE = ^TISC_SVC_HANDLE;
87 TISC_TR_HANDLE = FB_API_HANDLE;
88 PISC_TR_HANDLE = ^TISC_TR_HANDLE;
89 TISC_WIN_HANDLE = FB_API_HANDLE;
90 PISC_WIN_HANDLE = ^TISC_WIN_HANDLE;
91 TISC_CALLBACK = procedure;
92 ISC_SVC_HANDLE = ISC_LONG;
93
94 (*******************************************************************)
95 (* Time & Date Support *)
96 (*******************************************************************)
97 const
98 TIME_SECONDS_PRECISION = 10000;
99 TIME_SECONDS_PRECISION_SCALE = -4;
100
101 type
102 PPByte = ^PByte;
103 ISC_DATE = Long;
104 PISC_DATE = ^ISC_DATE;
105 ISC_TIME = ULong;
106 PISC_TIME = ^ISC_TIME;
107 TISC_TIMESTAMP = record
108 timestamp_date: ISC_DATE;
109 timestamp_time: ISC_TIME;
110 end;
111 PISC_TIMESTAMP = ^TISC_TIMESTAMP;
112
113 TISC_ARRAY_BOUND = record
114 array_bound_lower : short;
115 array_bound_upper : short;
116 end;
117 PISC_ARRAY_BOUND = ^TISC_ARRAY_BOUND;
118 TISC_ARRAY_DESC = record
119 array_desc_dtype : UChar;
120 array_desc_scale : ShortInt;
121 array_desc_length : UShort;
122 array_desc_field_name : array[0..31] of AnsiChar;
123 array_desc_relation_name : array[0..31] of AnsiChar;
124 array_desc_dimensions : Short;
125 array_desc_flags : Short;
126 array_desc_bounds : array[0..15] of TISC_ARRAY_BOUND;
127 end; // TISC_ARRAY_DESC
128 PISC_ARRAY_DESC = ^TISC_ARRAY_DESC;
129
130 TISC_BLOB_DESC = record
131 blob_desc_subtype : Short;
132 blob_desc_charset : Short;
133 blob_desc_segment_size : Short;
134 blob_desc_field_name : array[0..31] of AnsiChar;
135 blob_desc_relation_name : array[0..31] of AnsiChar;
136 end; // TISC_BLOB_DESC
137 PISC_BLOB_DESC = ^TISC_BLOB_DESC;
138
139 (*****************************)
140 (** Blob control structure **)
141 (*****************************)
142 TISC_BLOB_CTL_SOURCE_FUNCTION = function: ISC_STATUS; // ISC_FAR
143 PISC_BLOB_CTL = ^TISC_BLOB_CTL; // ISC_FAR
144 TISC_BLOB_CTL = record
145 (** Source filter **)
146 ctl_source : TISC_BLOB_CTL_SOURCE_FUNCTION;
147 (** Argument to pass to source filter **)
148 ctl_source_handle : PISC_BLOB_CTL;
149 ctl_to_sub_type : Short; (** Target type **)
150 ctl_from_sub_type : Short; (** Source type **)
151 ctl_buffer_length : UShort; (** Length of buffer **)
152 ctl_segment_length : UShort; (** Length of current segment **)
153 ctl_bpb_length : UShort; (** Length of blob parameter **)
154 (** block **)
155 ctl_bpb : PByte; (** Address of blob parameter **)
156 (** block **)
157 ctl_buffer : PUChar; (** Address of segment buffer **)
158 ctl_max_segment : ISC_LONG; (** Length of longest segment **)
159 ctl_number_segments : ISC_LONG; (** Total number of segments **)
160 ctl_total_length : ISC_LONG; (** Total length of blob **)
161 ctl_status : PISC_STATUS; (** Address of status vector **)
162 ctl_data : array[0..7] of long; (** Application specific data **)
163 end;
164 (*****************************)
165 (** Blob stream definitions **)
166 (*****************************)
167 TBSTREAM = record
168 bstr_blob : PVoid; (** Blob handle **)
169 bstr_buffer : PByte; (** Address of buffer **)
170 bstr_ptr : PByte; (** Next character **)
171 bstr_length : Short; (** Length of buffer **)
172 bstr_cnt : Short; (** Characters in buffer **)
173 bstr_mode : Char; (** (mode) ? OUTPUT : INPUT **)
174 end;
175 PBSTREAM = ^TBSTREAM;
176
177 (*****************************)
178 (** Dynamic SQL definitions **)
179 (*****************************)
180 {$IFDEF IB5_ONLY}
181 TSQLVAR = record
182 sqltype : Short;
183 sqllen : Short;
184 sqldata : PByte;
185 sqlind : PShort;
186 sqlname_length : Short;
187 sqlname : array[0..29] of AnsiChar;
188 end;
189 PSQLVAR = ^TSQLVAR;
190
191 TSQLDA = record
192 sqldaid : array[0..7] of AnsiChar;
193 sqldabc : ISC_LONG;
194 sqln : Short;
195 sqld : Short;
196 sqlvar : array[0..0] of TSQLVAR;
197 end;
198 PSQLDA = ^TSQLDA;
199 {$ENDIF}
200
201 (********************************)
202 (** Declare the extended SQLDA **)
203 (********************************)
204 TXSQLVAR = record
205 sqltype : Short; (** datatype of field **)
206 sqlscale : Short; (** scale factor **)
207 sqlsubtype : Short; (** datatype subtype - BLOBs **)
208 (** & text types only **)
209 sqllen : Short; (** length of data area **)
210 sqldata : PByte; (** address of data **)
211 sqlind : PShort; (** address of indicator **)
212 (** variable **)
213 sqlname_length : Short; (** length of sqlname field **)
214 (** name of field, name length + space for NULL **)
215 sqlname : array[0..31] of AnsiChar;
216 relname_length : Short; (** length of relation name **)
217 (** field's relation name + space for NULL **)
218 relname : array[0..31] of AnsiChar;
219 ownname_length : Short; (** length of owner name **)
220 (** relation's owner name + space for NULL **)
221 ownname : array[0..31] of AnsiChar;
222 aliasname_length : Short; (** length of alias name **)
223 (** relation's alias name + space for NULL **)
224 aliasname : array[0..31] of AnsiChar;
225 end; // TXSQLVAR
226 PXSQLVAR = ^TXSQLVAR;
227
228 TXSQLDA = record
229 version : Short; (** version of this XSQLDA **)
230 (** XSQLDA name field **)
231 sqldaid : array[0..7] of AnsiChar;
232 sqldabc : ISC_LONG; (** length in bytes of SQLDA **)
233 sqln : Short; (** number of fields allocated **)
234 sqld : Short; (** actual number of fields **)
235 (** first field address **)
236 sqlvar : array[0..0] of TXSQLVAR;
237 end; // TXSQLDA
238 PXSQLDA = ^TXSQLDA;
239
240 (********************************************************)
241 (** This record type is for passing arguments to **)
242 (** isc_start_transaction (See docs) **)
243 (********************************************************)
244 TISC_START_TRANS = record
245 db_handle : PISC_DB_HANDLE;
246 tpb_length : UShort;
247 tpb_address : PByte;
248 end;
249
250 (********************************************************)
251 (** This record type is for passing arguments to **)
252 (** isc_start_multiple (see docs) **)
253 (********************************************************)
254 TISC_TEB = record
255 db_handle : PISC_DB_HANDLE;
256 tpb_length : Long;
257 tpb_address : PByte;
258 end;
259 PISC_TEB = ^TISC_TEB;
260 TISC_TEB_ARRAY = array[0..0] of TISC_TEB;
261 PISC_TEB_ARRAY = ^TISC_TEB_ARRAY;
262
263 (*****************************)
264 (** OSRI database functions **)
265 (*****************************)
266
267 Tisc_attach_database = function (status_vector : PISC_STATUS;
268 db_name_length : Short;
269 db_name : PAnsiChar;
270 db_handle : PISC_DB_HANDLE;
271 parm_buffer_length : Short;
272 parm_buffer : PByte): ISC_STATUS;
273 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
274
275 Tisc_array_gen_sdl = function (status_vector : PISC_STATUS;
276 isc_array_desc : PISC_ARRAY_DESC;
277 isc_arg3 : PShort;
278 isc_arg4 : PByte;
279 isc_arg5 : PShort): ISC_STATUS;
280 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
281
282 Tisc_array_get_slice = function (status_vector : PISC_STATUS;
283 db_handle : PISC_DB_HANDLE;
284 trans_handle : PISC_TR_HANDLE;
285 array_id : PISC_QUAD;
286 descriptor : PISC_ARRAY_DESC;
287 dest_array : PVoid;
288 slice_length : PISC_LONG): ISC_STATUS;
289 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
290
291 Tisc_array_lookup_bounds = function (status_vector : PISC_STATUS;
292 db_handle : PISC_DB_HANDLE;
293 trans_handle : PISC_TR_HANDLE;
294 table_name,
295 column_name : PAnsiChar;
296 descriptor : PISC_ARRAY_DESC): ISC_STATUS;
297 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
298
299 Tisc_array_lookup_desc = function (status_vector : PISC_STATUS;
300 db_handle : PISC_DB_HANDLE;
301 trans_handle : PISC_TR_HANDLE;
302 table_name,
303 column_name : PByte;
304 descriptor : PISC_ARRAY_DESC): ISC_STATUS;
305 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
306
307 Tisc_array_set_desc = function (status_vector : PISC_STATUS;
308 table_name : PByte;
309 column_name : PByte;
310 sql_dtype,
311 sql_length,
312 sql_dimensions : PShort;
313 descriptor : PISC_ARRAY_DESC): ISC_STATUS;
314 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
315
316 Tisc_array_put_slice = function (status_vector : PISC_STATUS;
317 db_handle : PISC_DB_HANDLE;
318 trans_handle : PISC_TR_HANDLE;
319 array_id : PISC_QUAD;
320 descriptor : PISC_ARRAY_DESC;
321 source_array : PVoid;
322 slice_length : PISC_LONG): ISC_STATUS;
323 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
324
325 Tisc_blob_default_desc = procedure (descriptor : PISC_BLOB_DESC;
326 table_name : PUChar;
327 column_name : PUChar);
328 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
329
330 Tisc_blob_gen_bpb = function (status_vector : PISC_STATUS;
331 to_descriptor,
332 from_descriptor : PISC_BLOB_DESC;
333 bpb_buffer_length : UShort;
334 bpb_buffer : PUChar;
335 bpb_length : PUShort): ISC_STATUS;
336 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
337
338 Tisc_blob_info = function (status_vector : PISC_STATUS;
339 blob_handle : PISC_BLOB_HANDLE;
340 item_list_buffer_length : Short;
341 item_list_buffer : PByte;
342 result_buffer_length : Short;
343 result_buffer : PByte): ISC_STATUS;
344 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
345
346 Tisc_blob_lookup_desc = function (status_vector : PISC_STATUS;
347 db_handle : PISC_DB_HANDLE;
348 trans_handle : PISC_TR_HANDLE;
349 table_name,
350 column_name : PAnsiChar;
351 descriptor : PISC_BLOB_DESC;
352 global : PUChar): ISC_STATUS;
353 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
354
355 Tisc_blob_set_desc = function (status_vector : PISC_STATUS;
356 table_name,
357 column_name : PAnsiChar;
358 subtype,
359 charset,
360 segment_size : Short;
361 descriptor : PISC_BLOB_DESC): ISC_STATUS;
362 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
363
364 Tisc_cancel_blob = function (status_vector : PISC_STATUS;
365 blob_handle : PISC_BLOB_HANDLE): ISC_STATUS;
366 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
367
368 Tisc_cancel_events = function (status_vector : PISC_STATUS;
369 db_handle : PISC_DB_HANDLE;
370 event_id : PISC_LONG): ISC_STATUS;
371 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
372
373 Tisc_close_blob = function (status_vector : PISC_STATUS;
374 blob_handle : PISC_BLOB_HANDLE): ISC_STATUS;
375 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
376
377 Tisc_commit_retaining = function (status_vector : PISC_STATUS;
378 tran_handle : PISC_TR_HANDLE): ISC_STATUS;
379 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
380
381 Tisc_commit_transaction = function (status_vector : PISC_STATUS;
382 tran_handle : PISC_TR_HANDLE): ISC_STATUS;
383 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
384
385 Tisc_create_blob = function (status_vector : PISC_STATUS;
386 db_handle : PISC_DB_HANDLE;
387 tran_handle : PISC_TR_HANDLE;
388 blob_handle : PISC_BLOB_HANDLE;
389 blob_id : PISC_QUAD): ISC_STATUS;
390 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
391
392 Tisc_create_blob2 = function (status_vector : PISC_STATUS;
393 db_handle : PISC_DB_HANDLE;
394 tran_handle : PISC_TR_HANDLE;
395 blob_handle : PISC_BLOB_HANDLE;
396 blob_id : PISC_QUAD;
397 bpb_length : Short;
398 bpb_address : PByte): ISC_STATUS;
399 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
400
401 Tisc_create_database = function (status_vector : PISC_STATUS;
402 isc_arg2 : Short;
403 isc_arg3 : PByte;
404 db_handle : PISC_DB_HANDLE;
405 isc_arg5 : Short;
406 isc_arg6 : PByte;
407 isc_arg7 : Short): ISC_STATUS;
408 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
409
410 Tisc_database_info = function (status_vector : PISC_STATUS;
411 db_handle : PISC_DB_HANDLE;
412 item_list_buffer_length : Short;
413 item_list_buffer : PByte;
414 result_buffer_length : Short;
415 result_buffer : PByte): ISC_STATUS;
416 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
417
418 Tisc_decode_date = procedure (ib_date: PISC_QUAD;
419 tm_date: PCTimeStructure);
420 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
421
422 Tisc_decode_sql_date = procedure (ib_date: PISC_DATE;
423 tm_date: PCTimeStructure);
424 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
425
426 Tisc_decode_sql_time = procedure (ib_time: PISC_TIME;
427 tm_date: PCTimeStructure);
428 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
429
430 Tisc_decode_timestamp = procedure (ib_timestamp: PISC_TIMESTAMP;
431 tm_date: PCTimeStructure);
432 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
433
434 Tisc_detach_database = function (status_vector : PISC_STATUS;
435 db_handle : PISC_DB_HANDLE): ISC_STATUS;
436 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
437
438 Tisc_drop_database = function (status_vector : PISC_STATUS;
439 db_handle : PISC_DB_HANDLE): ISC_STATUS;
440 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
441
442 Tisc_dsql_allocate_statement = function (status_vector : PISC_STATUS;
443 db_handle : PISC_DB_HANDLE;
444 stmt_handle : PISC_STMT_HANDLE): ISC_STATUS;
445 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
446
447 Tisc_dsql_alloc_statement2 = function (status_vector : PISC_STATUS;
448 db_handle : PISC_DB_HANDLE;
449 stmt_handle : PISC_STMT_HANDLE): ISC_STATUS;
450 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
451
452 Tisc_dsql_describe = function (status_vector : PISC_STATUS;
453 stmt_handle : PISC_STMT_HANDLE;
454 dialect : UShort;
455 xsqlda : PXSQLDA): ISC_STATUS;
456 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
457
458 Tisc_dsql_describe_bind = function (status_vector : PISC_STATUS;
459 stmt_handle : PISC_STMT_HANDLE;
460 dialect : UShort;
461 xsqlda : PXSQLDA): ISC_STATUS;
462 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
463
464 Tisc_dsql_exec_immed2 = function (status_vector : PISC_STATUS;
465 db_handle : PISC_DB_HANDLE;
466 tran_handle : PISC_TR_HANDLE;
467 length : UShort;
468 statement : PByte;
469 dialect : UShort;
470 in_xsqlda,
471 out_xsqlda : PXSQLDA): ISC_STATUS;
472 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
473
474 Tisc_dsql_execute = function (status_vector : PISC_STATUS;
475 tran_handle : PISC_TR_HANDLE;
476 stmt_handle : PISC_STMT_HANDLE;
477 dialect : UShort;
478 xsqlda : PXSQLDA): ISC_STATUS;
479 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
480
481 Tisc_dsql_execute2 = function (status_vector : PISC_STATUS;
482 tran_handle : PISC_TR_HANDLE;
483 stmt_handle : PISC_STMT_HANDLE;
484 dialect : UShort;
485 in_xsqlda,
486 out_xsqlda : PXSQLDA): ISC_STATUS;
487 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
488
489 Tisc_dsql_execute_immediate = function (status_vector : PISC_STATUS;
490 db_handle : PISC_DB_HANDLE;
491 tran_handle : PISC_TR_HANDLE;
492 length : UShort;
493 statement : PAnsiChar;
494 dialect : UShort;
495 xsqlda : PXSQLDA): ISC_STATUS;
496 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
497
498 Tisc_dsql_fetch = function (status_vector : PISC_STATUS;
499 stmt_handle : PISC_STMT_HANDLE;
500 dialect : UShort;
501 xsqlda : PXSQLDA): ISC_STATUS;
502 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
503
504 (*$ifdef SCROLLABLE_CURSORS*)
505 Tisc_dsql_fetch2 = function (status_vector : PISC_STATUS;
506 stmt_handle : PISC_STMT_HANDLE;
507 dialect : UShort;
508 xsqlda : PXSQLDA;
509 isc_arg5 : UShort;
510 isc_arg6 : Long): ISC_STATUS;
511 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
512 (*$endif*)
513
514 Tisc_dsql_finish = function (db_handle : PISC_DB_HANDLE): ISC_STATUS;
515 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
516
517 Tisc_dsql_free_statement = function (status_vector : PISC_STATUS;
518 stmt_handle : PISC_STMT_HANDLE;
519 options : UShort): ISC_STATUS;
520 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
521
522 Tisc_dsql_insert = function (status_vector : PISC_STATUS;
523 stmt_handle : PISC_STMT_HANDLE;
524 arg3 : UShort;
525 xsqlda : PXSQLDA): ISC_STATUS;
526 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
527
528 Tisc_dsql_prepare = function (status_vector : PISC_STATUS;
529 tran_handle : PISC_TR_HANDLE;
530 stmt_handle : PISC_STMT_HANDLE;
531 length : UShort;
532 statement : PAnsiChar;
533 dialect : UShort;
534 xsqlda : PXSQLDA): ISC_STATUS;
535 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
536
537 Tisc_dsql_set_cursor_name = function (status_vector : PISC_STATUS;
538 stmt_handle : PISC_STMT_HANDLE;
539 cursor_name : PAnsiChar;
540 _type : UShort): ISC_STATUS;
541 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
542
543 Tisc_dsql_sql_info = function (status_vector : PISC_STATUS;
544 stmt_handle : PISC_STMT_HANDLE;
545 item_length : Short;
546 items : PByte;
547 buffer_length : Short;
548 buffer : PByte): ISC_STATUS;
549 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
550
551 Tisc_encode_date = procedure (tm_date : PCTimeStructure;
552 ib_date : PISC_QUAD);
553 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
554
555 Tisc_encode_sql_date = procedure (tm_date : PCTimeStructure;
556 ib_date : PISC_DATE);
557 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
558
559 Tisc_encode_sql_time = procedure (tm_date : PCTimeStructure;
560 ib_time : PISC_TIME);
561 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
562
563 Tisc_encode_timestamp = procedure (tm_date : PCTimeStructure;
564 ib_timestamp : PISC_TIMESTAMP);
565 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
566
567 Tisc_event_block = function (event_buffer : PPByte;
568 result_buffer : PPByte;
569 id_count : UShort):ISC_LONG;
570 cdecl varargs;
571
572 Tisc_event_counts = procedure (status_vector : PISC_LONG;
573 buffer_length : Short;
574 event_buffer : PByte;
575 result_buffer : PByte);
576 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
577
578 Tisc_expand_dpb = procedure (dpb : PPByte;
579 dpb_length : PShort;
580 item_list : array of Pointer);
581 cdecl;
582
583 Tisc_modify_dpb = function (dpb : PPByte;
584 isc_arg2,
585 isc_arg3 : PShort;
586 isc_arg4 : UShort;
587 isc_arg5 : PByte;
588 isc_arg6 : Short): Int;
589 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
590
591 Tisc_free = function (isc_arg1 : PByte): ISC_LONG;
592 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
593
594 Tisc_get_segment = function (status_vector : PISC_STATUS;
595 blob_handle : PISC_BLOB_HANDLE;
596 actual_seg_length : PUShort;
597 seg_buffer_length : UShort;
598 seg_buffer : PByte): ISC_STATUS;
599 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
600
601 Tisc_get_slice = function (status_vector : PISC_STATUS;
602 db_handle : PISC_DB_HANDLE;
603 tran_handle : PISC_TR_HANDLE;
604 isc_arg4 : PISC_QUAD;
605 isc_arg5 : Short;
606 isc_arg6 : PByte;
607 isc_arg7 : Short;
608 isc_arg8 : PISC_LONG;
609 isc_arg9 : ISC_LONG;
610 isc_arg10 : PVoid;
611 isc_arg11 : PISC_LONG): ISC_STATUS;
612 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
613
614 Tisc_interprete = function (buffer : PByte;
615 status_vector : PPISC_STATUS): ISC_STATUS;
616 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
617
618 Tisc_open_blob = function (status_vector : PISC_STATUS;
619 db_handle : PISC_DB_HANDLE;
620 tran_handle : PISC_TR_HANDLE;
621 blob_handle : PISC_BLOB_HANDLE;
622 blob_id : PISC_QUAD): ISC_STATUS;
623 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
624
625 Tisc_open_blob2 = function (status_vector : PISC_STATUS;
626 db_handle : PISC_DB_HANDLE;
627 tran_handle : PISC_TR_HANDLE;
628 blob_handle : PISC_BLOB_HANDLE;
629 blob_id : PISC_QUAD;
630 bpb_length : Short;
631 bpb_buffer : PByte): ISC_STATUS;
632 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
633
634 Tisc_prepare_transaction2 = function (status_vector : PISC_STATUS;
635 tran_handle : PISC_TR_HANDLE;
636 msg_length : Short;
637 msg : PByte): ISC_STATUS;
638 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
639
640 Tisc_print_sqlerror = procedure (sqlcode : Short;
641 status_vector : PISC_STATUS);
642 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
643
644 Tisc_print_status = function (status_vector : PISC_STATUS): ISC_STATUS;
645 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
646
647 Tisc_put_segment = function (status_vector : PISC_STATUS;
648 blob_handle : PISC_BLOB_HANDLE;
649 seg_buffer_len : UShort;
650 seg_buffer : PByte): ISC_STATUS;
651 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
652
653 Tisc_put_slice = function (status_vector : PISC_STATUS;
654 db_handle : PISC_DB_HANDLE;
655 tran_handle : PISC_TR_HANDLE;
656 isc_arg4 : PISC_QUAD;
657 isc_arg5 : Short;
658 isc_arg6 : PByte;
659 isc_arg7 : Short;
660 isc_arg8 : PISC_LONG;
661 isc_arg9 : ISC_LONG;
662 isc_arg10 : PVoid): ISC_STATUS;
663 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
664
665 Tisc_que_events = function (status_vector : PISC_STATUS;
666 db_handle : PISC_DB_HANDLE;
667 event_id : PISC_LONG;
668 length : Short;
669 event_buffer : PByte;
670 event_function : TISC_CALLBACK;
671 event_function_arg : PVoid): ISC_STATUS;
672 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
673
674 Tisc_rollback_retaining = function (status_vector : PISC_STATUS;
675 tran_handle : PISC_TR_HANDLE): ISC_STATUS;
676 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
677
678 Tisc_rollback_transaction = function (status_vector : PISC_STATUS;
679 tran_handle : PISC_TR_HANDLE): ISC_STATUS;
680 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
681
682 Tisc_start_multiple = function (status_vector : PISC_STATUS;
683 tran_handle : PISC_TR_HANDLE;
684 db_handle_count : Short;
685 teb_vector_address : PISC_TEB): ISC_STATUS;
686 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
687
688 Tisc_start_transaction = function (status_vector : PISC_STATUS;
689 tran_handle : PISC_TR_HANDLE;
690 db_handle_count : Short;
691 db_handle : PISC_DB_HANDLE;
692 tpb_length : UShort;
693 tpb_address : PByte): ISC_STATUS;
694 cdecl;
695
696 Tisc_sqlcode = function (status_vector : PISC_STATUS): ISC_LONG;
697 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
698
699
700 Tisc_sql_interprete = procedure (sqlcode : Short;
701 buffer : PAnsiChar;
702 buffer_length : Short);
703 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
704
705 Tisc_transaction_info = function (status_vector : PISC_STATUS;
706 tran_handle : PISC_TR_HANDLE;
707 item_list_buffer_length : Short;
708 item_list_buffer : PByte;
709 result_buffer_length : Short;
710 result_buffer : PByte): ISC_STATUS;
711 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
712
713 Tisc_transact_request = function (status_vector : PISC_STATUS;
714 db_handle : PISC_DB_HANDLE;
715 tran_handle : PISC_TR_HANDLE;
716 isc_arg4 : UShort;
717 isc_arg5 : PByte;
718 isc_arg6 : UShort;
719 isc_arg7 : PByte;
720 isc_arg8 : UShort;
721 isc_arg9 : PByte): ISC_STATUS;
722 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
723
724 Tisc_vax_integer = function (buffer : PByte;
725 length : Short): ISC_LONG;
726 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
727
728 Tisc_portable_integer = function (buffer : PByte;
729 length : Short): ISC_INT64;
730 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
731
732 (***************************************)
733 (** Security Functions and structures **)
734 (***************************************)
735
736 const
737 sec_uid_spec = $01;
738 sec_gid_spec = $02;
739 sec_server_spec = $04;
740 sec_password_spec = $08;
741 sec_group_name_spec = $10;
742 sec_first_name_spec = $20;
743 sec_middle_name_spec = $40;
744 sec_last_name_spec = $80;
745 sec_dba_user_name_spec = $100;
746 sec_dba_password_spec = $200;
747
748 sec_protocol_tcpip = 1;
749 sec_protocol_netbeui = 2;
750 sec_protocol_spx = 3;
751 sec_protocol_local = 4;
752
753 type
754 TUserSecData = record
755 sec_flags: Short; (** which fields are specified **)
756 uid: Int; (** the user's id **)
757 gid: int; (** the user's group id **)
758 protocol: Int; (** protocol to use for connection **)
759 server: PByte; (** server to administer **)
760 user_name: PByte; (** the user's name **)
761 password: PByte; (** the user's password **)
762 group_name: PByte; (** the group name **)
763 first_name: PByte; (** the user's first name **)
764 middle_name: PByte; (** the user's middle name **)
765 last_name: PByte; (** the user's last name **)
766 dba_user_name: PByte; (** the dba user name **)
767 dba_password: PByte; (** the dba password **)
768 end;
769 PUserSecData = ^TUserSecData;
770
771 Tisc_add_user = function (status_vector : PISC_STATUS;
772 user_sec_data : PUserSecData): ISC_STATUS;
773 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
774
775 Tisc_delete_user = function (status_vector : PISC_STATUS;
776 user_sec_data : PUserSecData): ISC_STATUS;
777 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
778
779 Tisc_modify_user = function (status_vector : PISC_STATUS;
780 user_sec_data : PUserSecData): ISC_STATUS;
781 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
782
783 (************************************)
784 (** Other OSRI functions **)
785 (************************************)
786
787 Tisc_compile_request = function (status_vector : PISC_STATUS;
788 db_handle : PISC_DB_HANDLE;
789 request_handle : PISC_REQ_HANDLE;
790 isc_arg4 : Short;
791 isc_arg5 : PByte): ISC_STATUS;
792 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
793
794 Tisc_compile_request2 = function (status_vector : PISC_STATUS;
795 db_handle : PISC_DB_HANDLE;
796 request_handle : PISC_REQ_HANDLE;
797 isc_arg4 : Short;
798 isc_arg5 : PByte): ISC_STATUS;
799 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
800
801 Tisc_ddl = function (status_vector : PISC_STATUS;
802 db_handle : PISC_DB_HANDLE;
803 tran_handle : PISC_TR_HANDLE;
804 isc_arg4 : Short;
805 isc_arg5 : PByte): ISC_STATUS;
806 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
807
808 Tisc_prepare_transaction = function (status_vector : PISC_STATUS;
809 tran_handle : PISC_TR_HANDLE): ISC_STATUS;
810 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
811
812
813 Tisc_receive = function (status_vector : PISC_STATUS;
814 request_handle : PISC_REQ_HANDLE;
815 isc_arg3,
816 isc_arg4 : Short;
817 isc_arg5 : PVoid;
818 isc_arg6 : Short): ISC_STATUS;
819 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
820
821 Tisc_receive2 = function (status_vector : PISC_STATUS;
822 request_handle : PISC_REQ_HANDLE;
823 isc_arg3,
824 isc_arg4 : Short;
825 isc_arg5 : PVoid;
826 isc_arg6,
827 isc_arg7 : Short;
828 isc_arg8 : Long): ISC_STATUS;
829 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
830
831 Tisc_reconnect_transaction = function (status_vector : PISC_STATUS;
832 db_handle : PISC_DB_HANDLE;
833 tran_handle : PISC_TR_HANDLE;
834 isc_arg4 : Short;
835 isc_arg5 : PByte): ISC_STATUS;
836 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
837
838 Tisc_release_request = function (status_vector : PISC_STATUS;
839 request_handle : PISC_REQ_HANDLE): ISC_STATUS;
840 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
841
842 Tisc_request_info = function (status_vector : PISC_STATUS;
843 request_handle : PISC_REQ_HANDLE;
844 isc_arg3 : Short;
845 isc_arg4 : Short;
846 isc_arg5 : PByte;
847 isc_arg6 : Short;
848 isc_arg7 : PByte): ISC_STATUS;
849 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
850
851 Tisc_seek_blob = function (status_vector : PISC_STATUS;
852 blob_handle : PISC_BLOB_HANDLE;
853 isc_arg3 : Short;
854 isc_arg4 : ISC_LONG;
855 isc_arg5 : PISC_LONG): ISC_STATUS;
856 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
857
858 Tisc_send = function (status_vector : PISC_STATUS;
859 request_handle : PISC_REQ_HANDLE;
860 isc_arg3,
861 isc_arg4 : Short;
862 isc_arg5 : PVoid;
863 isc_arg6 : Short): ISC_STATUS;
864 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
865
866 Tisc_start_and_send = function (status_vector : PISC_STATUS;
867 request_handle : PISC_REQ_HANDLE;
868 tran_handle : PISC_TR_HANDLE;
869 isc_arg4,
870 isc_arg5 : Short;
871 isc_arg6 : PVoid;
872 isc_arg7 : Short): ISC_STATUS;
873 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
874
875 Tisc_start_request = function (status_vector : PISC_STATUS;
876 request_handle : PISC_REQ_HANDLE;
877 tran_handle : PISC_TR_HANDLE;
878 isc_arg4 : Short): ISC_STATUS;
879 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
880
881 Tisc_unwind_request = function (status_vector : PISC_STATUS;
882 tran_handle : PISC_TR_HANDLE;
883 isc_arg3 : Short): ISC_STATUS;
884 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
885
886 Tisc_wait_for_event = function (status_vector : PISC_STATUS;
887 db_handle : PISC_DB_HANDLE;
888 length : Short;
889 event_buffer,
890 result_buffer : PByte): ISC_STATUS;
891 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
892
893 (*******************************)
894 (** Other Sql functions **)
895 (*******************************)
896 {$IFDEF IB5_ONLY}
897 Tisc_close = function (status_vector : PISC_STATUS;
898 isc_arg2 : PByte): ISC_STATUS;
899 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
900
901 Tisc_declare = function (status_vector : PISC_STATUS;
902 isc_arg2,
903 isc_arg3 : PByte): ISC_STATUS;
904 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
905
906 Tisc_describe = function (status_vector : PISC_STATUS;
907 isc_arg2 : PByte;
908 isc_arg3 : PSQLDA): ISC_STATUS;
909 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
910
911 Tisc_describe_bind = function (status_vector : PISC_STATUS;
912 isc_arg2 : PByte;
913 isc_arg3 : PSQLDA): ISC_STATUS;
914 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
915
916 Tisc_execute = function (status_vector : PISC_STATUS;
917 tran_handle : PISC_TR_HANDLE;
918 isc_arg3 : PByte;
919 isc_arg4 : PSQLDA): ISC_STATUS;
920 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
921
922 Tisc_execute_immediate = function (status_vector : PISC_STATUS;
923 db_handle : PISC_DB_HANDLE;
924 tran_handle : PISC_TR_HANDLE;
925 isc_arg4 : PShort;
926 isc_arg5 : PByte): ISC_STATUS;
927 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
928
929 Tisc_fetch = function (status_vector : PISC_STATUS;
930 isc_arg2 : PByte;
931 isc_arg3 : PSQLDA): ISC_STATUS;
932 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
933
934 Tisc_open = function (status_vector : PISC_STATUS;
935 tran_handle : PISC_TR_HANDLE;
936 isc_arg3 : PByte;
937 isc_arg4 : PSQLDA): ISC_STATUS;
938 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
939
940 Tisc_prepare = function (status_vector : PISC_STATUS;
941 db_handle : PISC_DB_HANDLE;
942 tran_handle : PISC_TR_HANDLE;
943 isc_arg4 : PByte;
944 isc_arg5 : PShort;
945 isc_arg6 : PByte;
946 isc_arg7 : PSQLDA): ISC_STATUS;
947 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
948 {$ELSE}
949 Tisc_close = function (status_vector : PISC_STATUS;
950 isc_arg2 : PByte): ISC_STATUS;
951 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
952
953 Tisc_declare = function (status_vector : PISC_STATUS;
954 isc_arg2,
955 isc_arg3 : PByte): ISC_STATUS;
956 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
957
958 Tisc_describe = function (status_vector : PISC_STATUS;
959 isc_arg2 : PByte;
960 isc_arg3 : PXSQLDA): ISC_STATUS;
961 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
962
963 Tisc_describe_bind = function (status_vector : PISC_STATUS;
964 isc_arg2 : PByte;
965 isc_arg3 : PXSQLDA): ISC_STATUS;
966 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
967
968 Tisc_execute = function (status_vector : PISC_STATUS;
969 tran_handle : PISC_TR_HANDLE;
970 isc_arg3 : PByte;
971 isc_arg4 : PXSQLDA): ISC_STATUS;
972 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
973
974 Tisc_execute_immediate = function (status_vector : PISC_STATUS;
975 db_handle : PISC_DB_HANDLE;
976 tran_handle : PISC_TR_HANDLE;
977 isc_arg4 : PShort;
978 isc_arg5 : PByte): ISC_STATUS;
979 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
980
981 Tisc_fetch = function (status_vector : PISC_STATUS;
982 isc_arg2 : PByte;
983 isc_arg3 : PXSQLDA): ISC_STATUS;
984 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
985
986 Tisc_open = function (status_vector : PISC_STATUS;
987 tran_handle : PISC_TR_HANDLE;
988 isc_arg3 : PByte;
989 isc_arg4 : PXSQLDA): ISC_STATUS;
990 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
991
992 Tisc_prepare = function (status_vector : PISC_STATUS;
993 db_handle : PISC_DB_HANDLE;
994 tran_handle : PISC_TR_HANDLE;
995 isc_arg4 : PByte;
996 isc_arg5 : PShort;
997 isc_arg6 : PByte;
998 isc_arg7 : PXSQLDA): ISC_STATUS;
999 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1000 {$ENDIF}
1001
1002 (***************************************)
1003 (** Other Dynamic sql functions **)
1004 (***************************************)
1005
1006 Tisc_dsql_execute_m = function (status_vector : PISC_STATUS;
1007 tran_handle : PISC_TR_HANDLE;
1008 statement_handle : PISC_STMT_HANDLE;
1009 isc_arg4 : UShort;
1010 isc_arg5 : PByte;
1011 isc_arg6 : UShort;
1012 isc_arg7 : UShort;
1013 isc_arg8 : PByte): ISC_STATUS;
1014 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1015
1016 Tisc_dsql_execute2_m = function (status_vector : PISC_STATUS;
1017 tran_handle : PISC_TR_HANDLE;
1018 statement_handle : PISC_STMT_HANDLE;
1019 isc_arg4 : UShort;
1020 isc_arg5 : PByte;
1021 isc_arg6 : UShort;
1022 isc_arg7 : UShort;
1023 isc_arg8 : PByte;
1024 isc_arg9 : UShort;
1025 isc_arg10 : PByte;
1026 isc_arg11 : UShort;
1027 isc_arg12 : UShort;
1028 isc_arg13 : PByte): ISC_STATUS;
1029 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1030
1031 Tisc_dsql_execute_immediate_m = function (status_vector : PISC_STATUS;
1032 db_handle : PISC_DB_HANDLE;
1033 tran_handle : PISC_TR_HANDLE;
1034 isc_arg4 : UShort;
1035 isc_arg5 : PByte;
1036 isc_arg6 : UShort;
1037 isc_arg7 : UShort;
1038 isc_arg8 : PByte;
1039 isc_arg9 : UShort;
1040 isc_arg10 : UShort;
1041 isc_arg11 : PByte): ISC_STATUS;
1042 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1043
1044 Tisc_dsql_exec_immed3_m = function (status_vector : PISC_STATUS;
1045 db_handle : PISC_DB_HANDLE;
1046 tran_handle : PISC_TR_HANDLE;
1047 isc_arg4 : UShort;
1048 isc_arg5 : PByte;
1049 isc_arg6 : UShort;
1050 isc_arg7 : UShort;
1051 isc_arg8 : PByte;
1052 isc_arg9 : UShort;
1053 isc_arg10 : UShort;
1054 isc_arg11 : PByte;
1055 isc_arg12 : UShort;
1056 isc_arg13 : PByte;
1057 isc_arg14 : UShort;
1058 isc_arg15 : UShort;
1059 isc_arg16 : PByte): ISC_STATUS;
1060 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1061
1062 Tisc_dsql_fetch_m = function (status_vector : PISC_STATUS;
1063 statement_handle : PISC_STMT_HANDLE;
1064 isc_arg3 : UShort;
1065 isc_arg4 : PByte;
1066 isc_arg5 : UShort;
1067 isc_arg6 : UShort;
1068 isc_arg7 : PByte): ISC_STATUS;
1069 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1070
1071 (*$ifdef SCROLLABLE_CURSORS*)
1072 Tisc_dsql_fetch2_m = function (status_vector : PISC_STATUS;
1073 statement_handle : PISC_STMT_HANDLE;
1074 isc_arg3 : UShort;
1075 isc_arg4 : PByte;
1076 isc_arg5 : UShort;
1077 isc_arg6 : UShort;
1078 isc_arg7 : PByte;
1079 isc_arg8 : UShort;
1080 isc_arg9 : Long): ISC_STATUS;
1081 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1082 (*$endif*)
1083
1084 Tisc_dsql_insert_m = function (status_vector : PISC_STATUS;
1085 statement_handle : PISC_STMT_HANDLE;
1086 isc_arg3 : UShort;
1087 isc_arg4 : PByte;
1088 isc_arg5 : UShort;
1089 isc_arg6 : UShort;
1090 isc_arg7 : PByte): ISC_STATUS;
1091 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1092
1093 Tisc_dsql_prepare_m = function (status_vector : PISC_STATUS;
1094 tran_handle : PISC_TR_HANDLE;
1095 statement_handle : PISC_STMT_HANDLE;
1096 isc_arg4 : UShort;
1097 isc_arg5 : PByte;
1098 isc_arg6 : UShort;
1099 isc_arg7 : UShort;
1100 isc_arg8 : PByte;
1101 isc_arg9 : UShort;
1102 isc_arg10 : PByte): ISC_STATUS;
1103 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1104
1105 Tisc_dsql_release = function (status_vector : PISC_STATUS;
1106 isc_arg2 : PByte): ISC_STATUS;
1107 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1108
1109 Tisc_embed_dsql_close = function(status_vector : PISC_STATUS;
1110 isc_arg2 : PByte): ISC_STATUS;
1111 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1112
1113 Tisc_embed_dsql_declare = function (status_vector : PISC_STATUS;
1114 isc_arg2 : PByte;
1115 isc_arg3 : PByte): ISC_STATUS;
1116 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1117
1118 Tisc_embed_dsql_describe = function (status_vector : PISC_STATUS;
1119 isc_arg2 : PByte;
1120 isc_arg3 : UShort;
1121 isc_arg4 : PXSQLDA): ISC_STATUS;
1122 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1123
1124 Tisc_embed_dsql_describe_bind = function (status_vector : PISC_STATUS;
1125 isc_arg2 : PByte;
1126 isc_arg3 : UShort;
1127 isc_arg4 : PXSQLDA): ISC_STATUS;
1128 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1129
1130 Tisc_embed_dsql_execute = function (status_vector : PISC_STATUS;
1131 tran_handle : PISC_TR_HANDLE;
1132 isc_arg3 : PByte;
1133 isc_arg4 : UShort;
1134 isc_arg5 : PXSQLDA): ISC_STATUS;
1135 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1136
1137 Tisc_embed_dsql_execute2 = function (status_vector : PISC_STATUS;
1138 tran_handle : PISC_TR_HANDLE;
1139 isc_arg3 : PByte;
1140 isc_arg4 : UShort;
1141 isc_arg5 : PXSQLDA;
1142 isc_arg6 : PXSQLDA): ISC_STATUS;
1143 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1144
1145 Tisc_embed_dsql_execute_immed = function (status_vector : PISC_STATUS;
1146 db_handle : PISC_DB_HANDLE;
1147 tran_handle : PISC_TR_HANDLE;
1148 isc_arg4 : UShort;
1149 isc_arg5 : PByte;
1150 isc_arg6 : UShort;
1151 isc_arg7 : PXSQLDA): ISC_STATUS;
1152 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1153
1154 Tisc_embed_dsql_fetch = function(status_vector : PISC_STATUS;
1155 isc_arg2 : PByte;
1156 isc_arg3 : UShort;
1157 isc_arg4 : PXSQLDA): ISC_STATUS;
1158 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1159
1160 (*$ifdef SCROLLABLE_CURSORS*)
1161 Tisc_embed_dsql_fetch2 = function (status_vector : PISC_STATUS;
1162 isc_arg2 : PByte;
1163 isc_arg3 : UShort;
1164 isc_arg4 : PXSQLDA;
1165 isc_arg5 : UShort;
1166 isc_arg6 : Long): ISC_STATUS;
1167 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1168 (*$endif*)
1169
1170 Tisc_embed_dsql_open = function (status_vector : PISC_STATUS;
1171 tran_handle : PISC_TR_HANDLE;
1172 isc_arg3 : PByte;
1173 isc_arg4 : UShort;
1174 isc_arg5 : PXSQLDA): ISC_STATUS;
1175 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1176
1177 Tisc_embed_dsql_open2 = function (status_vector : PISC_STATUS;
1178 tran_handle : PISC_TR_HANDLE;
1179 isc_arg3 : PByte;
1180 isc_arg4 : UShort;
1181 isc_arg5 : PXSQLDA;
1182 isc_arg6 : PXSQLDA): ISC_STATUS;
1183 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1184
1185 Tisc_embed_dsql_insert = function (status_vector : PISC_STATUS;
1186 isc_arg2 : PByte;
1187 isc_arg3 : UShort;
1188 isc_arg4 : PXSQLDA): ISC_STATUS;
1189 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1190
1191 Tisc_embed_dsql_prepare = function (status_vector : PISC_STATUS;
1192 db_handle : PISC_DB_HANDLE;
1193 tran_handle : PISC_TR_HANDLE;
1194 isc_arg4 : PByte;
1195 isc_arg5 : UShort;
1196 isc_arg6 : PByte;
1197 isc_arg7 : UShort;
1198 isc_arg8 : PXSQLDA): ISC_STATUS;
1199 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1200
1201 Tisc_embed_dsql_release = function (status_vector : PISC_STATUS;
1202 isc_arg2 : PByte): ISC_STATUS;
1203 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1204
1205 (********************************)
1206 (** Other Blob functions **)
1207 (********************************)
1208
1209 TBLOB_open = function (blob_handle : TISC_BLOB_HANDLE;
1210 isc_arg2 : PByte;
1211 isc_arg3 : int): PBSTREAM;
1212 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1213
1214 TBLOB_put = function (isc_arg1 : char;
1215 isc_arg2 : PBSTREAM): Int;
1216 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1217
1218 TBLOB_close = function (isc_arg1 : PBSTREAM): Int;
1219 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1220
1221 TBLOB_get = function (isc_arg1 : PBSTREAM): Int;
1222 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1223
1224 TBLOB_display = function (isc_arg1 : PISC_QUAD;
1225 db_handle : TISC_DB_HANDLE;
1226 tran_handle : TISC_TR_HANDLE;
1227 isc_arg4 : PByte): Int;
1228 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1229
1230 TBLOB_dump = function (isc_arg1 : PISC_QUAD;
1231 db_handle : TISC_DB_HANDLE;
1232 tran_handle : TISC_TR_HANDLE;
1233 isc_arg4 : PByte): Int;
1234 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1235
1236 TBLOB_edit = function (isc_arg1 : PISC_QUAD;
1237 db_handle : TISC_DB_HANDLE;
1238 tran_handle : TISC_TR_HANDLE;
1239 isc_arg4 : PByte): Int;
1240 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1241
1242 TBLOB_load = function (isc_arg1 : PISC_QUAD;
1243 db_handle : TISC_DB_HANDLE;
1244 tran_handle : TISC_TR_HANDLE;
1245 isc_arg4 : PByte): Int;
1246 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1247
1248 TBLOB_text_dump = function (isc_arg1 : PISC_QUAD;
1249 db_handle : TISC_DB_HANDLE;
1250 tran_handle : TISC_TR_HANDLE;
1251 isc_arg4 : PByte): Int;
1252 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1253
1254 TBLOB_text_load = function (isc_arg1 : PISC_QUAD;
1255 db_handle : TISC_DB_HANDLE;
1256 tran_handle : TISC_TR_HANDLE;
1257 isc_arg4 : PByte): Int;
1258 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1259
1260 TBopen = function (isc_arg1 : PISC_QUAD;
1261 db_handle : TISC_DB_HANDLE;
1262 tran_handle : TISC_TR_HANDLE;
1263 isc_arg4 : PByte): Int;
1264 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1265
1266 TBopen2 = function (isc_arg1 : PISC_QUAD;
1267 db_handle : TISC_DB_HANDLE;
1268 tran_handle : TISC_TR_HANDLE;
1269 isc_arg4 : PByte;
1270 isc_arg5 : UShort): PBSTREAM;
1271 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1272
1273 (********************************)
1274 (** Other Misc functions **)
1275 (********************************)
1276
1277 Tisc_ftof = function (isc_arg1 : PByte;
1278 isc_arg2 : UShort;
1279 isc_arg3 : PByte;
1280 isc_arg4 : UShort): ISC_LONG;
1281 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1282
1283 Tisc_print_blr = function (isc_arg1 : PByte;
1284 isc_arg2 : TISC_CALLBACK;
1285 isc_arg3 : PVoid;
1286 isc_arg4 : Short): ISC_STATUS;
1287 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1288
1289 Tisc_set_debug = procedure (isc_arg1 : Int);
1290 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1291
1292 Tisc_qtoq = procedure (isc_arg1 : PISC_QUAD;
1293 isc_arg2 : PISC_QUAD);
1294 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1295
1296 Tisc_vtof = procedure (isc_arg1 : PByte;
1297 isc_arg2 : PByte;
1298 isc_arg3 : UShort);
1299 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1300
1301 Tisc_vtov = procedure (isc_arg1 : PByte;
1302 isc_arg2 : PByte;
1303 isc_arg3 : Short);
1304 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1305
1306 Tisc_version = function (db_handle : PISC_DB_HANDLE;
1307 isc_arg2 : TISC_CALLBACK;
1308 isc_arg3 : PVoid): Int;
1309 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1310
1311 Tisc_reset_fpe = function (isc_arg1 : UShort): ISC_LONG;
1312 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1313
1314 (*******************************************)
1315 (** Service manager functions **)
1316 (*******************************************)
1317
1318 Tisc_service_attach = function (status_vector : PISC_STATUS;
1319 isc_arg2 : UShort;
1320 isc_arg3 : PAnsiChar;
1321 service_handle : PISC_SVC_HANDLE;
1322 isc_arg5 : UShort;
1323 isc_arg6 : PByte): ISC_STATUS;
1324 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1325
1326 Tisc_service_detach = function (status_vector : PISC_STATUS;
1327 service_handle : PISC_SVC_HANDLE): ISC_STATUS;
1328 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1329
1330 Tisc_service_query = function (status_vector : PISC_STATUS;
1331 service_handle : PISC_SVC_HANDLE;
1332 recv_handle : PISC_SVC_HANDLE;
1333 isc_arg4 : UShort;
1334 isc_arg5 : PByte;
1335 isc_arg6 : UShort;
1336 isc_arg7 : PByte;
1337 isc_arg8 : UShort;
1338 isc_arg9 : PByte): ISC_STATUS;
1339 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1340
1341 Tisc_service_start = function (status_vector : PISC_STATUS;
1342 service_handle : PISC_SVC_HANDLE;
1343 recv_handle : PISC_SVC_HANDLE;
1344 isc_arg4 : UShort;
1345 isc_arg5 : PByte): ISC_STATUS;
1346 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1347
1348 (*********************************)
1349 (** Forms functions **)
1350 (*********************************)
1351
1352 Tisc_compile_map = function (status_vector : PISC_STATUS;
1353 form_handle : PISC_FORM_HANDLE;
1354 request_handle : PISC_REQ_HANDLE;
1355 isc_arg4 : PShort;
1356 isc_arg5 : PByte): ISC_STATUS;
1357 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1358
1359 Tisc_compile_menu = function (status_vector : PISC_STATUS;
1360 form_handle : PISC_FORM_HANDLE;
1361 request_handle : PISC_REQ_HANDLE;
1362 isc_arg4 : PShort;
1363 isc_arg5 : PByte): ISC_STATUS;
1364 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1365
1366 Tisc_compile_sub_map = function (status_vector : PISC_STATUS;
1367 win_handle : PISC_WIN_HANDLE;
1368 request_handle : PISC_REQ_HANDLE;
1369 isc_arg4 : PShort;
1370 isc_arg5 : PByte): ISC_STATUS;
1371 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1372
1373 Tisc_create_window = function (status_vector : PISC_STATUS;
1374 win_handle : PISC_WIN_HANDLE;
1375 isc_arg3 : PShort;
1376 isc_arg4 : PByte;
1377 isc_arg5 : PShort;
1378 isc_arg6 : PShort): ISC_STATUS;
1379 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1380
1381 Tisc_delete_window = function (status_vector : PISC_STATUS;
1382 win_handle : PISC_WIN_HANDLE): ISC_STATUS;
1383 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1384
1385 Tisc_drive_form = function (status_vector : PISC_STATUS;
1386 db_handle : PISC_DB_HANDLE;
1387 tran_handle : PISC_TR_HANDLE;
1388 win_handle : PISC_WIN_HANDLE;
1389 request_handle : PISC_REQ_HANDLE;
1390 isc_arg6 : PUChar;
1391 isc_arg7 : PUChar): ISC_STATUS;
1392 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1393
1394 Tisc_drive_menu = function (status_vector : PISC_STATUS;
1395 win_handle : PISC_WIN_HANDLE;
1396 request_handle : PISC_REQ_HANDLE;
1397 isc_arg4 : PShort;
1398 isc_arg5 : PByte;
1399 isc_arg6 : PShort;
1400 isc_arg7 : PByte;
1401 isc_arg8 : PShort;
1402 isc_arg9 : PShort;
1403 isc_arg10 : PByte;
1404 isc_arg11 : PISC_LONG): ISC_STATUS;
1405 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1406
1407 Tisc_form_delete = function (status_vector : PISC_STATUS;
1408 form_handle : PISC_FORM_HANDLE): ISC_STATUS;
1409 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1410
1411 Tisc_form_fetch = function (status_vector : PISC_STATUS;
1412 db_handle : PISC_DB_HANDLE;
1413 tran_handle : PISC_TR_HANDLE;
1414 request_handle : PISC_REQ_HANDLE;
1415 isc_arg5 : PUChar): ISC_STATUS;
1416 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1417
1418 Tisc_form_insert = function (status_vector : PISC_STATUS;
1419 db_handle : PISC_DB_HANDLE;
1420 tran_handle : PISC_TR_HANDLE;
1421 request_handle : PISC_REQ_HANDLE;
1422 isc_arg5 : PUChar): ISC_STATUS;
1423 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1424
1425 Tisc_get_entree = function (status_vector : PISC_STATUS;
1426 request_handle : PISC_REQ_HANDLE;
1427 isc_arg3 : PShort;
1428 isc_arg4 : PByte;
1429 isc_arg5 : PISC_LONG;
1430 isc_arg6 : PShort): ISC_STATUS;
1431 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1432
1433 Tisc_initialize_menu = function (status_vector : PISC_STATUS;
1434 request_handle : PISC_REQ_HANDLE): ISC_STATUS;
1435 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1436
1437 Tisc_menu = function (status_vector : PISC_STATUS;
1438 win_handle : PISC_WIN_HANDLE;
1439 request_handle : PISC_REQ_HANDLE;
1440 isc_arg4 : PShort;
1441 isc_arg5 : PByte): ISC_STATUS;
1442 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1443
1444 Tisc_load_form = function (status_vector : PISC_STATUS;
1445 db_handle : PISC_DB_HANDLE;
1446 tran_handle : PISC_TR_HANDLE;
1447 form_handle : PISC_FORM_HANDLE;
1448 isc_arg5 : PShort;
1449 isc_arg6 : PByte): ISC_STATUS;
1450 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1451
1452 Tisc_pop_window = function (status_vector : PISC_STATUS;
1453 win_handle : PISC_WIN_HANDLE): ISC_STATUS;
1454 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1455
1456 Tisc_put_entree = function (status_vector : PISC_STATUS;
1457 request_handle : PISC_REQ_HANDLE;
1458 isc_arg3 : PShort;
1459 isc_arg4 : PByte;
1460 isc_arg5 : PISC_LONG): ISC_STATUS;
1461 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1462
1463 Tisc_reset_form = function (status_vector : PISC_STATUS;
1464 request_handle : PISC_REQ_HANDLE): ISC_STATUS;
1465 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1466
1467 Tisc_suspend_window = function (status_vector : PISC_STATUS;
1468 win_handle : PISC_WIN_HANDLE): ISC_STATUS;
1469 {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1470
1471 (** Constants!!! **)
1472 (*****************************************************)
1473 (** Actions to pass to the blob filter (ctl_source) **)
1474 (*****************************************************)
1475
1476 const
1477 isc_blob_filter_open = 0;
1478 isc_blob_filter_get_segment = 1;
1479 isc_blob_filter_close = 2;
1480 isc_blob_filter_create = 3;
1481 isc_blob_filter_put_segment = 4;
1482 isc_blob_filter_alloc = 5;
1483 isc_blob_filter_free = 6;
1484 isc_blob_filter_seek = 7;
1485
1486 (*********************)
1487 (** Blr definitions **)
1488 (*********************)
1489
1490 // In pascal, how does one deal with the below "#define"?
1491 // blr_word(n) ((n) % 256), ((n) / 256)
1492 blr_text = 14;
1493 blr_text2 = 15;
1494 blr_short = 7;
1495 blr_long = 8;
1496 blr_quad = 9;
1497 blr_float = 10;
1498 blr_double = 27;
1499 blr_d_float = 11;
1500 blr_timestamp = 35;
1501 blr_varying = 37;
1502 blr_varying2 = 38;
1503 blr_blob = 261;
1504 blr_cstring = 40;
1505 blr_cstring2 = 41;
1506 blr_blob_id = 45;
1507 blr_sql_date = 12;
1508 blr_sql_time = 13;
1509 blr_int64 = 16;
1510 blr_date = blr_timestamp;
1511 blr_bool = 23;
1512
1513
1514 blr_inner = 0;
1515 blr_left = 1;
1516 blr_right = 2;
1517 blr_full = 3;
1518
1519 blr_gds_code = 0;
1520 blr_sql_code = 1;
1521 blr_exception = 2;
1522 blr_trigger_code = 3;
1523 blr_default_code = 4;
1524
1525 blr_version4 = 4;
1526 blr_version5 = 5;
1527 blr_eoc = 76;
1528 blr_end = -1;
1529
1530 blr_assignment = 1;
1531 blr_begin = 2;
1532 blr_dcl_variable = 3;
1533 blr_message = 4;
1534 blr_erase = 5;
1535 blr_fetch = 6;
1536 blr_for = 7;
1537 blr_if = 8;
1538 blr_loop = 9;
1539 blr_modify = 10;
1540 blr_handler = 11;
1541 blr_receive = 12;
1542 blr_select = 13;
1543 blr_send = 14;
1544 blr_store = 15;
1545 blr_label = 17;
1546 blr_leave = 18;
1547 blr_store2 = 19;
1548 blr_post = 20;
1549
1550 blr_literal = 21;
1551 blr_dbkey = 22;
1552 blr_field = 23;
1553 blr_fid = 24;
1554 blr_parameter = 25;
1555 blr_variable = 26;
1556 blr_average = 27;
1557 blr_count = 28;
1558 blr_maximum = 29;
1559 blr_minimum = 30;
1560 blr_total = 31;
1561 blr_add = 34;
1562 blr_subtract = 35;
1563 blr_multiply = 36;
1564 blr_divide = 37;
1565 blr_negate = 38;
1566 blr_concatenate = 39;
1567 blr_substring = 40;
1568 blr_parameter2 = 41;
1569 blr_from = 42;
1570 blr_via = 43;
1571 blr_user_name = 44;
1572 blr_null = 45;
1573
1574 blr_eql = 47;
1575 blr_neq = 48;
1576 blr_gtr = 49;
1577 blr_geq = 50;
1578 blr_lss = 51;
1579 blr_leq = 52;
1580 blr_containing = 53;
1581 blr_matching = 54;
1582 blr_starting = 55;
1583 blr_between = 56;
1584 blr_or = 57;
1585 blr_and = 58;
1586 blr_not = 59;
1587 blr_any = 60;
1588 blr_missing = 61;
1589 blr_unique = 62;
1590 blr_like = 63;
1591
1592 blr_stream = 65;
1593 blr_set_index = 66;
1594 blr_rse = 67;
1595 blr_first = 68;
1596 blr_project = 69;
1597 blr_sort = 70;
1598 blr_boolean = 71;
1599 blr_ascending = 72;
1600 blr_descending = 73;
1601 blr_relation = 74;
1602 blr_rid = 75;
1603 blr_union = 76;
1604 blr_map = 77;
1605 blr_group_by = 78;
1606 blr_aggregate = 79;
1607 blr_join_type = 80;
1608
1609 blr_agg_count = 83;
1610 blr_agg_max = 84;
1611 blr_agg_min = 85;
1612 blr_agg_total = 86;
1613 blr_agg_average = 87;
1614 blr_parameter3 = 88;
1615 blr_run_count = 118;
1616 blr_run_max = 89;
1617 blr_run_min = 90;
1618 blr_run_total = 91;
1619 blr_run_average = 92;
1620 blr_agg_count2 = 93;
1621 blr_agg_count_distinct = 94;
1622 blr_agg_total_distinct = 95;
1623 blr_agg_average_distinct = 96;
1624
1625 blr_function = 100;
1626 blr_gen_id = 101;
1627 blr_prot_mask = 102;
1628 blr_upcase = 103;
1629 blr_lock_state = 104;
1630 blr_value_if = 105;
1631 blr_matching2 = 106;
1632 blr_index = 107;
1633 blr_ansi_like = 108;
1634 blr_bookmark = 109;
1635 blr_crack = 110;
1636 blr_force_crack = 111;
1637 blr_seek = 112;
1638 blr_find = 113;
1639
1640 blr_continue = 0;
1641 blr_forward = 1;
1642 blr_backward = 2;
1643 blr_bof_forward = 3;
1644 blr_eof_backward = 4;
1645
1646 blr_lock_relation = 114;
1647 blr_lock_record = 115;
1648 blr_set_bookmark = 116;
1649 blr_get_bookmark = 117;
1650 blr_rs_stream = 119;
1651 blr_exec_proc = 120;
1652 blr_begin_range = 121;
1653 blr_end_range = 122;
1654 blr_delete_range = 123;
1655 blr_procedure = 124;
1656 blr_pid = 125;
1657 blr_exec_pid = 126;
1658 blr_singular = 127;
1659 blr_abort = 128;
1660 blr_block = 129;
1661 blr_error_handler = 130;
1662 blr_cast = 131;
1663 blr_release_lock = 132;
1664 blr_release_locks = 133;
1665 blr_start_savepoint = 134;
1666 blr_end_savepoint = 135;
1667 blr_find_dbkey = 136;
1668 blr_range_relation = 137;
1669 blr_delete_ranges = 138;
1670
1671 blr_plan = 139;
1672 blr_merge = 140;
1673 blr_join = 141;
1674 blr_sequential = 142;
1675 blr_navigational = 143;
1676 blr_indices = 144;
1677 blr_retrieve = 145;
1678
1679 blr_relation2 = 146;
1680 blr_rid2 = 147;
1681 blr_reset_stream = 148;
1682 blr_release_bookmark = 149;
1683 blr_set_generator = 150;
1684 blr_ansi_any = 151;
1685 blr_exists = 152;
1686 blr_cardinality = 153;
1687
1688 blr_record_version = 154; (** get tid of record **)
1689 blr_stall = 155; (** fake server stall **)
1690 blr_seek_no_warn = 156;
1691 blr_find_dbkey_version = 157;
1692 blr_ansi_all = 158;
1693
1694 blr_extract = 159;
1695
1696 (* sub parameters for blr_extract *)
1697
1698 blr_extract_year = 0;
1699 blr_extract_month = 1;
1700 blr_extract_day = 2;
1701 blr_extract_hour = 3;
1702 blr_extract_minute = 4;
1703 blr_extract_second = 5;
1704 blr_extract_weekday = 6;
1705 blr_extract_yearday = 7;
1706
1707 blr_current_date = 160;
1708 blr_current_timestamp = 161;
1709 blr_current_time = 162;
1710
1711 (* These verbs were added in 6.0,
1712 primarily to support 64-bit integers *)
1713
1714 blr_add2 = 163;
1715 blr_subtract2 = 164;
1716 blr_multiply2 = 165;
1717 blr_divide2 = 166;
1718 blr_agg_total2 = 167;
1719 blr_agg_total_distinct2 = 168;
1720 blr_agg_average2 = 169;
1721 blr_agg_average_distinct2 = 170;
1722 blr_average2 = 171;
1723 blr_gen_id2 = 172;
1724 blr_set_generator2 = 173;
1725
1726 (****************************************)
1727 (** Bit assignments in RDB$SYSTEM_FLAG **)
1728 (****************************************)
1729
1730 RDB_system = 1;
1731 RDB_id_assigned = 2;
1732
1733
1734 (*******************************)
1735 (** Service information items **)
1736 (*******************************)
1737
1738 {$IFDEF IB5_ONLY }
1739 (* This defines are not there in version 6.0 *)
1740 { isc_info_svc_version = 4;
1741 isc_info_svc_message = 5;
1742 isc_info_svc_total_length = 6;
1743 isc_info_svc_response = 7;
1744 isc_info_svc_response_more = 8;
1745 isc_info_svc_line = 9;
1746 isc_info_svc_to_eof = 10;
1747 isc_info_svc_timeout = 11;
1748 isc_info_svc_server_version = 12;
1749 isc_info_svc_implementation = 13;
1750 isc_info_svc_capabilities = 14;
1751 isc_info_svc_user_dbpath = 15;
1752 isc_info_svc_svr_db_info = 16;
1753 isc_info_svc_svr_online = 17;
1754 isc_info_svc_svr_offline = 18;
1755 isc_info_svc_get_config = 19;
1756 isc_info_svc_set_config = 20;
1757 isc_info_svc_default_config = 21;
1758 isc_info_svc_get_env = 22;
1759 isc_info_svc_get_env_lock = 23;
1760 isc_info_svc_get_env_msg = 24; }
1761 {$ENDIF}
1762
1763
1764
1765 (*****************)
1766 (** Error codes **)
1767 (*****************)
1768
1769 isc_facility = 20;
1770 isc_err_base = 335544320;
1771 isc_err_factor = 1;
1772 isc_arg_end = 0;
1773 isc_arg_gds = 1;
1774 isc_arg_string = 2;
1775 isc_arg_cstring = 3;
1776 isc_arg_number = 4;
1777 isc_arg_interpreted = 5;
1778 isc_arg_vms = 6;
1779 isc_arg_unix = 7;
1780 isc_arg_domain = 8;
1781 isc_arg_dos = 9;
1782 isc_arg_mpexl = 10;
1783 isc_arg_mpexl_ipc = 11;
1784 isc_arg_next_mach = 15;
1785 isc_arg_netware = 16;
1786 isc_arg_win32 = 17;
1787 isc_arg_warning = 18;
1788
1789 (**********************************************)
1790 (** International text interpretation values **)
1791 (**********************************************)
1792
1793 isc_interp_eng_ascii = 0;
1794 isc_interp_jpn_sjis = 5;
1795 isc_interp_jpn_euc = 6;
1796
1797 (******************************************)
1798 (** Scroll direction for isc_dsql_fetch2 **)
1799 (******************************************)
1800
1801 isc_fetch_next = 0;
1802 isc_fetch_prior = 1;
1803 isc_fetch_first = 2;
1804 isc_fetch_last = 3;
1805 isc_fetch_absolute = 4;
1806 isc_fetch_relative = 5;
1807
1808
1809
1810 (** XSQLDA_LENGTH is defined in C as a macro, but in Pascal we must defined it
1811 as a function... **)
1812 function XSQLDA_LENGTH(n: Long): Long;
1813
1814 implementation
1815
1816
1817 function XSQLDA_LENGTH(n: Long): Long;
1818 (* The C-macro reads like this:
1819 XSQLDA_LENGTH(n) (sizeof (XSQLDA) + (n-1) * sizeof (XSQLVAR)) *)
1820 begin
1821 result := SizeOf(TXSQLDA) + ((n - 1) * SizeOf(TXSQLVAR));
1822 end;
1823
1824
1825 end.
1826