Explorar o código

* Unit now works on Win32 as well
* Added correct XSQLDA_LENGTH (this is a function and not a constant, as
in previous versions of this unit)

sg %!s(int64=24) %!d(string=hai) anos
pai
achega
fa19822fcc
Modificáronse 1 ficheiros con 276 adicións e 259 borrados
  1. 276 259
      packages/ibase/ibase60.pp

+ 276 - 259
packages/ibase/ibase60.pp

@@ -1,11 +1,21 @@
 unit ibase60;
 
-{$mode objfpc}
+{$MODE objfpc}
+{$MACRO on}
 
 interface
 
-{$linklib c}
-{$linklib gds}
+{$IFDEF Unix}
+  {$LINKLIB c}
+  {$DEFINE gdsdecl:=cdecl}
+  const
+    gdslib = 'gds';
+{$ENDIF}
+{$IFDEF Win32}
+  {$DEFINE gdsdecl:=stdcall}
+  const
+    gdslib = 'gds32.dll';
+{$ENDIF}
 
 type
   {  Unsigned types }
@@ -282,12 +292,8 @@ type
        end;
      TXSQLDA = XSQLDA;
      PXSQLDA =^XSQLDA;
-  { was #define dname(params) def_expr }
-  { argument types are unknown }
-  { return type might be wrong }
-  Const
-     XSQLDA_LENGTH = sizeof(XSQLDA);
-    { return type might be wrong }
+
+  function XSQLDA_LENGTH(n: Integer): Integer;
 
 
   const
@@ -320,7 +326,7 @@ type
      isc_svc_handle = pointer;
      isc_tr_handle = pointer;
      isc_win_handle = pointer;
-     isc_callback = procedure ;cdecl;
+     isc_callback = procedure ;gdsdecl;
      isc_resv_handle = ISC_LONG;
      tisc_att_handle = isc_att_handle;
      tisc_blob_handle = isc_blob_handle;
@@ -350,177 +356,177 @@ type
   {                          }
 
   function isc_attach_database(_para1:PISC_STATUS; _para2:smallint; _para3:Pchar; _para4:Pisc_db_handle; _para5:smallint;
-             _para6:Pchar):ISC_STATUS; cdecl; external;
+             _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_array_gen_sdl(_para1:PISC_STATUS; _para2:PISC_ARRAY_DESC; _para3:Psmallint; _para4:Pchar; _para5:Psmallint):ISC_STATUS; cdecl; external;
+  function isc_array_gen_sdl(_para1:PISC_STATUS; _para2:PISC_ARRAY_DESC; _para3:Psmallint; _para4:Pchar; _para5:Psmallint):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_array_get_slice(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:PISC_QUAD; _para5:PISC_ARRAY_DESC;
-             _para6:pointer; _para7:PISC_LONG):ISC_STATUS; cdecl; external;
+             _para6:pointer; _para7:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_array_lookup_bounds(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pchar; _para5:Pchar;
-             _para6:PISC_ARRAY_DESC):ISC_STATUS; cdecl; external;
+             _para6:PISC_ARRAY_DESC):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_array_lookup_desc(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pchar; _para5:Pchar;
-             _para6:PISC_ARRAY_DESC):ISC_STATUS; cdecl; external;
+             _para6:PISC_ARRAY_DESC):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_array_set_desc(_para1:PISC_STATUS; _para2:Pchar; _para3:Pchar; _para4:Psmallint; _para5:Psmallint;
-             _para6:Psmallint; _para7:PISC_ARRAY_DESC):ISC_STATUS; cdecl; external;
+             _para6:Psmallint; _para7:PISC_ARRAY_DESC):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_array_put_slice(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:PISC_QUAD; _para5:PISC_ARRAY_DESC;
-             _para6:pointer; _para7:PISC_LONG):ISC_STATUS; cdecl; external;
+             _para6:pointer; _para7:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
 
-  procedure isc_blob_default_desc(_para1:PISC_BLOB_DESC; _para2:Pbyte; _para3:Pbyte); cdecl; external;
+  procedure isc_blob_default_desc(_para1:PISC_BLOB_DESC; _para2:Pbyte; _para3:Pbyte); gdsdecl; external gdslib;
 
   function isc_blob_gen_bpb(_para1:PISC_STATUS; _para2:PISC_BLOB_DESC; _para3:PISC_BLOB_DESC; _para4:word; _para5:Pbyte;
-             _para6:Pword):ISC_STATUS; cdecl; external;
+             _para6:Pword):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_blob_info(_para1:PISC_STATUS; _para2:Pisc_blob_handle; _para3:smallint; _para4:Pchar; _para5:smallint;
-             _para6:Pchar):ISC_STATUS; cdecl; external;
+             _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_blob_lookup_desc(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pbyte; _para5:Pbyte;
-             _para6:PISC_BLOB_DESC; _para7:Pbyte):ISC_STATUS; cdecl; external;
+             _para6:PISC_BLOB_DESC; _para7:Pbyte):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_blob_set_desc(_para1:PISC_STATUS; _para2:Pbyte; _para3:Pbyte; _para4:smallint; _para5:smallint;
-             _para6:smallint; _para7:PISC_BLOB_DESC):ISC_STATUS; cdecl; external;
+             _para6:smallint; _para7:PISC_BLOB_DESC):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_cancel_blob(_para1:PISC_STATUS; _para2:Pisc_blob_handle):ISC_STATUS; cdecl; external;
+  function isc_cancel_blob(_para1:PISC_STATUS; _para2:Pisc_blob_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_cancel_events(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:PISC_LONG):ISC_STATUS; cdecl; external;
+  function isc_cancel_events(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_close_blob(_para1:PISC_STATUS; _para2:Pisc_blob_handle):ISC_STATUS; cdecl; external;
+  function isc_close_blob(_para1:PISC_STATUS; _para2:Pisc_blob_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_commit_retaining(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; cdecl; external;
+  function isc_commit_retaining(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_commit_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; cdecl; external;
+  function isc_commit_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_create_blob(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_blob_handle; _para5:PISC_QUAD):ISC_STATUS; cdecl; external;
+  function isc_create_blob(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_blob_handle; _para5:PISC_QUAD):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_create_blob2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_blob_handle; _para5:PISC_QUAD;
-             _para6:smallint; _para7:Pchar):ISC_STATUS; cdecl; external;
+             _para6:smallint; _para7:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_create_database(_para1:PISC_STATUS; _para2:smallint; _para3:Pchar; _para4:Pisc_db_handle; _para5:smallint;
-             _para6:Pchar; _para7:smallint):ISC_STATUS; cdecl; external;
+             _para6:Pchar; _para7:smallint):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_database_info(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:smallint; _para4:Pchar; _para5:smallint;
-             _para6:Pchar):ISC_STATUS; cdecl; external;
+             _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  procedure isc_decode_date(_para1:PISC_QUAD; _para2:pointer); cdecl; external;
+  procedure isc_decode_date(_para1:PISC_QUAD; _para2:pointer); gdsdecl; external gdslib;
 
-  procedure isc_decode_sql_date(_para1:PISC_DATE; _para2:pointer); cdecl; external;
+  procedure isc_decode_sql_date(_para1:PISC_DATE; _para2:pointer); gdsdecl; external gdslib;
 
-  procedure isc_decode_sql_time(_para1:PISC_TIME; _para2:pointer); cdecl; external;
+  procedure isc_decode_sql_time(_para1:PISC_TIME; _para2:pointer); gdsdecl; external gdslib;
 
-  procedure isc_decode_timestamp(_para1:PISC_TIMESTAMP; _para2:pointer); cdecl; external;
+  procedure isc_decode_timestamp(_para1:PISC_TIMESTAMP; _para2:pointer); gdsdecl; external gdslib;
 
-  function isc_detach_database(_para1:PISC_STATUS; _para2:Pisc_db_handle):ISC_STATUS; cdecl; external;
+  function isc_detach_database(_para1:PISC_STATUS; _para2:Pisc_db_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_drop_database(_para1:PISC_STATUS; _para2:Pisc_db_handle):ISC_STATUS; cdecl; external;
+  function isc_drop_database(_para1:PISC_STATUS; _para2:Pisc_db_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_dsql_allocate_statement(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_stmt_handle):ISC_STATUS; cdecl; external;
+  function isc_dsql_allocate_statement(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_stmt_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_dsql_alloc_statement2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_stmt_handle):ISC_STATUS; cdecl; external;
+  function isc_dsql_alloc_statement2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_stmt_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_dsql_describe(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_dsql_describe(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_dsql_describe_bind(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_dsql_describe_bind(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_dsql_exec_immed2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
-             _para6:word; _para7:PXSQLDA; _para8:PXSQLDA):ISC_STATUS; cdecl; external;
+             _para6:word; _para7:PXSQLDA; _para8:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_dsql_execute(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_dsql_execute(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_dsql_execute2(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:PXSQLDA;
-             _para6:PXSQLDA):ISC_STATUS; cdecl; external;
+             _para6:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_dsql_execute_immediate(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
-             _para6:word; _para7:PXSQLDA):ISC_STATUS; cdecl; external;
+             _para6:word; _para7:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_dsql_fetch(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_dsql_fetch(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_dsql_finish(_para1:Pisc_db_handle):ISC_STATUS; cdecl; external;
+  function isc_dsql_finish(_para1:Pisc_db_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_dsql_free_statement(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word):ISC_STATUS; cdecl; external;
+  function isc_dsql_free_statement(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_dsql_insert(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_dsql_insert(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_dsql_prepare(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:Pchar;
-             _para6:word; _para7:PXSQLDA):ISC_STATUS; cdecl; external;
+             _para6:word; _para7:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_dsql_set_cursor_name(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:Pchar; _para4:word):ISC_STATUS; cdecl; external;
+  function isc_dsql_set_cursor_name(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:Pchar; _para4:word):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_dsql_sql_info(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:smallint; _para4:Pchar; _para5:smallint;
-             _para6:Pchar):ISC_STATUS; cdecl; external;
+             _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  procedure isc_encode_date(_para1:pointer; _para2:PISC_QUAD); cdecl; external;
+  procedure isc_encode_date(_para1:pointer; _para2:PISC_QUAD); gdsdecl; external gdslib;
 
-  procedure isc_encode_sql_date(_para1:pointer; _para2:PISC_DATE); cdecl; external;
+  procedure isc_encode_sql_date(_para1:pointer; _para2:PISC_DATE); gdsdecl; external gdslib;
 
-  procedure isc_encode_sql_time(_para1:pointer; _para2:PISC_TIME); cdecl; external;
+  procedure isc_encode_sql_time(_para1:pointer; _para2:PISC_TIME); gdsdecl; external gdslib;
 
-  procedure isc_encode_timestamp(_para1:pointer; _para2:PISC_TIMESTAMP); cdecl; external;
+  procedure isc_encode_timestamp(_para1:pointer; _para2:PISC_TIMESTAMP); gdsdecl; external gdslib;
 
-  function isc_event_block(_para1:PPchar; _para2:PPchar; _para3:word; args:array of const):ISC_LONG; cdecl; external;
+  function isc_event_block(_para1:PPchar; _para2:PPchar; _para3:word; args:array of const):ISC_LONG; cdecl; external gdslib;
 
   {!!MVC
   void         isc_event_counts (unsigned ISC_LONG   ,
                                          short,
                                          char   ,
-                                         char   ); cdecl; external;
+                                         char   ); gdsdecl; external gdslib;
   !!MVC }
-  procedure isc_expand_dpb(_para1:PPchar; _para2:Psmallint; args:array of const); cdecl; external;
+  procedure isc_expand_dpb(_para1:PPchar; _para2:Psmallint; args:array of const); cdecl; external gdslib;
 
-  function isc_modify_dpb(_para1:PPchar; _para2:Psmallint; _para3:word; _para4:Pchar; _para5:smallint):longint; cdecl; external;
+  function isc_modify_dpb(_para1:PPchar; _para2:Psmallint; _para3:word; _para4:Pchar; _para5:smallint):longint; gdsdecl; external gdslib;
 
-  function isc_free(_para1:Pchar):ISC_LONG; cdecl; external;
+  function isc_free(_para1:Pchar):ISC_LONG; gdsdecl; external gdslib;
 
-  function isc_get_segment(_para1:PISC_STATUS; _para2:Pisc_blob_handle; _para3:Pword; _para4:word; _para5:Pchar):ISC_STATUS; cdecl; external;
+  function isc_get_segment(_para1:PISC_STATUS; _para2:Pisc_blob_handle; _para3:Pword; _para4:word; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_get_slice(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:PISC_QUAD; _para5:smallint;
              _para6:Pchar; _para7:smallint; _para8:PISC_LONG; _para9:ISC_LONG; _para10:pointer;
-             _para11:PISC_LONG):ISC_STATUS; cdecl; external;
+             _para11:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_interprete(_para1:Pchar; _para2:PPISC_STATUS):ISC_STATUS; cdecl; external;
+  function isc_interprete(_para1:Pchar; _para2:PPISC_STATUS):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_open_blob(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_blob_handle; _para5:PISC_QUAD):ISC_STATUS; cdecl; external;
+  function isc_open_blob(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_blob_handle; _para5:PISC_QUAD):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_open_blob2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_blob_handle; _para5:PISC_QUAD;
-             _para6:smallint; _para7:Pchar):ISC_STATUS; cdecl; external;
+             _para6:smallint; _para7:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_prepare_transaction2(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint; _para4:Pchar):ISC_STATUS; cdecl; external;
+  function isc_prepare_transaction2(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint; _para4:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  procedure isc_print_sqlerror(_para1:smallint; _para2:PISC_STATUS); cdecl; external;
+  procedure isc_print_sqlerror(_para1:smallint; _para2:PISC_STATUS); gdsdecl; external gdslib;
 
-  function isc_print_status(_para1:PISC_STATUS):ISC_STATUS; cdecl; external;
+  function isc_print_status(_para1:PISC_STATUS):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_put_segment(_para1:PISC_STATUS; _para2:Pisc_blob_handle; _para3:word; _para4:Pchar):ISC_STATUS; cdecl; external;
+  function isc_put_segment(_para1:PISC_STATUS; _para2:Pisc_blob_handle; _para3:word; _para4:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_put_slice(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:PISC_QUAD; _para5:smallint;
-             _para6:Pchar; _para7:smallint; _para8:PISC_LONG; _para9:ISC_LONG; _para10:pointer):ISC_STATUS; cdecl; external;
+             _para6:Pchar; _para7:smallint; _para8:PISC_LONG; _para9:ISC_LONG; _para10:pointer):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_que_events(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:PISC_LONG; _para4:smallint; _para5:Pchar;
-             _para6:isc_callback; _para7:pointer):ISC_STATUS; cdecl; external;
+             _para6:isc_callback; _para7:pointer):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_rollback_retaining(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; cdecl; external;
+  function isc_rollback_retaining(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_rollback_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; cdecl; external;
+  function isc_rollback_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_start_multiple(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint; _para4:pointer):ISC_STATUS; cdecl; external;
+  function isc_start_multiple(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint; _para4:pointer):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_start_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint; args:array of const):ISC_STATUS; cdecl; external;
+  function isc_start_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint; args:array of const):ISC_STATUS; cdecl; external gdslib;
 
-  function isc_sqlcode(_para1:PISC_STATUS):ISC_LONG; cdecl; external;
+  function isc_sqlcode(_para1:PISC_STATUS):ISC_LONG; gdsdecl; external gdslib;
 
-  procedure isc_sql_interprete(_para1:smallint; _para2:Pchar; _para3:smallint); cdecl; external;
+  procedure isc_sql_interprete(_para1:smallint; _para2:Pchar; _para3:smallint); gdsdecl; external gdslib;
 
   function isc_transaction_info(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint; _para4:Pchar; _para5:smallint;
-             _para6:Pchar):ISC_STATUS; cdecl; external;
+             _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_transact_request(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
-             _para6:word; _para7:Pchar; _para8:word; _para9:Pchar):ISC_STATUS; cdecl; external;
+             _para6:word; _para7:Pchar; _para8:word; _para9:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_vax_integer(_para1:Pchar; _para2:smallint):ISC_LONG; cdecl; external;
+  function isc_vax_integer(_para1:Pchar; _para2:smallint):ISC_LONG; gdsdecl; external gdslib;
 
-  function isc_portable_integer(_para1:Pbyte; _para2:smallint):ISC_INT64; cdecl; external;
+  function isc_portable_integer(_para1:Pbyte; _para2:smallint):ISC_INT64; gdsdecl; external gdslib;
 
   {                                    }
   { Security Functions and structures  }
@@ -575,174 +581,178 @@ type
      TUSER_SEC_DATA = USER_SEC_DATA;
      PUSER_SEC_DATA = ^USER_SEC_DATA;
 
-  function isc_add_user(_para1:PISC_STATUS; _para2:PUSER_SEC_DATA):longint; cdecl; external;
+  function isc_add_user(_para1:PISC_STATUS; _para2:PUSER_SEC_DATA):longint; gdsdecl; external gdslib;
 
-  function isc_delete_user(_para1:PISC_STATUS; _para2:PUSER_SEC_DATA):longint; cdecl; external;
+  function isc_delete_user(_para1:PISC_STATUS; _para2:PUSER_SEC_DATA):longint; gdsdecl; external gdslib;
 
-  function isc_modify_user(_para1:PISC_STATUS; _para2:PUSER_SEC_DATA):longint; cdecl; external;
+  function isc_modify_user(_para1:PISC_STATUS; _para2:PUSER_SEC_DATA):longint; gdsdecl; external gdslib;
 
   {                                 }
   {  Other OSRI functions           }
   {                                 }
-  function isc_compile_request(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_req_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; cdecl; external;
+  function isc_compile_request(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_req_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_compile_request2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_req_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; cdecl; external;
+  function isc_compile_request2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_req_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_ddl(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; cdecl; external;
+  function isc_ddl(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_prepare_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; cdecl; external;
+  function isc_prepare_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_receive(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:smallint; _para4:smallint; _para5:pointer;
-             _para6:smallint):ISC_STATUS; cdecl; external;
+             _para6:smallint):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_reconnect_transaction(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; cdecl; external;
+  function isc_reconnect_transaction(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_release_request(_para1:PISC_STATUS; _para2:Pisc_req_handle):ISC_STATUS; cdecl; external;
+  function isc_release_request(_para1:PISC_STATUS; _para2:Pisc_req_handle):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_request_info(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:smallint; _para4:smallint; _para5:Pchar;
-             _para6:smallint; _para7:Pchar):ISC_STATUS; cdecl; external;
+             _para6:smallint; _para7:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_seek_blob(_para1:PISC_STATUS; _para2:Pisc_blob_handle; _para3:smallint; _para4:ISC_LONG; _para5:PISC_LONG):ISC_STATUS; cdecl; external;
+  function isc_seek_blob(_para1:PISC_STATUS; _para2:Pisc_blob_handle; _para3:smallint; _para4:ISC_LONG; _para5:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_send(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:smallint; _para4:smallint; _para5:pointer;
-             _para6:smallint):ISC_STATUS; cdecl; external;
+             _para6:smallint):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_start_and_send(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:Pisc_tr_handle; _para4:smallint; _para5:smallint;
-             _para6:pointer; _para7:smallint):ISC_STATUS; cdecl; external;
+             _para6:pointer; _para7:smallint):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_start_request(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:Pisc_tr_handle; _para4:smallint):ISC_STATUS; cdecl; external;
+  function isc_start_request(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:Pisc_tr_handle; _para4:smallint):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_unwind_request(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint):ISC_STATUS; cdecl; external;
+  function isc_unwind_request(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_wait_for_event(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:smallint; _para4:Pchar; _para5:Pchar):ISC_STATUS; cdecl; external;
+  function isc_wait_for_event(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:smallint; _para4:Pchar; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   {                            }
   { Other Sql functions        }
   {                            }
-  function isc_close(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; cdecl; external;
+  function isc_close(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_declare(_para1:PISC_STATUS; _para2:Pchar; _para3:Pchar):ISC_STATUS; cdecl; external;
+  function isc_declare(_para1:PISC_STATUS; _para2:Pchar; _para3:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_describe(_para1:PISC_STATUS; _para2:Pchar; _para3:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_describe(_para1:PISC_STATUS; _para2:Pchar; _para3:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_describe_bind(_para1:PISC_STATUS; _para2:Pchar; _para3:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_describe_bind(_para1:PISC_STATUS; _para2:Pchar; _para3:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_execute(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_execute(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_execute_immediate(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; cdecl; external;
+  function isc_execute_immediate(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_fetch(_para1:PISC_STATUS; _para2:Pchar; _para3:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_fetch(_para1:PISC_STATUS; _para2:Pchar; _para3:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_open(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_open(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_prepare(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pchar; _para5:Psmallint;
-             _para6:Pchar; _para7:PXSQLDA):ISC_STATUS; cdecl; external;
+             _para6:Pchar; _para7:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
   {                                    }
   { Other Dynamic sql functions        }
   {                                    }
   function isc_dsql_execute_m(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:Pchar;
-             _para6:word; _para7:word; _para8:Pchar):ISC_STATUS; cdecl; external;
+             _para6:word; _para7:word; _para8:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_dsql_execute2_m(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:Pchar;
              _para6:word; _para7:word; _para8:Pchar; _para9:word; _para10:Pchar;
-             _para11:word; _para12:word; _para13:Pchar):ISC_STATUS; cdecl; external;
+             _para11:word; _para12:word; _para13:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_dsql_execute_immediate_m(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
              _para6:word; _para7:word; _para8:Pchar; _para9:word; _para10:word;
-             _para11:Pchar):ISC_STATUS; cdecl; external;
+             _para11:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_dsql_exec_immed3_m(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
              _para6:word; _para7:word; _para8:Pchar; _para9:word; _para10:word;
              _para11:Pchar; _para12:word; _para13:Pchar; _para14:word; _para15:word;
-             _para16:Pchar):ISC_STATUS; cdecl; external;
+             _para16:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_dsql_fetch_m(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:Pchar; _para5:word;
-             _para6:word; _para7:Pchar):ISC_STATUS; cdecl; external;
+             _para6:word; _para7:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_dsql_insert_m(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:Pchar; _para5:word;
-             _para6:word; _para7:Pchar):ISC_STATUS; cdecl; external;
+             _para6:word; _para7:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_dsql_prepare_m(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:Pchar;
-             _para6:word; _para7:word; _para8:Pchar; _para9:word; _para10:Pchar):ISC_STATUS; cdecl; external;
+             _para6:word; _para7:word; _para8:Pchar; _para9:word; _para10:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_dsql_release(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; cdecl; external;
+  function isc_dsql_release(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_embed_dsql_close(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; cdecl; external;
+  function isc_embed_dsql_close(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_embed_dsql_declare(_para1:PISC_STATUS; _para2:Pchar; _para3:Pchar):ISC_STATUS; cdecl; external;
+  function isc_embed_dsql_declare(_para1:PISC_STATUS; _para2:Pchar; _para3:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_embed_dsql_describe(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_embed_dsql_describe(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_embed_dsql_describe_bind(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_embed_dsql_describe_bind(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_embed_dsql_execute(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:word; _para5:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_embed_dsql_execute(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:word; _para5:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_embed_dsql_execute2(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:word; _para5:PXSQLDA;
-             _para6:PXSQLDA):ISC_STATUS; cdecl; external;
+             _para6:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_embed_dsql_execute_immed(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
-             _para6:word; _para7:PXSQLDA):ISC_STATUS; cdecl; external;
+             _para6:word; _para7:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_embed_dsql_fetch(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_embed_dsql_fetch(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_embed_dsql_open(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:word; _para5:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_embed_dsql_open(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:word; _para5:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_embed_dsql_open2(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:word; _para5:PXSQLDA;
-             _para6:PXSQLDA):ISC_STATUS; cdecl; external;
+             _para6:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_embed_dsql_insert(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; cdecl; external;
+  function isc_embed_dsql_insert(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_embed_dsql_prepare(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pchar; _para5:word;
-             _para6:Pchar; _para7:word; _para8:PXSQLDA):ISC_STATUS; cdecl; external;
+             _para6:Pchar; _para7:word; _para8:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_embed_dsql_release(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; cdecl; external;
+  function isc_embed_dsql_release(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   {                             }
   { Other Blob functions        }
   {                             }
-  function BLOB_open(_para1:isc_blob_handle; _para2:Pchar; _para3:longint):PBSTREAM; cdecl; external;
+  function BLOB_open(_para1:isc_blob_handle; _para2:Pchar; _para3:longint):PBSTREAM; gdsdecl; external gdslib;
 
-  function BLOB_put(_para1:char; _para2:PBSTREAM):longint; cdecl; external;
+  function BLOB_put(_para1:char; _para2:PBSTREAM):longint; gdsdecl; external gdslib;
 
-  function BLOB_close(_para1:PBSTREAM):longint; cdecl; external;
+  function BLOB_close(_para1:PBSTREAM):longint; gdsdecl; external gdslib;
 
-  function BLOB_get(_para1:PBSTREAM):longint; cdecl; external;
+  function BLOB_get(_para1:PBSTREAM):longint; gdsdecl; external gdslib;
 
-  function BLOB_display(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; cdecl; external;
+  function BLOB_display(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
 
-  function BLOB_dump(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; cdecl; external;
+  function BLOB_dump(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
 
-  function BLOB_edit(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; cdecl; external;
+  function BLOB_edit(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
 
-  function BLOB_load(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; cdecl; external;
+  function BLOB_load(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
 
-  function BLOB_text_dump(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; cdecl; external;
+  function BLOB_text_dump(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
 
-  function BLOB_text_load(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; cdecl; external;
+  function BLOB_text_load(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
 
-  function Bopen(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):PBSTREAM; cdecl; external;
+  function Bopen(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):PBSTREAM; gdsdecl; external gdslib;
 
-  function Bopen2(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar; _para5:word):PBSTREAM; cdecl; external;
+{$IFDEF Unix}
+  function Bopen2(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar; _para5:word):PBSTREAM; gdsdecl; external gdslib;
+{$ENDIF}
 
   {                             }
   { Other Misc functions        }
   {                             }
-  function isc_ftof(_para1:Pchar; _para2:word; _para3:Pchar; _para4:word):ISC_LONG; cdecl; external;
+  function isc_ftof(_para1:Pchar; _para2:word; _para3:Pchar; _para4:word):ISC_LONG; gdsdecl; external gdslib;
 
-  function isc_print_blr(_para1:Pchar; _para2:isc_callback; _para3:pointer; _para4:smallint):ISC_STATUS; cdecl; external;
+  function isc_print_blr(_para1:Pchar; _para2:isc_callback; _para3:pointer; _para4:smallint):ISC_STATUS; gdsdecl; external gdslib;
 
-  procedure isc_set_debug(_para1:longint); cdecl; external;
+  procedure isc_set_debug(_para1:longint); gdsdecl; external gdslib;
 
-  procedure isc_qtoq(_para1:PISC_QUAD; _para2:PISC_QUAD); cdecl; external;
+  procedure isc_qtoq(_para1:PISC_QUAD; _para2:PISC_QUAD); gdsdecl; external gdslib;
 
-  procedure isc_vtof(_para1:Pchar; _para2:Pchar; _para3:word); cdecl; external;
+  procedure isc_vtof(_para1:Pchar; _para2:Pchar; _para3:word); gdsdecl; external gdslib;
 
-  procedure isc_vtov(_para1:Pchar; _para2:Pchar; _para3:smallint); cdecl; external;
+  procedure isc_vtov(_para1:Pchar; _para2:Pchar; _para3:smallint); gdsdecl; external gdslib;
 
-  function isc_version(_para1:Pisc_db_handle; _para2:isc_callback; _para3:pointer):longint; cdecl; external;
+  function isc_version(_para1:Pisc_db_handle; _para2:isc_callback; _para3:pointer):longint; gdsdecl; external gdslib;
 
-  function isc_reset_fpe(_para1:word):ISC_LONG; cdecl; external;
+{$IFDEF Unix}
+  function isc_reset_fpe(_para1:word):ISC_LONG; gdsdecl; external gdslib;
+{$ENDIF}
 
   {                                        }
   { Service manager functions              }
@@ -758,229 +768,235 @@ type
   !!MVC *)
 
   function isc_service_attach(_para1:PISC_STATUS; _para2:word; _para3:Pchar; _para4:Pisc_svc_handle; _para5:word;
-             _para6:Pchar):ISC_STATUS; cdecl; external;
+             _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_service_detach(_para1:PISC_STATUS; _para2:Pisc_svc_handle):ISC_STATUS; cdecl; external;
+  function isc_service_detach(_para1:PISC_STATUS; _para2:Pisc_svc_handle):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_service_query(_para1:PISC_STATUS; _para2:Pisc_svc_handle; _para3:Pisc_resv_handle; _para4:word; _para5:Pchar;
-             _para6:word; _para7:Pchar; _para8:word; _para9:Pchar):ISC_STATUS; cdecl; external;
+             _para6:word; _para7:Pchar; _para8:word; _para9:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_service_start(_para1:PISC_STATUS; _para2:Pisc_svc_handle; _para3:Pisc_resv_handle; _para4:word; _para5:Pchar):ISC_STATUS; cdecl; external;
+  function isc_service_start(_para1:PISC_STATUS; _para2:Pisc_svc_handle; _para3:Pisc_resv_handle; _para4:word; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   {                              }
   { Forms functions              }
   {                              }
-  function isc_compile_map(_para1:PISC_STATUS; _para2:Pisc_form_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; cdecl; external;
+{$IFDEF Unix}
+  function isc_compile_map(_para1:PISC_STATUS; _para2:Pisc_form_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_compile_menu(_para1:PISC_STATUS; _para2:Pisc_form_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; cdecl; external;
+  function isc_compile_menu(_para1:PISC_STATUS; _para2:Pisc_form_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_compile_sub_map(_para1:PISC_STATUS; _para2:Pisc_win_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; cdecl; external;
+  function isc_compile_sub_map(_para1:PISC_STATUS; _para2:Pisc_win_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_create_window(_para1:PISC_STATUS; _para2:Pisc_win_handle; _para3:Psmallint; _para4:Pchar; _para5:Psmallint;
-             _para6:Psmallint):ISC_STATUS; cdecl; external;
+             _para6:Psmallint):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_delete_window(_para1:PISC_STATUS; _para2:Pisc_win_handle):ISC_STATUS; cdecl; external;
+  function isc_delete_window(_para1:PISC_STATUS; _para2:Pisc_win_handle):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_drive_form(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_win_handle; _para5:Pisc_req_handle;
-             _para6:Pbyte; _para7:Pbyte):ISC_STATUS; cdecl; external;
+             _para6:Pbyte; _para7:Pbyte):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_drive_menu(_para1:PISC_STATUS; _para2:Pisc_win_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar;
              _para6:Psmallint; _para7:Pchar; _para8:Psmallint; _para9:Psmallint; _para10:Pchar;
-             _para11:PISC_LONG):ISC_STATUS; cdecl; external;
+             _para11:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_form_delete(_para1:PISC_STATUS; _para2:Pisc_form_handle):ISC_STATUS; cdecl; external;
+  function isc_form_delete(_para1:PISC_STATUS; _para2:Pisc_form_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_form_fetch(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_req_handle; _para5:Pbyte):ISC_STATUS; cdecl; external;
+  function isc_form_fetch(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_req_handle; _para5:Pbyte):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_form_insert(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_req_handle; _para5:Pbyte):ISC_STATUS; cdecl; external;
+  function isc_form_insert(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_req_handle; _para5:Pbyte):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_get_entree(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:Psmallint; _para4:Pchar; _para5:PISC_LONG;
-             _para6:Psmallint):ISC_STATUS; cdecl; external;
+             _para6:Psmallint):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_initialize_menu(_para1:PISC_STATUS; _para2:Pisc_req_handle):ISC_STATUS; cdecl; external;
+  function isc_initialize_menu(_para1:PISC_STATUS; _para2:Pisc_req_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_menu(_para1:PISC_STATUS; _para2:Pisc_win_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; cdecl; external;
+  function isc_menu(_para1:PISC_STATUS; _para2:Pisc_win_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
   function isc_load_form(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_form_handle; _para5:Psmallint;
-             _para6:Pchar):ISC_STATUS; cdecl; external;
+             _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_pop_window(_para1:PISC_STATUS; _para2:Pisc_win_handle):ISC_STATUS; cdecl; external;
+  function isc_pop_window(_para1:PISC_STATUS; _para2:Pisc_win_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_put_entree(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:Psmallint; _para4:Pchar; _para5:PISC_LONG):ISC_STATUS; cdecl; external;
+  function isc_put_entree(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:Psmallint; _para4:Pchar; _para5:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_reset_form(_para1:PISC_STATUS; _para2:Pisc_req_handle):ISC_STATUS; cdecl; external;
+  function isc_reset_form(_para1:PISC_STATUS; _para2:Pisc_req_handle):ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_suspend_window(_para1:PISC_STATUS; _para2:Pisc_win_handle):ISC_STATUS; cdecl; external;
+  function isc_suspend_window(_para1:PISC_STATUS; _para2:Pisc_win_handle):ISC_STATUS; gdsdecl; external gdslib;
+{$ENDIF}
 
-  function isc_attach_database:ISC_STATUS; cdecl; external;
+  function isc_attach_database:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_array_gen_sdl:ISC_STATUS; cdecl; external;
+  function isc_array_gen_sdl:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_array_get_slice:ISC_STATUS; cdecl; external;
+  function isc_array_get_slice:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_array_lookup_bounds:ISC_STATUS; cdecl; external;
+  function isc_array_lookup_bounds:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_array_lookup_desc:ISC_STATUS; cdecl; external;
+  function isc_array_lookup_desc:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_array_set_desc:ISC_STATUS; cdecl; external;
+  function isc_array_set_desc:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_array_put_slice:ISC_STATUS; cdecl; external;
+  function isc_array_put_slice:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_blob_gen_bpb:ISC_STATUS; cdecl; external;
+  function isc_blob_gen_bpb:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_blob_info:ISC_STATUS; cdecl; external;
+  function isc_blob_info:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_blob_lookup_desc:ISC_STATUS; cdecl; external;
+  function isc_blob_lookup_desc:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_blob_set_desc:ISC_STATUS; cdecl; external;
+  function isc_blob_set_desc:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_cancel_blob:ISC_STATUS; cdecl; external;
+  function isc_cancel_blob:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_cancel_events:ISC_STATUS; cdecl; external;
+  function isc_cancel_events:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_close_blob:ISC_STATUS; cdecl; external;
+  function isc_close_blob:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_commit_retaining:ISC_STATUS; cdecl; external;
+  function isc_commit_retaining:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_commit_transaction:ISC_STATUS; cdecl; external;
+  function isc_commit_transaction:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_compile_request:ISC_STATUS; cdecl; external;
+  function isc_compile_request:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_compile_request2:ISC_STATUS; cdecl; external;
+  function isc_compile_request2:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_create_blob:ISC_STATUS; cdecl; external;
+  function isc_create_blob:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_create_blob2:ISC_STATUS; cdecl; external;
+  function isc_create_blob2:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_create_database:ISC_STATUS; cdecl; external;
+  function isc_create_database:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_database_info:ISC_STATUS; cdecl; external;
+  function isc_database_info:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_ddl:ISC_STATUS; cdecl; external;
+  function isc_ddl:ISC_STATUS; gdsdecl; external gdslib;
 
-  procedure isc_decode_date; cdecl; external;
+  procedure isc_decode_date; gdsdecl; external gdslib;
 
-  procedure isc_decode_sql_date; cdecl; external;
+  procedure isc_decode_sql_date; gdsdecl; external gdslib;
 
-  procedure isc_decode_sql_time; cdecl; external;
+  procedure isc_decode_sql_time; gdsdecl; external gdslib;
 
-  procedure isc_decode_timestamp; cdecl; external;
+  procedure isc_decode_timestamp; gdsdecl; external gdslib;
 
-  function isc_detach_database:ISC_STATUS; cdecl; external;
+  function isc_detach_database:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_drop_database:ISC_STATUS; cdecl; external;
+  function isc_drop_database:ISC_STATUS; gdsdecl; external gdslib;
 
-  procedure isc_encode_date; cdecl; external;
+  procedure isc_encode_date; gdsdecl; external gdslib;
 
-  procedure isc_encode_sql_date; cdecl; external;
+  procedure isc_encode_sql_date; gdsdecl; external gdslib;
 
-  procedure isc_encode_sql_time; cdecl; external;
+  procedure isc_encode_sql_time; gdsdecl; external gdslib;
 
-  procedure isc_encode_timestamp; cdecl; external;
+  procedure isc_encode_timestamp; gdsdecl; external gdslib;
 
-  function isc_event_block:ISC_LONG; cdecl; external;
+  function isc_event_block:ISC_LONG; cdecl; external gdslib;
 
-  procedure isc_event_counts; cdecl; external;
+  procedure isc_event_counts; gdsdecl; external gdslib;
 
-  procedure isc_expand_dpb; cdecl; external;
+  procedure isc_expand_dpb; cdecl; external gdslib;
 
-  function isc_modify_dpb:longint; cdecl; external;
+  function isc_modify_dpb:longint; gdsdecl; external gdslib;
 
-  function isc_free:ISC_LONG; cdecl; external;
+  function isc_free:ISC_LONG; gdsdecl; external gdslib;
 
-  function isc_get_segment:ISC_STATUS; cdecl; external;
+  function isc_get_segment:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_get_slice:ISC_STATUS; cdecl; external;
+  function isc_get_slice:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_interprete:ISC_STATUS; cdecl; external;
+  function isc_interprete:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_open_blob:ISC_STATUS; cdecl; external;
+  function isc_open_blob:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_open_blob2:ISC_STATUS; cdecl; external;
+  function isc_open_blob2:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_prepare_transaction:ISC_STATUS; cdecl; external;
+  function isc_prepare_transaction:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_prepare_transaction2:ISC_STATUS; cdecl; external;
+  function isc_prepare_transaction2:ISC_STATUS; gdsdecl; external gdslib;
 
-  procedure isc_print_sqlerror; cdecl; external;
+  procedure isc_print_sqlerror; gdsdecl; external gdslib;
 
-  function isc_print_status:ISC_STATUS; cdecl; external;
+  function isc_print_status:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_put_segment:ISC_STATUS; cdecl; external;
+  function isc_put_segment:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_put_slice:ISC_STATUS; cdecl; external;
+  function isc_put_slice:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_que_events:ISC_STATUS; cdecl; external;
+  function isc_que_events:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_receive:ISC_STATUS; cdecl; external;
+  function isc_receive:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_reconnect_transaction:ISC_STATUS; cdecl; external;
+  function isc_reconnect_transaction:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_release_request:ISC_STATUS; cdecl; external;
+  function isc_release_request:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_request_info:ISC_STATUS; cdecl; external;
+  function isc_request_info:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_reset_fpe:ISC_LONG; cdecl; external;
+{$IFDEF Unix}
+  function isc_reset_fpe:ISC_LONG; gdsdecl; external gdslib;
+{$ENDIF}
 
-  function isc_rollback_transaction:ISC_STATUS; cdecl; external;
+  function isc_rollback_transaction:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_rollback_retaining:ISC_STATUS; cdecl; external;
+  function isc_rollback_retaining:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_seek_blob:ISC_STATUS; cdecl; external;
+  function isc_seek_blob:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_send:ISC_STATUS; cdecl; external;
+  function isc_send:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_service_attach:ISC_STATUS; cdecl; external;
+  function isc_service_attach:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_service_detach:ISC_STATUS; cdecl; external;
+  function isc_service_detach:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_service_query:ISC_STATUS; cdecl; external;
+  function isc_service_query:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_service_start:ISC_STATUS; cdecl; external;
+  function isc_service_start:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_start_and_send:ISC_STATUS; cdecl; external;
+  function isc_start_and_send:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_start_multiple:ISC_STATUS; cdecl; external;
+  function isc_start_multiple:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_start_request:ISC_STATUS; cdecl; external;
+  function isc_start_request:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_start_transaction:ISC_STATUS; cdecl; external;
+  function isc_start_transaction:ISC_STATUS; cdecl; external gdslib;
 
-  function isc_sqlcode:ISC_LONG; cdecl; external;
+  function isc_sqlcode:ISC_LONG; gdsdecl; external gdslib;
 
-  function isc_transaction_info:ISC_STATUS; cdecl; external;
+  function isc_transaction_info:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_transact_request:ISC_STATUS; cdecl; external;
+  function isc_transact_request:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_unwind_request:ISC_STATUS; cdecl; external;
+  function isc_unwind_request:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_wait_for_event:ISC_STATUS; cdecl; external;
+  function isc_wait_for_event:ISC_STATUS; gdsdecl; external gdslib;
 
-  function isc_ftof:ISC_LONG; cdecl; external;
+  function isc_ftof:ISC_LONG; gdsdecl; external gdslib;
 
-  function isc_print_blr:ISC_STATUS; cdecl; external;
+  function isc_print_blr:ISC_STATUS; gdsdecl; external gdslib;
 
-  procedure isc_set_debug; cdecl; external;
+  procedure isc_set_debug; gdsdecl; external gdslib;
 
-  procedure isc_qtoq; cdecl; external;
+  procedure isc_qtoq; gdsdecl; external gdslib;
 
-  function isc_vax_integer:ISC_LONG; cdecl; external;
+  function isc_vax_integer:ISC_LONG; gdsdecl; external gdslib;
 
-  procedure isc_vtof; cdecl; external;
+  procedure isc_vtof; gdsdecl; external gdslib;
 
-  procedure isc_vtov; cdecl; external;
+  procedure isc_vtov; gdsdecl; external gdslib;
 
-  function isc_version:longint; cdecl; external;
+  function isc_version:longint; gdsdecl; external gdslib;
 
   {                 }
   { Blob functions  }
   {                 }
 
-  function Bopen:PBSTREAM; cdecl; external;
+  function Bopen:PBSTREAM; gdsdecl; external gdslib;
 
-  function BLOB_open:PBSTREAM; cdecl; external;
+  function BLOB_open:PBSTREAM; gdsdecl; external gdslib;
 
-  function Bopen2:PBSTREAM; cdecl; external;
+{$IFDEF Unix}
+  function Bopen2:PBSTREAM; gdsdecl; external gdslib;
+{$ENDIF}
 
   { __cplusplus || __STDC__  }
   {                                                  }
@@ -2196,9 +2212,10 @@ type
   implementation
 
 
+function XSQLDA_LENGTH(n: Integer): Integer;
+begin
+  Result := SizeOf(XSQLDA) + (n - 1) * SizeOf(XSQLVAR);
+end;
+
+
 end.
-  $Log$
-  Revision 1.2  2000-07-13 11:33:25  michael
-  + removed logs
- 
-}