ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/udr/client/IBHeader.pas
(Generate patch)

Comparing:
ibx/trunk/fbintf/client/2.5/IBHeader.pas (file contents), Revision 47 by tony, Mon Jan 9 15:31:51 2017 UTC vs.
ibx/branches/udr/client/IBHeader.pas (file contents), Revision 375 by tony, Sun Jan 9 23:42:58 2022 UTC

# Line 32 | Line 32
32   {************************************************************************}
33  
34   unit IBHeader;
35 + {$IFDEF MSWINDOWS}
36 + {$DEFINE WINDOWS}
37 + {$ENDIF}
38  
39   {$IFDEF FPC}
40 < {$mode objfpc}{$H+}
40 > {$mode delphi}
41 > {$codepage UTF8}
42   {$ENDIF}
43  
44   interface
# Line 44 | Line 48 | uses
48  
49  
50   const
47  ISC_TRUE = 1;
48  ISC_FALSE = 0;
51    DSQL_close = 1;
52    DSQL_drop = 2;
53  
# Line 97 | Line 99 | const
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;
# Line 114 | Line 117 | type
117    PISC_ARRAY_BOUND     = ^TISC_ARRAY_BOUND;
118     TISC_ARRAY_DESC = record
119      array_desc_dtype            : UChar;
120 <    array_desc_scale            : Char;
120 >    array_desc_scale            : ShortInt;
121      array_desc_length           : UShort;
122 <    array_desc_field_name       : array[0..31] of Char;
123 <    array_desc_relation_name    : array[0..31] of Char;
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;
# Line 128 | Line 131 | type
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 Char;
135 <    blob_desc_relation_name     : array[0..31] of Char;
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  
# Line 149 | Line 152 | type
152      ctl_segment_length          : UShort;       (** Length of current segment **)
153      ctl_bpb_length              : UShort;       (** Length of blob parameter **)
154                                                  (** block **)
155 <    ctl_bpb                     : PChar;        (** Address of blob parameter **)
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 **)
# Line 163 | Line 166 | type
166    (*****************************)
167    TBSTREAM = record
168      bstr_blob                   : PVoid;        (** Blob handle **)
169 <    bstr_buffer                 : PChar;        (** Address of buffer **)
170 <    bstr_ptr                    : PChar;        (** Next character **)
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 **)
# Line 178 | Line 181 | type
181    TSQLVAR = record
182      sqltype                     : Short;
183      sqllen                      : Short;
184 <    sqldata                     : PChar;
184 >    sqldata                     : PByte;
185      sqlind                      : PShort;
186      sqlname_length              : Short;
187 <    sqlname                     : array[0..29] of Char;
187 >    sqlname                     : array[0..29] of AnsiChar;
188    end;
189    PSQLVAR                       = ^TSQLVAR;
190  
191    TSQLDA = record
192 <    sqldaid                     : array[0..7] of Char;
192 >    sqldaid                     : array[0..7] of AnsiChar;
193      sqldabc                     : ISC_LONG;
194      sqln                        : Short;
195      sqld                        : Short;
# Line 204 | Line 207 | type
207      sqlsubtype                  : Short;     (** datatype subtype - BLOBs **)
208                                               (** & text types only **)
209      sqllen                      : Short;     (** length of data area **)
210 <    sqldata                     : PChar;     (** address of data **)
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 Char;
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 Char;
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 Char;
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 Char;
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 Char;
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 **)
# Line 241 | Line 244 | type
244    TISC_START_TRANS = record
245      db_handle      : PISC_DB_HANDLE;
246      tpb_length     : UShort;
247 <    tpb_address    : PChar;
247 >    tpb_address    : PByte;
248    end;
249  
250   (********************************************************)
# Line 251 | Line 254 | type
254    TISC_TEB = record
255      db_handle      : PISC_DB_HANDLE;
256      tpb_length     : Long;
257 <    tpb_address    : PChar;
257 >    tpb_address    : PByte;
258    end;
259    PISC_TEB = ^TISC_TEB;
260    TISC_TEB_ARRAY = array[0..0] of TISC_TEB;
# Line 263 | Line 266 | type
266  
267   Tisc_attach_database = function (status_vector            : PISC_STATUS;
268                                   db_name_length           : Short;
269 <                                 db_name                  : PChar;
269 >                                 db_name                  : PAnsiChar;
270                                   db_handle                : PISC_DB_HANDLE;
271 <                                 parm_buffer_length       : Short;
272 <                                 parm_buffer              : PChar): ISC_STATUS;
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                 : PChar;
278 >                                 isc_arg4                 : PByte;
279                                   isc_arg5                 : PShort): ISC_STATUS;
280                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
281  
# Line 289 | Line 292 | Tisc_array_lookup_bounds = function (sta
292                                   db_handle                : PISC_DB_HANDLE;
293                                   trans_handle             : PISC_TR_HANDLE;
294                                   table_name,
295 <                                 column_name              : PChar;
295 >                                 column_name              : PAnsiChar;
296                                   descriptor               : PISC_ARRAY_DESC): ISC_STATUS;
297                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
298  
# Line 297 | Line 300 | Tisc_array_lookup_desc = function (statu
300                                   db_handle                : PISC_DB_HANDLE;
301                                   trans_handle             : PISC_TR_HANDLE;
302                                   table_name,
303 <                                 column_name              : PChar;
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               : PChar;
309 <                                 column_name              : PChar;
308 >                                 table_name               : PByte;
309 >                                 column_name              : PByte;
310                                   sql_dtype,
311                                   sql_length,
312                                   sql_dimensions           : PShort;
# Line 335 | Line 338 | Tisc_blob_gen_bpb = function    (status_
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         : PChar;
341 >                                 item_list_buffer         : PByte;
342                                   result_buffer_length     : Short;
343 <                                 result_buffer            : PChar): ISC_STATUS;
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              : PChar;
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              : PChar;
357 >                                 column_name              : PAnsiChar;
358                                   subtype,
359                                   charset,
360                                   segment_size             : Short;
# Line 392 | Line 395 | Tisc_create_blob2 = function    (status_
395                                   blob_handle              : PISC_BLOB_HANDLE;
396                                   blob_id                  : PISC_QUAD;
397                                   bpb_length               : Short;
398 <                                 bpb_address              : PChar): ISC_STATUS;
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                 : PChar;
403 >                                 isc_arg3                 : PByte;
404                                   db_handle                : PISC_DB_HANDLE;
405                                   isc_arg5                 : Short;
406 <                                 isc_arg6                 : PChar;
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         : PChar;
413 >                                 item_list_buffer         : PByte;
414                                   result_buffer_length     : Short;
415 <                                 result_buffer            : PChar): ISC_STATUS;
415 >                                 result_buffer            : PByte): ISC_STATUS;
416                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
417  
418   Tisc_decode_date = procedure    (ib_date: PISC_QUAD;
# Line 462 | Line 465 | Tisc_dsql_exec_immed2 = function (status
465                                   db_handle                : PISC_DB_HANDLE;
466                                   tran_handle              : PISC_TR_HANDLE;
467                                   length                   : UShort;
468 <                                 statement                : PChar;
468 >                                 statement                : PByte;
469                                   dialect                  : UShort;
470                                   in_xsqlda,
471                                   out_xsqlda               : PXSQLDA): ISC_STATUS;
# Line 487 | Line 490 | Tisc_dsql_execute_immediate = function (
490                                   db_handle                : PISC_DB_HANDLE;
491                                   tran_handle              : PISC_TR_HANDLE;
492                                   length                   : UShort;
493 <                                 statement                : PChar;
493 >                                 statement                : PAnsiChar;
494                                   dialect                  : UShort;
495                                   xsqlda                   : PXSQLDA): ISC_STATUS;
496                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
# Line 526 | Line 529 | Tisc_dsql_prepare = function    (status_
529                                   tran_handle              : PISC_TR_HANDLE;
530                                   stmt_handle              : PISC_STMT_HANDLE;
531                                   length                   : UShort;
532 <                                 statement                : PChar;
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               : PChar;
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                     : PChar;
546 >                                 items                     : PByte;
547                                   buffer_length             : Short;
548 <                                 buffer                    : PChar): ISC_STATUS;
548 >                                 buffer                    : PByte): ISC_STATUS;
549                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
550  
551   Tisc_encode_date = procedure    (tm_date                    : PCTimeStructure;
# Line 561 | Line 564 | Tisc_encode_timestamp = procedure (tm_da
564                                   ib_timestamp               : PISC_TIMESTAMP);
565                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
566  
567 < Tisc_event_block = function     (event_buffer               : PPChar;
568 <                                 result_buffer              : PPChar;
567 > Tisc_event_block = function     (event_buffer               : PPByte;
568 >                                 result_buffer              : PPByte;
569                                   id_count                   : UShort):ISC_LONG;
570 <                                 varargs; cdecl;
570 >                                 cdecl varargs;
571  
572   Tisc_event_counts = procedure   (status_vector             : PISC_LONG;
573                                   buffer_length             : Short;
574 <                                 event_buffer              : PChar;
575 <                                 result_buffer             : PChar);
574 >                                 event_buffer              : PByte;
575 >                                 result_buffer             : PByte);
576                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
577  
578 < Tisc_expand_dpb = procedure     (dpb                       : PPChar;
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                       : PPChar;
583 > Tisc_modify_dpb = function      (dpb                       : PPByte;
584                                   isc_arg2,
585                                   isc_arg3                  : PShort;
586                                   isc_arg4                  : UShort;
587 <                                 isc_arg5                  : PChar;
587 >                                 isc_arg5                  : PByte;
588                                   isc_arg6                  : Short): Int;
589                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
590  
591 < Tisc_free = function           (isc_arg1                  : PChar): ISC_LONG;
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                : PChar): ISC_STATUS;
598 >                                 seg_buffer                : PByte): ISC_STATUS;
599                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
600  
601   Tisc_get_slice = function       (status_vector             : PISC_STATUS;
# Line 600 | Line 603 | Tisc_get_slice = function       (status_
603                                   tran_handle               : PISC_TR_HANDLE;
604                                   isc_arg4                  : PISC_QUAD;
605                                   isc_arg5                  : Short;
606 <                                 isc_arg6                  : PChar;
606 >                                 isc_arg6                  : PByte;
607                                   isc_arg7                  : Short;
608                                   isc_arg8                  : PISC_LONG;
609                                   isc_arg9                  : ISC_LONG;
# Line 608 | Line 611 | Tisc_get_slice = function       (status_
611                                   isc_arg11                 : PISC_LONG): ISC_STATUS;
612                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
613  
614 < Tisc_interprete = function      (buffer                    : PChar;
614 > Tisc_interprete = function      (buffer                    : PByte;
615                                   status_vector             : PPISC_STATUS): ISC_STATUS;
616                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
617  
618 + Tfb_interpret   = function      (buffer                    : PByte;
619 +                                 buflen                    : integer;
620 +                                 status_vector             : PPISC_STATUS): long;
621 +                                {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
622 +
623 +
624   Tisc_open_blob = function       (status_vector             : PISC_STATUS;
625                                   db_handle                 : PISC_DB_HANDLE;
626                                   tran_handle               : PISC_TR_HANDLE;
# Line 625 | Line 634 | Tisc_open_blob2 = function      (status_
634                                   blob_handle               : PISC_BLOB_HANDLE;
635                                   blob_id                   : PISC_QUAD;
636                                   bpb_length                : Short;
637 <                                 bpb_buffer                : PChar): ISC_STATUS;
637 >                                 bpb_buffer                : PByte): ISC_STATUS;
638                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
639  
640   Tisc_prepare_transaction2 = function (status_vector        : PISC_STATUS;
641                                   tran_handle               : PISC_TR_HANDLE;
642                                   msg_length                : Short;
643 <                                 msg                       : PChar): ISC_STATUS;
643 >                                 msg                       : PByte): ISC_STATUS;
644                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
645  
646   Tisc_print_sqlerror = procedure (sqlcode                   : Short;
# Line 644 | Line 653 | Tisc_print_status = function   (status_v
653   Tisc_put_segment = function     (status_vector             : PISC_STATUS;
654                                   blob_handle               : PISC_BLOB_HANDLE;
655                                   seg_buffer_len            : UShort;
656 <                                 seg_buffer                : PChar): ISC_STATUS;
656 >                                 seg_buffer                : PByte): ISC_STATUS;
657                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
658  
659   Tisc_put_slice = function       (status_vector             : PISC_STATUS;
# Line 652 | Line 661 | Tisc_put_slice = function       (status_
661                                   tran_handle               : PISC_TR_HANDLE;
662                                   isc_arg4                  : PISC_QUAD;
663                                   isc_arg5                  : Short;
664 <                                 isc_arg6                  : PChar;
664 >                                 isc_arg6                  : PByte;
665                                   isc_arg7                  : Short;
666                                   isc_arg8                  : PISC_LONG;
667                                   isc_arg9                  : ISC_LONG;
# Line 663 | Line 672 | Tisc_que_events = function      (status_
672                                   db_handle                 : PISC_DB_HANDLE;
673                                   event_id                  : PISC_LONG;
674                                   length                    : Short;
675 <                                 event_buffer              : PChar;
675 >                                 event_buffer              : PByte;
676                                   event_function            : TISC_CALLBACK;
677                                   event_function_arg        : PVoid): ISC_STATUS;
678                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
# Line 687 | Line 696 | Tisc_start_transaction = function (statu
696                                   db_handle_count           : Short;
697                                   db_handle                 : PISC_DB_HANDLE;
698                                   tpb_length                : UShort;
699 <                                 tpb_address               : PChar): ISC_STATUS;
699 >                                 tpb_address               : PByte): ISC_STATUS;
700                                  cdecl;
701  
702   Tisc_sqlcode = function        (status_vector             : PISC_STATUS): ISC_LONG;
# Line 695 | Line 704 | Tisc_sqlcode = function        (status_v
704  
705  
706   Tisc_sql_interprete = procedure (sqlcode                   : Short;
707 <                                 buffer                    : PChar;
707 >                                 buffer                    : PAnsiChar;
708                                   buffer_length             : Short);
709                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
710  
711   Tisc_transaction_info = function (status_vector            : PISC_STATUS;
712                                   tran_handle               : PISC_TR_HANDLE;
713                                   item_list_buffer_length   : Short;
714 <                                 item_list_buffer          : PChar;
714 >                                 item_list_buffer          : PByte;
715                                   result_buffer_length      : Short;
716 <                                 result_buffer             : PChar): ISC_STATUS;
716 >                                 result_buffer             : PByte): ISC_STATUS;
717                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
718  
719   Tisc_transact_request = function (status_vector            : PISC_STATUS;
720                                   db_handle                 : PISC_DB_HANDLE;
721                                   tran_handle               : PISC_TR_HANDLE;
722                                   isc_arg4                  : UShort;
723 <                                 isc_arg5                  : PChar;
723 >                                 isc_arg5                  : PByte;
724                                   isc_arg6                  : UShort;
725 <                                 isc_arg7                  : PChar;
725 >                                 isc_arg7                  : PByte;
726                                   isc_arg8                  : UShort;
727 <                                 isc_arg9                  : PChar): ISC_STATUS;
727 >                                 isc_arg9                  : PByte): ISC_STATUS;
728                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
729  
730 < Tisc_vax_integer = function     (buffer                    : PChar;
730 > Tisc_vax_integer = function     (buffer                    : PByte;
731                                   length                    : Short): ISC_LONG;
732                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
733  
734 < Tisc_portable_integer = function (buffer                   : PChar;
734 > Tisc_portable_integer = function (buffer                   : PByte;
735                                   length                    : Short): ISC_INT64;
736                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
737  
# Line 753 | Line 762 | type
762      uid: Int;                        (** the user's id **)
763      gid: int;                        (** the user's group id **)
764      protocol: Int;                   (** protocol to use for connection **)
765 <    server: PChar;                   (** server to administer **)
766 <    user_name: PChar;                (** the user's name **)
767 <    password: PChar;                 (** the user's password **)
768 <    group_name: PChar;               (** the group name **)
769 <    first_name: PChar;               (** the user's first name **)
770 <    middle_name: PChar;              (** the user's middle name **)
771 <    last_name: PChar;                (** the user's last name **)
772 <    dba_user_name: PChar;            (** the dba user name **)
773 <    dba_password: PChar;             (** the dba password **)
765 >    server: PByte;                   (** server to administer **)
766 >    user_name: PByte;                (** the user's name **)
767 >    password: PByte;                 (** the user's password **)
768 >    group_name: PByte;               (** the group name **)
769 >    first_name: PByte;               (** the user's first name **)
770 >    middle_name: PByte;              (** the user's middle name **)
771 >    last_name: PByte;                (** the user's last name **)
772 >    dba_user_name: PByte;            (** the dba user name **)
773 >    dba_password: PByte;             (** the dba password **)
774    end;
775    PUserSecData = ^TUserSecData;
776  
# Line 785 | Line 794 | Tisc_compile_request = function (status_
794                                   db_handle                 : PISC_DB_HANDLE;
795                                   request_handle            : PISC_REQ_HANDLE;
796                                   isc_arg4                  : Short;
797 <                                 isc_arg5                  : PChar): ISC_STATUS;
797 >                                 isc_arg5                  : PByte): ISC_STATUS;
798                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
799  
800   Tisc_compile_request2 = function (status_vector            : PISC_STATUS;
801                                   db_handle                 : PISC_DB_HANDLE;
802                                   request_handle            : PISC_REQ_HANDLE;
803                                   isc_arg4                  : Short;
804 <                                 isc_arg5                  : PChar): ISC_STATUS;
804 >                                 isc_arg5                  : PByte): ISC_STATUS;
805                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
806  
807   Tisc_ddl = function             (status_vector             : PISC_STATUS;
808                                   db_handle                 : PISC_DB_HANDLE;
809                                   tran_handle               : PISC_TR_HANDLE;
810                                   isc_arg4                  : Short;
811 <                                 isc_arg5                  : PChar): ISC_STATUS;
811 >                                 isc_arg5                  : PByte): ISC_STATUS;
812                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
813  
814   Tisc_prepare_transaction = function (status_vector         : PISC_STATUS;
# Line 829 | Line 838 | Tisc_reconnect_transaction = function (s
838                                   db_handle                 : PISC_DB_HANDLE;
839                                   tran_handle               : PISC_TR_HANDLE;
840                                   isc_arg4                  : Short;
841 <                                 isc_arg5                  : PChar): ISC_STATUS;
841 >                                 isc_arg5                  : PByte): ISC_STATUS;
842                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
843  
844   Tisc_release_request = function (status_vector             : PISC_STATUS;
# Line 840 | Line 849 | Tisc_request_info = function    (status_
849                                   request_handle            : PISC_REQ_HANDLE;
850                                   isc_arg3                  : Short;
851                                   isc_arg4                  : Short;
852 <                                 isc_arg5                  : PChar;
852 >                                 isc_arg5                  : PByte;
853                                   isc_arg6                  : Short;
854 <                                 isc_arg7                  : PChar): ISC_STATUS;
854 >                                 isc_arg7                  : PByte): ISC_STATUS;
855                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
856  
857   Tisc_seek_blob = function       (status_vector             : PISC_STATUS;
# Line 884 | Line 893 | Tisc_wait_for_event = function  (status_
893                                   db_handle                 : PISC_DB_HANDLE;
894                                   length                    : Short;
895                                   event_buffer,
896 <                                 result_buffer             : PChar): ISC_STATUS;
896 >                                 result_buffer             : PByte): ISC_STATUS;
897                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
898  
899   (*******************************)
# Line 892 | Line 901 | Tisc_wait_for_event = function  (status_
901   (*******************************)
902   {$IFDEF IB5_ONLY}
903   Tisc_close = function           (status_vector             : PISC_STATUS;
904 <                                 isc_arg2                  : PChar): ISC_STATUS;
904 >                                 isc_arg2                  : PByte): ISC_STATUS;
905                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
906  
907   Tisc_declare = function         (status_vector             : PISC_STATUS;
908                                   isc_arg2,
909 <                                 isc_arg3                  : PChar): ISC_STATUS;
909 >                                 isc_arg3                  : PByte): ISC_STATUS;
910                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
911  
912   Tisc_describe = function        (status_vector             : PISC_STATUS;
913 <                                 isc_arg2                  : PChar;
913 >                                 isc_arg2                  : PByte;
914                                   isc_arg3                  : PSQLDA): ISC_STATUS;
915                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
916  
917   Tisc_describe_bind = function   (status_vector             : PISC_STATUS;
918 <                                 isc_arg2                  : PChar;
918 >                                 isc_arg2                  : PByte;
919                                   isc_arg3                  : PSQLDA): ISC_STATUS;
920                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
921  
922   Tisc_execute = function         (status_vector             : PISC_STATUS;
923                                   tran_handle               : PISC_TR_HANDLE;
924 <                                 isc_arg3                  : PChar;
924 >                                 isc_arg3                  : PByte;
925                                   isc_arg4                  : PSQLDA): ISC_STATUS;
926                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
927  
# Line 920 | Line 929 | Tisc_execute_immediate = function (statu
929                                   db_handle                 : PISC_DB_HANDLE;
930                                   tran_handle               : PISC_TR_HANDLE;
931                                   isc_arg4                  : PShort;
932 <                                 isc_arg5                  : PChar): ISC_STATUS;
932 >                                 isc_arg5                  : PByte): ISC_STATUS;
933                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
934  
935   Tisc_fetch = function           (status_vector             : PISC_STATUS;
936 <                                 isc_arg2                  : PChar;
936 >                                 isc_arg2                  : PByte;
937                                   isc_arg3                  : PSQLDA): ISC_STATUS;
938                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
939  
940   Tisc_open = function            (status_vector             : PISC_STATUS;
941                                   tran_handle               : PISC_TR_HANDLE;
942 <                                 isc_arg3                  : PChar;
942 >                                 isc_arg3                  : PByte;
943                                   isc_arg4                  : PSQLDA): ISC_STATUS;
944                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
945  
946   Tisc_prepare = function         (status_vector             : PISC_STATUS;
947                                   db_handle                 : PISC_DB_HANDLE;
948                                   tran_handle               : PISC_TR_HANDLE;
949 <                                 isc_arg4                  : PChar;
949 >                                 isc_arg4                  : PByte;
950                                   isc_arg5                  : PShort;
951 <                                 isc_arg6                  : PChar;
951 >                                 isc_arg6                  : PByte;
952                                   isc_arg7                  : PSQLDA): ISC_STATUS;
953                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
954   {$ELSE}
955   Tisc_close = function           (status_vector             : PISC_STATUS;
956 <                                 isc_arg2                  : PChar): ISC_STATUS;
956 >                                 isc_arg2                  : PByte): ISC_STATUS;
957                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
958  
959   Tisc_declare = function         (status_vector             : PISC_STATUS;
960                                   isc_arg2,
961 <                                 isc_arg3                  : PChar): ISC_STATUS;
961 >                                 isc_arg3                  : PByte): ISC_STATUS;
962                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
963  
964   Tisc_describe = function        (status_vector             : PISC_STATUS;
965 <                                 isc_arg2                  : PChar;
965 >                                 isc_arg2                  : PByte;
966                                   isc_arg3                  : PXSQLDA): ISC_STATUS;
967                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
968  
969   Tisc_describe_bind = function   (status_vector             : PISC_STATUS;
970 <                                 isc_arg2                  : PChar;
970 >                                 isc_arg2                  : PByte;
971                                   isc_arg3                  : PXSQLDA): ISC_STATUS;
972                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
973  
974   Tisc_execute = function         (status_vector             : PISC_STATUS;
975                                   tran_handle               : PISC_TR_HANDLE;
976 <                                 isc_arg3                  : PChar;
976 >                                 isc_arg3                  : PByte;
977                                   isc_arg4                  : PXSQLDA): ISC_STATUS;
978                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
979  
# Line 972 | Line 981 | Tisc_execute_immediate = function (statu
981                                   db_handle                 : PISC_DB_HANDLE;
982                                   tran_handle               : PISC_TR_HANDLE;
983                                   isc_arg4                  : PShort;
984 <                                 isc_arg5                  : PChar): ISC_STATUS;
984 >                                 isc_arg5                  : PByte): ISC_STATUS;
985                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
986  
987   Tisc_fetch = function           (status_vector             : PISC_STATUS;
988 <                                 isc_arg2                  : PChar;
988 >                                 isc_arg2                  : PByte;
989                                   isc_arg3                  : PXSQLDA): ISC_STATUS;
990                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
991  
992   Tisc_open = function            (status_vector             : PISC_STATUS;
993                                   tran_handle               : PISC_TR_HANDLE;
994 <                                 isc_arg3                  : PChar;
994 >                                 isc_arg3                  : PByte;
995                                   isc_arg4                  : PXSQLDA): ISC_STATUS;
996                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
997  
998   Tisc_prepare = function         (status_vector             : PISC_STATUS;
999                                   db_handle                 : PISC_DB_HANDLE;
1000                                   tran_handle               : PISC_TR_HANDLE;
1001 <                                 isc_arg4                  : PChar;
1001 >                                 isc_arg4                  : PByte;
1002                                   isc_arg5                  : PShort;
1003 <                                 isc_arg6                  : PChar;
1003 >                                 isc_arg6                  : PByte;
1004                                   isc_arg7                  : PXSQLDA): ISC_STATUS;
1005                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1006   {$ENDIF}
# Line 1004 | Line 1013 | Tisc_dsql_execute_m = function  (status_
1013                                   tran_handle               : PISC_TR_HANDLE;
1014                                   statement_handle          : PISC_STMT_HANDLE;
1015                                   isc_arg4                  : UShort;
1016 <                                 isc_arg5                  : PChar;
1016 >                                 isc_arg5                  : PByte;
1017                                   isc_arg6                  : UShort;
1018                                   isc_arg7                  : UShort;
1019 <                                 isc_arg8                  : PChar): ISC_STATUS;
1019 >                                 isc_arg8                  : PByte): ISC_STATUS;
1020                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1021  
1022   Tisc_dsql_execute2_m = function (status_vector             : PISC_STATUS;
1023                                   tran_handle               : PISC_TR_HANDLE;
1024                                   statement_handle          : PISC_STMT_HANDLE;
1025                                   isc_arg4                  : UShort;
1026 <                                 isc_arg5                  : PChar;
1026 >                                 isc_arg5                  : PByte;
1027                                   isc_arg6                  : UShort;
1028                                   isc_arg7                  : UShort;
1029 <                                 isc_arg8                  : PChar;
1029 >                                 isc_arg8                  : PByte;
1030                                   isc_arg9                  : UShort;
1031 <                                 isc_arg10                 : PChar;
1031 >                                 isc_arg10                 : PByte;
1032                                   isc_arg11                 : UShort;
1033                                   isc_arg12                 : UShort;
1034 <                                 isc_arg13                 : PChar): ISC_STATUS;
1034 >                                 isc_arg13                 : PByte): ISC_STATUS;
1035                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1036  
1037   Tisc_dsql_execute_immediate_m = function (status_vector    : PISC_STATUS;
1038                                   db_handle                 : PISC_DB_HANDLE;
1039                                   tran_handle               : PISC_TR_HANDLE;
1040                                   isc_arg4                  : UShort;
1041 <                                 isc_arg5                  : PChar;
1041 >                                 isc_arg5                  : PByte;
1042                                   isc_arg6                  : UShort;
1043                                   isc_arg7                  : UShort;
1044 <                                 isc_arg8                  : PChar;
1044 >                                 isc_arg8                  : PByte;
1045                                   isc_arg9                  : UShort;
1046                                   isc_arg10                 : UShort;
1047 <                                 isc_arg11                 : PChar): ISC_STATUS;
1047 >                                 isc_arg11                 : PByte): ISC_STATUS;
1048                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1049  
1050   Tisc_dsql_exec_immed3_m = function  (status_vector         : PISC_STATUS;
1051                                   db_handle                 : PISC_DB_HANDLE;
1052                                   tran_handle               : PISC_TR_HANDLE;
1053                                   isc_arg4                  : UShort;
1054 <                                 isc_arg5                  : PChar;
1054 >                                 isc_arg5                  : PByte;
1055                                   isc_arg6                  : UShort;
1056                                   isc_arg7                  : UShort;
1057 <                                 isc_arg8                  : PChar;
1057 >                                 isc_arg8                  : PByte;
1058                                   isc_arg9                  : UShort;
1059                                   isc_arg10                 : UShort;
1060 <                                 isc_arg11                 : PChar;
1060 >                                 isc_arg11                 : PByte;
1061                                   isc_arg12                 : UShort;
1062 <                                 isc_arg13                 : PChar;
1062 >                                 isc_arg13                 : PByte;
1063                                   isc_arg14                 : UShort;
1064                                   isc_arg15                 : UShort;
1065 <                                 isc_arg16                 : PChar): ISC_STATUS;
1065 >                                 isc_arg16                 : PByte): ISC_STATUS;
1066                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1067  
1068   Tisc_dsql_fetch_m = function    (status_vector             : PISC_STATUS;
1069                                   statement_handle          : PISC_STMT_HANDLE;
1070                                   isc_arg3                  : UShort;
1071 <                                 isc_arg4                  : PChar;
1071 >                                 isc_arg4                  : PByte;
1072                                   isc_arg5                  : UShort;
1073                                   isc_arg6                  : UShort;
1074 <                                 isc_arg7                  : PChar): ISC_STATUS;
1074 >                                 isc_arg7                  : PByte): ISC_STATUS;
1075                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1076  
1077   (*$ifdef SCROLLABLE_CURSORS*)
1078   Tisc_dsql_fetch2_m = function   (status_vector             : PISC_STATUS;
1079                                   statement_handle          : PISC_STMT_HANDLE;
1080                                   isc_arg3                  : UShort;
1081 <                                 isc_arg4                  : PChar;
1081 >                                 isc_arg4                  : PByte;
1082                                   isc_arg5                  : UShort;
1083                                   isc_arg6                  : UShort;
1084 <                                 isc_arg7                  : PChar;
1084 >                                 isc_arg7                  : PByte;
1085                                   isc_arg8                  : UShort;
1086                                   isc_arg9                  : Long): ISC_STATUS;
1087                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
# Line 1081 | Line 1090 | Tisc_dsql_fetch2_m = function   (status_
1090   Tisc_dsql_insert_m = function   (status_vector             : PISC_STATUS;
1091                                   statement_handle          : PISC_STMT_HANDLE;
1092                                   isc_arg3                  : UShort;
1093 <                                 isc_arg4                  : PChar;
1093 >                                 isc_arg4                  : PByte;
1094                                   isc_arg5                  : UShort;
1095                                   isc_arg6                  : UShort;
1096 <                                 isc_arg7                  : PChar): ISC_STATUS;
1096 >                                 isc_arg7                  : PByte): ISC_STATUS;
1097                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1098  
1099   Tisc_dsql_prepare_m = function  (status_vector             : PISC_STATUS;
1100                                   tran_handle               : PISC_TR_HANDLE;
1101                                   statement_handle          : PISC_STMT_HANDLE;
1102                                   isc_arg4                  : UShort;
1103 <                                 isc_arg5                  : PChar;
1103 >                                 isc_arg5                  : PByte;
1104                                   isc_arg6                  : UShort;
1105                                   isc_arg7                  : UShort;
1106 <                                 isc_arg8                  : PChar;
1106 >                                 isc_arg8                  : PByte;
1107                                   isc_arg9                  : UShort;
1108 <                                 isc_arg10                 : PChar): ISC_STATUS;
1108 >                                 isc_arg10                 : PByte): ISC_STATUS;
1109                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1110  
1111   Tisc_dsql_release = function    (status_vector             : PISC_STATUS;
1112 <                                 isc_arg2                  : PChar): ISC_STATUS;
1112 >                                 isc_arg2                  : PByte): ISC_STATUS;
1113                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1114  
1115   Tisc_embed_dsql_close = function(status_vector             : PISC_STATUS;
1116 <                                 isc_arg2                  : PChar): ISC_STATUS;
1116 >                                 isc_arg2                  : PByte): ISC_STATUS;
1117                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1118  
1119   Tisc_embed_dsql_declare = function  (status_vector         : PISC_STATUS;
1120 <                                 isc_arg2                  : PChar;
1121 <                                 isc_arg3                  : PChar): ISC_STATUS;
1120 >                                 isc_arg2                  : PByte;
1121 >                                 isc_arg3                  : PByte): ISC_STATUS;
1122                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1123  
1124   Tisc_embed_dsql_describe = function (status_vector         : PISC_STATUS;
1125 <                                 isc_arg2                  : PChar;
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_describe_bind = function (status_vector    : PISC_STATUS;
1131 <                                 isc_arg2                  : PChar;
1131 >                                 isc_arg2                  : PByte;
1132                                   isc_arg3                  : UShort;
1133                                   isc_arg4                  : PXSQLDA): ISC_STATUS;
1134                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1135  
1136   Tisc_embed_dsql_execute = function  (status_vector         : PISC_STATUS;
1137                                   tran_handle               : PISC_TR_HANDLE;
1138 <                                 isc_arg3                  : PChar;
1138 >                                 isc_arg3                  : PByte;
1139                                   isc_arg4                  : UShort;
1140                                   isc_arg5                  : PXSQLDA): ISC_STATUS;
1141                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1142  
1143   Tisc_embed_dsql_execute2 = function (status_vector         : PISC_STATUS;
1144                                   tran_handle               : PISC_TR_HANDLE;
1145 <                                 isc_arg3                  : PChar;
1145 >                                 isc_arg3                  : PByte;
1146                                   isc_arg4                  : UShort;
1147                                   isc_arg5                  : PXSQLDA;
1148                                   isc_arg6                  : PXSQLDA): ISC_STATUS;
# Line 1143 | Line 1152 | Tisc_embed_dsql_execute_immed = function
1152                                   db_handle                 : PISC_DB_HANDLE;
1153                                   tran_handle               : PISC_TR_HANDLE;
1154                                   isc_arg4                  : UShort;
1155 <                                 isc_arg5                  : PChar;
1155 >                                 isc_arg5                  : PByte;
1156                                   isc_arg6                  : UShort;
1157                                   isc_arg7                  : PXSQLDA): ISC_STATUS;
1158                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1159  
1160   Tisc_embed_dsql_fetch = function(status_vector             : PISC_STATUS;
1161 <                                 isc_arg2                  : PChar;
1161 >                                 isc_arg2                  : PByte;
1162                                   isc_arg3                  : UShort;
1163                                   isc_arg4                  : PXSQLDA): ISC_STATUS;
1164                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1165  
1166   (*$ifdef SCROLLABLE_CURSORS*)
1167   Tisc_embed_dsql_fetch2 = function  (status_vector         : PISC_STATUS;
1168 <                                isc_arg2                  : PChar;
1168 >                                isc_arg2                  : PByte;
1169                                  isc_arg3                  : UShort;
1170                                  isc_arg4                  : PXSQLDA;
1171                                  isc_arg5                  : UShort;
# Line 1166 | Line 1175 | Tisc_embed_dsql_fetch2 = function  (stat
1175  
1176   Tisc_embed_dsql_open = function (status_vector             : PISC_STATUS;
1177                                   tran_handle               : PISC_TR_HANDLE;
1178 <                                 isc_arg3                  : PChar;
1178 >                                 isc_arg3                  : PByte;
1179                                   isc_arg4                  : UShort;
1180                                   isc_arg5                  : PXSQLDA): ISC_STATUS;
1181                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1182  
1183   Tisc_embed_dsql_open2 = function (status_vector            : PISC_STATUS;
1184                                   tran_handle               : PISC_TR_HANDLE;
1185 <                                 isc_arg3                  : PChar;
1185 >                                 isc_arg3                  : PByte;
1186                                   isc_arg4                  : UShort;
1187                                   isc_arg5                  : PXSQLDA;
1188                                   isc_arg6                  : PXSQLDA): ISC_STATUS;
1189                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1190  
1191   Tisc_embed_dsql_insert = function (status_vector           : PISC_STATUS;
1192 <                                 isc_arg2                  : PChar;
1192 >                                 isc_arg2                  : PByte;
1193                                   isc_arg3                  : UShort;
1194                                   isc_arg4                  : PXSQLDA): ISC_STATUS;
1195                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
# Line 1188 | Line 1197 | Tisc_embed_dsql_insert = function (statu
1197   Tisc_embed_dsql_prepare = function  (status_vector         : PISC_STATUS;
1198                                   db_handle                 : PISC_DB_HANDLE;
1199                                   tran_handle               : PISC_TR_HANDLE;
1200 <                                 isc_arg4                  : PChar;
1200 >                                 isc_arg4                  : PByte;
1201                                   isc_arg5                  : UShort;
1202 <                                 isc_arg6                  : PChar;
1202 >                                 isc_arg6                  : PByte;
1203                                   isc_arg7                  : UShort;
1204                                   isc_arg8                  : PXSQLDA): ISC_STATUS;
1205                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1206  
1207   Tisc_embed_dsql_release = function  (status_vector         : PISC_STATUS;
1208 <                                 isc_arg2                  : PChar): ISC_STATUS;
1208 >                                 isc_arg2                  : PByte): ISC_STATUS;
1209                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1210  
1211   (********************************)
# Line 1204 | Line 1213 | Tisc_embed_dsql_release = function  (sta
1213   (********************************)
1214  
1215   TBLOB_open = function           (blob_handle               : TISC_BLOB_HANDLE;
1216 <                                 isc_arg2                  : PChar;
1216 >                                 isc_arg2                  : PByte;
1217                                   isc_arg3                  : int): PBSTREAM;
1218                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1219  
# Line 1221 | Line 1230 | TBLOB_get = function           (isc_arg1
1230   TBLOB_display = function        (isc_arg1                  : PISC_QUAD;
1231                                   db_handle                 : TISC_DB_HANDLE;
1232                                   tran_handle               : TISC_TR_HANDLE;
1233 <                                 isc_arg4                  : PChar): Int;
1233 >                                 isc_arg4                  : PByte): Int;
1234                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1235  
1236   TBLOB_dump = function           (isc_arg1                  : PISC_QUAD;
1237                                   db_handle                 : TISC_DB_HANDLE;
1238                                   tran_handle               : TISC_TR_HANDLE;
1239 <                                 isc_arg4                  : PChar): Int;
1239 >                                 isc_arg4                  : PByte): Int;
1240                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1241  
1242   TBLOB_edit = function           (isc_arg1                  : PISC_QUAD;
1243                                   db_handle                 : TISC_DB_HANDLE;
1244                                   tran_handle               : TISC_TR_HANDLE;
1245 <                                 isc_arg4                  : PChar): Int;
1245 >                                 isc_arg4                  : PByte): Int;
1246                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1247  
1248   TBLOB_load = function           (isc_arg1                  : PISC_QUAD;
1249                                   db_handle                 : TISC_DB_HANDLE;
1250                                   tran_handle               : TISC_TR_HANDLE;
1251 <                                 isc_arg4                  : PChar): Int;
1251 >                                 isc_arg4                  : PByte): Int;
1252                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1253  
1254   TBLOB_text_dump = function      (isc_arg1                  : PISC_QUAD;
1255                                   db_handle                 : TISC_DB_HANDLE;
1256                                   tran_handle               : TISC_TR_HANDLE;
1257 <                                 isc_arg4                  : PChar): Int;
1257 >                                 isc_arg4                  : PByte): Int;
1258                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1259  
1260   TBLOB_text_load = function      (isc_arg1                  : PISC_QUAD;
1261                                   db_handle                 : TISC_DB_HANDLE;
1262                                   tran_handle               : TISC_TR_HANDLE;
1263 <                                 isc_arg4                  : PChar): Int;
1263 >                                 isc_arg4                  : PByte): Int;
1264                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1265  
1266   TBopen = function               (isc_arg1                  : PISC_QUAD;
1267                                   db_handle                 : TISC_DB_HANDLE;
1268                                   tran_handle               : TISC_TR_HANDLE;
1269 <                                 isc_arg4                  : PChar): Int;
1269 >                                 isc_arg4                  : PByte): Int;
1270                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1271  
1272   TBopen2 = function              (isc_arg1                  : PISC_QUAD;
1273                                   db_handle                 : TISC_DB_HANDLE;
1274                                   tran_handle               : TISC_TR_HANDLE;
1275 <                                 isc_arg4                  : PChar;
1275 >                                 isc_arg4                  : PByte;
1276                                   isc_arg5                  : UShort): PBSTREAM;
1277                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1278  
# Line 1271 | Line 1280 | TBopen2 = function              (isc_arg
1280   (** Other Misc functions       **)
1281   (********************************)
1282  
1283 < Tisc_ftof = function            (isc_arg1                  : PChar;
1283 > Tisc_ftof = function            (isc_arg1                  : PByte;
1284                                   isc_arg2                  : UShort;
1285 <                                 isc_arg3                  : PChar;
1285 >                                 isc_arg3                  : PByte;
1286                                   isc_arg4                  : UShort): ISC_LONG;
1287                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1288  
1289 < Tisc_print_blr = function       (isc_arg1                  : PChar;
1289 > Tisc_print_blr = function       (isc_arg1                  : PByte;
1290                                   isc_arg2                  : TISC_CALLBACK;
1291                                   isc_arg3                  : PVoid;
1292                                   isc_arg4                  : Short): ISC_STATUS;
# Line 1290 | Line 1299 | Tisc_qtoq = procedure           (isc_arg
1299                                   isc_arg2                  : PISC_QUAD);
1300                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1301  
1302 < Tisc_vtof = procedure           (isc_arg1                  : PChar;
1303 <                                 isc_arg2                  : PChar;
1302 > Tisc_vtof = procedure           (isc_arg1                  : PByte;
1303 >                                 isc_arg2                  : PByte;
1304                                   isc_arg3                  : UShort);
1305                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1306  
1307 < Tisc_vtov = procedure           (isc_arg1                  : PChar;
1308 <                                 isc_arg2                  : PChar;
1307 > Tisc_vtov = procedure           (isc_arg1                  : PByte;
1308 >                                 isc_arg2                  : PByte;
1309                                   isc_arg3                  : Short);
1310                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1311  
# Line 1314 | Line 1323 | Tisc_reset_fpe = function      (isc_arg1
1323  
1324   Tisc_service_attach = function  (status_vector             : PISC_STATUS;
1325                                   isc_arg2                  : UShort;
1326 <                                 isc_arg3                  : PChar;
1326 >                                 isc_arg3                  : PAnsiChar;
1327                                   service_handle            : PISC_SVC_HANDLE;
1328                                   isc_arg5                  : UShort;
1329 <                                 isc_arg6                  : PChar): ISC_STATUS;
1329 >                                 isc_arg6                  : PByte): ISC_STATUS;
1330                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1331  
1332   Tisc_service_detach = function (status_vector             : PISC_STATUS;
# Line 1328 | Line 1337 | Tisc_service_query = function   (status_
1337                                   service_handle            : PISC_SVC_HANDLE;
1338                                   recv_handle               : PISC_SVC_HANDLE;
1339                                   isc_arg4                  : UShort;
1340 <                                 isc_arg5                  : PChar;
1340 >                                 isc_arg5                  : PByte;
1341                                   isc_arg6                  : UShort;
1342 <                                 isc_arg7                  : PChar;
1342 >                                 isc_arg7                  : PByte;
1343                                   isc_arg8                  : UShort;
1344 <                                 isc_arg9                  : PChar): ISC_STATUS;
1344 >                                 isc_arg9                  : PByte): ISC_STATUS;
1345                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1346  
1347   Tisc_service_start = function  (status_vector             : PISC_STATUS;
1348                                  service_handle            : PISC_SVC_HANDLE;
1349                                  recv_handle               : PISC_SVC_HANDLE;
1350                                  isc_arg4                  : UShort;
1351 <                                isc_arg5                  : PChar): ISC_STATUS;
1351 >                                isc_arg5                  : PByte): ISC_STATUS;
1352                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1353  
1354   (*********************************)
# Line 1350 | Line 1359 | Tisc_compile_map = function     (status_
1359                                   form_handle               : PISC_FORM_HANDLE;
1360                                   request_handle            : PISC_REQ_HANDLE;
1361                                   isc_arg4                  : PShort;
1362 <                                 isc_arg5                  : PChar): ISC_STATUS;
1362 >                                 isc_arg5                  : PByte): ISC_STATUS;
1363                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1364  
1365   Tisc_compile_menu = function    (status_vector             : PISC_STATUS;
1366                                   form_handle               : PISC_FORM_HANDLE;
1367                                   request_handle            : PISC_REQ_HANDLE;
1368                                   isc_arg4                  : PShort;
1369 <                                 isc_arg5                  : PChar): ISC_STATUS;
1369 >                                 isc_arg5                  : PByte): ISC_STATUS;
1370                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1371  
1372   Tisc_compile_sub_map = function (status_vector             : PISC_STATUS;
1373                                   win_handle                : PISC_WIN_HANDLE;
1374                                   request_handle            : PISC_REQ_HANDLE;
1375                                   isc_arg4                  : PShort;
1376 <                                 isc_arg5                  : PChar): ISC_STATUS;
1376 >                                 isc_arg5                  : PByte): ISC_STATUS;
1377                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1378  
1379   Tisc_create_window = function   (status_vector             : PISC_STATUS;
1380                                   win_handle                : PISC_WIN_HANDLE;
1381                                   isc_arg3                  : PShort;
1382 <                                 isc_arg4                  : PChar;
1382 >                                 isc_arg4                  : PByte;
1383                                   isc_arg5                  : PShort;
1384                                   isc_arg6                  : PShort): ISC_STATUS;
1385                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
# Line 1392 | Line 1401 | Tisc_drive_menu = function      (status_
1401                                   win_handle                : PISC_WIN_HANDLE;
1402                                   request_handle            : PISC_REQ_HANDLE;
1403                                   isc_arg4                  : PShort;
1404 <                                 isc_arg5                  : PChar;
1404 >                                 isc_arg5                  : PByte;
1405                                   isc_arg6                  : PShort;
1406 <                                 isc_arg7                  : PChar;
1406 >                                 isc_arg7                  : PByte;
1407                                   isc_arg8                  : PShort;
1408                                   isc_arg9                  : PShort;
1409 <                                 isc_arg10                 : PChar;
1409 >                                 isc_arg10                 : PByte;
1410                                   isc_arg11                 : PISC_LONG): ISC_STATUS;
1411                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1412  
# Line 1422 | Line 1431 | Tisc_form_insert = function     (status_
1431   Tisc_get_entree = function      (status_vector             : PISC_STATUS;
1432                                   request_handle            : PISC_REQ_HANDLE;
1433                                   isc_arg3                  : PShort;
1434 <                                 isc_arg4                  : PChar;
1434 >                                 isc_arg4                  : PByte;
1435                                   isc_arg5                  : PISC_LONG;
1436                                   isc_arg6                  : PShort): ISC_STATUS;
1437                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
# Line 1435 | Line 1444 | Tisc_menu = function            (status_
1444                                   win_handle                : PISC_WIN_HANDLE;
1445                                   request_handle            : PISC_REQ_HANDLE;
1446                                   isc_arg4                  : PShort;
1447 <                                 isc_arg5                  : PChar): ISC_STATUS;
1447 >                                 isc_arg5                  : PByte): ISC_STATUS;
1448                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1449  
1450   Tisc_load_form = function       (status_vector             : PISC_STATUS;
# Line 1443 | Line 1452 | Tisc_load_form = function       (status_
1452                                   tran_handle               : PISC_TR_HANDLE;
1453                                   form_handle               : PISC_FORM_HANDLE;
1454                                   isc_arg5                  : PShort;
1455 <                                 isc_arg6                  : PChar): ISC_STATUS;
1455 >                                 isc_arg6                  : PByte): ISC_STATUS;
1456                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1457  
1458   Tisc_pop_window = function      (status_vector             : PISC_STATUS;
# Line 1453 | Line 1462 | Tisc_pop_window = function      (status_
1462   Tisc_put_entree = function      (status_vector             : PISC_STATUS;
1463                                   request_handle            : PISC_REQ_HANDLE;
1464                                   isc_arg3                  : PShort;
1465 <                                 isc_arg4                  : PChar;
1465 >                                 isc_arg4                  : PByte;
1466                                   isc_arg5                  : PISC_LONG): ISC_STATUS;
1467                                  {$IFDEF WINDOWS} stdcall; {$ELSE} cdecl; {$ENDIF}
1468  
# Line 1804 | Line 1813 | const
1813  
1814  
1815  
1807 {$IFDEF IB5_ONLY}
1808 (** SQLDA_LENGTH is defined in C as a macro, but in Pascal we must defined it
1809   as a function... **)
1810 function SQLDA_LENGTH(n: Long): Long;
1811 {$ENDIF}
1812
1816   (** XSQLDA_LENGTH is defined in C as a macro, but in Pascal we must defined it
1817     as a function... **)
1818   function XSQLDA_LENGTH(n: Long): Long;
1819  
1817 (** getb, putb, putbx are all defined in C as macros.
1818   Use functions and procedures for the functionality **)
1819 {function getb                   (p: PBSTREAM): Char;
1820 function putb                   (x: Char; p: PBSTREAM): Int;
1821 function putbx                  (x: Char; p: PBSTREAM): Int;}
1822
1823 (*
1824 #define ADD_SPB_LENGTH(p, length)       {*(p)++ = (length); \
1825                                         *(p)++ = (length) >> 8;}
1826
1827 #define ADD_SPB_NUMERIC(p, data)        {*(p)++ = (data); \
1828                                         *(p)++ = (data) >> 8; \
1829                                         *(p)++ = (data) >> 16; \
1830                                         *(p)++ = (data) >> 24;}
1831 *)
1832 procedure add_spb_length(var p: PChar; length: integer);
1833 procedure add_spb_numeric(var p: PChar; data: integer);
1834
1835
1820   implementation
1821  
1822  
1839 {$IFDEF IB5_ONLY}
1840 function SQLDA_LENGTH(n: Long): Long;
1841 (*  The C-macro reads like this:
1842   SQLDA_LENGTH(n)         (sizeof (SQLDA) + (n-1) * sizeof (SQLVAR)) *)
1843 begin
1844  result := sizeof(TSQLDA) + ((n - 1) * sizeof(TSQLVAR));
1845 end;
1846 {$ENDIF}
1847
1848
1823   function XSQLDA_LENGTH(n: Long): Long;
1824   (*  The C-macro reads like this:
1825     XSQLDA_LENGTH(n)     (sizeof (XSQLDA) + (n-1) * sizeof (XSQLVAR)) *)
# Line 1853 | Line 1827 | begin
1827    result := SizeOf(TXSQLDA) + ((n - 1) * SizeOf(TXSQLVAR));
1828   end;
1829  
1856 {function getb(p: PBSTREAM): Char;
1857 (*  The C-macro reads like this:
1858   getb(p)      (--(p)->bstr_cnt >= 0 ? *(p)->bstr_ptr++ & 0377: BLOB_get (p)) *)
1859 begin
1860  Dec(p^.bstr_cnt);
1861  if (p^.bstr_cnt >= 0) then begin
1862    result := Char(Int(p^.bstr_ptr^) and Int(0377));
1863    Inc(p^.bstr_ptr);
1864  end else
1865    result := Char(BLOB_get(p));
1866 end;}
1867
1868 //function putb(x: Char; p: PBSTREAM): Int;
1869 (*  The C-macro reads like this:
1870   putb(x,p) ((x == '\n' || (!(--(p)->bstr_cnt))) ?      // then
1871     BLOB_put (x,p) :                                    // else
1872     ((int) (*(p)->bstr_ptr++ = (unsigned) (x)))) *)
1873 begin
1874  Dec(p^.bstr_cnt);
1875  if (x = Chr(Int('n') - Int('a'))) or (p^.bstr_cnt = 0) then
1876    result := BLOB_put(x, p)
1877  else begin
1878    p^.bstr_ptr^ := Char(x);
1879    result := UInt(x);
1880    Inc(p^.bstr_ptr^);
1881  end;
1882 end;
1883
1884 function putbx(x: Char; p: PBSTREAM): Int;
1885 (*  The C-macro reads like this:
1886   putbx(x,p) ((!(--(p)->bstr_cnt)) ?    // then
1887     BLOB_put (x,p) :                    // else
1888     ((int) (*(p)->bstr_ptr++ = (unsigned) (x)))) *)
1889 begin
1890  Dec(p^.bstr_cnt);
1891  if (p^.bstr_cnt = 0) then
1892    result := BLOB_put(x, p)
1893  else begin
1894    p^.bstr_ptr^ := Char(x);
1895    Inc(p^.bstr_ptr^);
1896    result := UInt(x);
1897  end;
1898 end;
1899
1900 (*******************************************)
1901 (** Service manager functions             **)
1902 (*******************************************)
1903
1904
1905 procedure add_spb_length(var p: PChar; length: integer);
1906 (*
1907 #define ADD_SPB_LENGTH(p, length)       {*(p)++ = (length); \
1908                                         *(p)++ = (length) >> 8;}
1909 *)
1910 begin
1911  p^ := char(length);
1912  Inc (p);
1913  p^ := char(length shr 8);
1914  Inc (p);
1915 end;
1916
1917 procedure add_spb_numeric(var p: PChar; data: integer);
1918 (*
1919 #define ADD_SPB_NUMERIC(p, data)        {*(p)++ = (data); \
1920                                         *(p)++ = (data) >> 8; \
1921                                         *(p)++ = (data) >> 16; \
1922                                         *(p)++ = (data) >> 24;}
1923 *)
1924 begin
1925  p^ := char(data);
1926  Inc (p);
1927  p^ := char(data shr 8);
1928  Inc (p);
1929  p^ := char(data shr 16);
1930  Inc (p);
1931  p^ := char(data shr 24);
1932  Inc (p);
1933 end;
1830  
1831   end.
1832  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines