ibase60.pp 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650
  1. {
  2. $Id$
  3. }
  4. unit ibase60;
  5. {$MODE objfpc}
  6. {$MACRO on}
  7. interface
  8. {$IFDEF Unix}
  9. {$LINKLIB c}
  10. {$LINKLIB crypt}
  11. {$DEFINE gdsdecl:=cdecl}
  12. const
  13. gdslib = 'gds';
  14. {$ENDIF}
  15. {$IFDEF Win32}
  16. {$DEFINE gdsdecl:=stdcall}
  17. const
  18. gdslib = 'gds32.dll';
  19. {$ENDIF}
  20. {$i ibase60types.inc}
  21. { }
  22. { OSRI database functions }
  23. { }
  24. function isc_attach_database(_para1:PISC_STATUS; _para2:smallint; _para3:Pchar; _para4:Pisc_db_handle; _para5:smallint;
  25. _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  26. function isc_array_gen_sdl(_para1:PISC_STATUS; _para2:PISC_ARRAY_DESC; _para3:Psmallint; _para4:Pchar; _para5:Psmallint):ISC_STATUS; gdsdecl; external gdslib;
  27. function isc_array_get_slice(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:PISC_QUAD; _para5:PISC_ARRAY_DESC;
  28. _para6:pointer; _para7:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
  29. function isc_array_lookup_bounds(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pchar; _para5:Pchar;
  30. _para6:PISC_ARRAY_DESC):ISC_STATUS; gdsdecl; external gdslib;
  31. function isc_array_lookup_desc(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pchar; _para5:Pchar;
  32. _para6:PISC_ARRAY_DESC):ISC_STATUS; gdsdecl; external gdslib;
  33. function isc_array_set_desc(_para1:PISC_STATUS; _para2:Pchar; _para3:Pchar; _para4:Psmallint; _para5:Psmallint;
  34. _para6:Psmallint; _para7:PISC_ARRAY_DESC):ISC_STATUS; gdsdecl; external gdslib;
  35. function isc_array_put_slice(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:PISC_QUAD; _para5:PISC_ARRAY_DESC;
  36. _para6:pointer; _para7:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
  37. procedure isc_blob_default_desc(_para1:PISC_BLOB_DESC; _para2:Pbyte; _para3:Pbyte); gdsdecl; external gdslib;
  38. function isc_blob_gen_bpb(_para1:PISC_STATUS; _para2:PISC_BLOB_DESC; _para3:PISC_BLOB_DESC; _para4:word; _para5:Pbyte;
  39. _para6:Pword):ISC_STATUS; gdsdecl; external gdslib;
  40. function isc_blob_info(_para1:PISC_STATUS; _para2:Pisc_blob_handle; _para3:smallint; _para4:Pchar; _para5:smallint;
  41. _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  42. function isc_blob_lookup_desc(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pbyte; _para5:Pbyte;
  43. _para6:PISC_BLOB_DESC; _para7:Pbyte):ISC_STATUS; gdsdecl; external gdslib;
  44. function isc_blob_set_desc(_para1:PISC_STATUS; _para2:Pbyte; _para3:Pbyte; _para4:smallint; _para5:smallint;
  45. _para6:smallint; _para7:PISC_BLOB_DESC):ISC_STATUS; gdsdecl; external gdslib;
  46. function isc_cancel_blob(_para1:PISC_STATUS; _para2:Pisc_blob_handle):ISC_STATUS; gdsdecl; external gdslib;
  47. function isc_cancel_events(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
  48. function isc_close_blob(_para1:PISC_STATUS; _para2:Pisc_blob_handle):ISC_STATUS; gdsdecl; external gdslib;
  49. function isc_commit_retaining(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; gdsdecl; external gdslib;
  50. function isc_commit_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; gdsdecl; external gdslib;
  51. 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;
  52. function isc_create_blob2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_blob_handle; _para5:PISC_QUAD;
  53. _para6:smallint; _para7:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  54. function isc_create_database(_para1:PISC_STATUS; _para2:smallint; _para3:Pchar; _para4:Pisc_db_handle; _para5:smallint;
  55. _para6:Pchar; _para7:smallint):ISC_STATUS; gdsdecl; external gdslib;
  56. function isc_database_info(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:smallint; _para4:Pchar; _para5:smallint;
  57. _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  58. procedure isc_decode_date(_para1:PISC_QUAD; _para2:pointer); gdsdecl; external gdslib;
  59. procedure isc_decode_sql_date(_para1:PISC_DATE; _para2:pointer); gdsdecl; external gdslib;
  60. procedure isc_decode_sql_time(_para1:PISC_TIME; _para2:pointer); gdsdecl; external gdslib;
  61. procedure isc_decode_timestamp(_para1:PISC_TIMESTAMP; _para2:pointer); gdsdecl; external gdslib;
  62. function isc_detach_database(_para1:PISC_STATUS; _para2:Pisc_db_handle):ISC_STATUS; gdsdecl; external gdslib;
  63. function isc_drop_database(_para1:PISC_STATUS; _para2:Pisc_db_handle):ISC_STATUS; gdsdecl; external gdslib;
  64. function isc_dsql_allocate_statement(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_stmt_handle):ISC_STATUS; gdsdecl; external gdslib;
  65. function isc_dsql_alloc_statement2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_stmt_handle):ISC_STATUS; gdsdecl; external gdslib;
  66. function isc_dsql_describe(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  67. function isc_dsql_describe_bind(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  68. function isc_dsql_exec_immed2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
  69. _para6:word; _para7:PXSQLDA; _para8:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  70. function isc_dsql_execute(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  71. function isc_dsql_execute2(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:PXSQLDA;
  72. _para6:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  73. function isc_dsql_execute_immediate(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
  74. _para6:word; _para7:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  75. function isc_dsql_fetch(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  76. function isc_dsql_finish(_para1:Pisc_db_handle):ISC_STATUS; gdsdecl; external gdslib;
  77. function isc_dsql_free_statement(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word):ISC_STATUS; gdsdecl; external gdslib;
  78. function isc_dsql_insert(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  79. function isc_dsql_prepare(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:Pchar;
  80. _para6:word; _para7:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  81. function isc_dsql_set_cursor_name(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:Pchar; _para4:word):ISC_STATUS; gdsdecl; external gdslib;
  82. function isc_dsql_sql_info(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:smallint; _para4:Pchar; _para5:smallint;
  83. _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  84. procedure isc_encode_date(_para1:pointer; _para2:PISC_QUAD); gdsdecl; external gdslib;
  85. procedure isc_encode_sql_date(_para1:pointer; _para2:PISC_DATE); gdsdecl; external gdslib;
  86. procedure isc_encode_sql_time(_para1:pointer; _para2:PISC_TIME); gdsdecl; external gdslib;
  87. procedure isc_encode_timestamp(_para1:pointer; _para2:PISC_TIMESTAMP); gdsdecl; external gdslib;
  88. function isc_event_block(_para1:PPchar; _para2:PPchar; _para3:word; args:array of const):ISC_LONG; cdecl; external gdslib;
  89. {!!MVC
  90. void isc_event_counts (unsigned ISC_LONG ,
  91. short,
  92. char ,
  93. char ); gdsdecl; external gdslib;
  94. !!MVC }
  95. procedure isc_expand_dpb(_para1:PPchar; _para2:Psmallint; args:array of const); cdecl; external gdslib;
  96. function isc_modify_dpb(_para1:PPchar; _para2:Psmallint; _para3:word; _para4:Pchar; _para5:smallint):longint; gdsdecl; external gdslib;
  97. function isc_free(_para1:Pchar):ISC_LONG; gdsdecl; external gdslib;
  98. function isc_get_segment(_para1:PISC_STATUS; _para2:Pisc_blob_handle; _para3:Pword; _para4:word; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  99. function isc_get_slice(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:PISC_QUAD; _para5:smallint;
  100. _para6:Pchar; _para7:smallint; _para8:PISC_LONG; _para9:ISC_LONG; _para10:pointer;
  101. _para11:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
  102. function isc_interprete(_para1:Pchar; _para2:PPISC_STATUS):ISC_STATUS; gdsdecl; external gdslib;
  103. 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;
  104. function isc_open_blob2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_blob_handle; _para5:PISC_QUAD;
  105. _para6:smallint; _para7:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  106. function isc_prepare_transaction2(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint; _para4:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  107. procedure isc_print_sqlerror(_para1:smallint; _para2:PISC_STATUS); gdsdecl; external gdslib;
  108. function isc_print_status(_para1:PISC_STATUS):ISC_STATUS; gdsdecl; external gdslib;
  109. function isc_put_segment(_para1:PISC_STATUS; _para2:Pisc_blob_handle; _para3:word; _para4:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  110. function isc_put_slice(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:PISC_QUAD; _para5:smallint;
  111. _para6:Pchar; _para7:smallint; _para8:PISC_LONG; _para9:ISC_LONG; _para10:pointer):ISC_STATUS; gdsdecl; external gdslib;
  112. function isc_que_events(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:PISC_LONG; _para4:smallint; _para5:Pchar;
  113. _para6:isc_callback; _para7:pointer):ISC_STATUS; gdsdecl; external gdslib;
  114. function isc_rollback_retaining(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; gdsdecl; external gdslib;
  115. function isc_rollback_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; gdsdecl; external gdslib;
  116. function isc_start_multiple(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint; _para4:pointer):ISC_STATUS; gdsdecl; external gdslib;
  117. function isc_start_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint; args:array of const):ISC_STATUS; cdecl; external gdslib;
  118. function isc_sqlcode(_para1:PISC_STATUS):ISC_LONG; gdsdecl; external gdslib;
  119. procedure isc_sql_interprete(_para1:smallint; _para2:Pchar; _para3:smallint); gdsdecl; external gdslib;
  120. function isc_transaction_info(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint; _para4:Pchar; _para5:smallint;
  121. _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  122. function isc_transact_request(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
  123. _para6:word; _para7:Pchar; _para8:word; _para9:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  124. function isc_vax_integer(_para1:Pchar; _para2:smallint):ISC_LONG; gdsdecl; external gdslib;
  125. function isc_portable_integer(_para1:Pbyte; _para2:smallint):ISC_INT64; gdsdecl; external gdslib;
  126. { }
  127. { Security Functions }
  128. { }
  129. function isc_add_user(_para1:PISC_STATUS; _para2:PUSER_SEC_DATA):longint; gdsdecl; external gdslib;
  130. function isc_delete_user(_para1:PISC_STATUS; _para2:PUSER_SEC_DATA):longint; gdsdecl; external gdslib;
  131. function isc_modify_user(_para1:PISC_STATUS; _para2:PUSER_SEC_DATA):longint; gdsdecl; external gdslib;
  132. { }
  133. { Other OSRI functions }
  134. { }
  135. function isc_compile_request(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_req_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  136. function isc_compile_request2(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_req_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  137. function isc_ddl(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  138. function isc_prepare_transaction(_para1:PISC_STATUS; _para2:Pisc_tr_handle):ISC_STATUS; gdsdecl; external gdslib;
  139. function isc_receive(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:smallint; _para4:smallint; _para5:pointer;
  140. _para6:smallint):ISC_STATUS; gdsdecl; external gdslib;
  141. function isc_reconnect_transaction(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:smallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  142. function isc_release_request(_para1:PISC_STATUS; _para2:Pisc_req_handle):ISC_STATUS; gdsdecl; external gdslib;
  143. function isc_request_info(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:smallint; _para4:smallint; _para5:Pchar;
  144. _para6:smallint; _para7:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  145. function isc_seek_blob(_para1:PISC_STATUS; _para2:Pisc_blob_handle; _para3:smallint; _para4:ISC_LONG; _para5:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
  146. function isc_send(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:smallint; _para4:smallint; _para5:pointer;
  147. _para6:smallint):ISC_STATUS; gdsdecl; external gdslib;
  148. function isc_start_and_send(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:Pisc_tr_handle; _para4:smallint; _para5:smallint;
  149. _para6:pointer; _para7:smallint):ISC_STATUS; gdsdecl; external gdslib;
  150. function isc_start_request(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:Pisc_tr_handle; _para4:smallint):ISC_STATUS; gdsdecl; external gdslib;
  151. function isc_unwind_request(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:smallint):ISC_STATUS; gdsdecl; external gdslib;
  152. function isc_wait_for_event(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:smallint; _para4:Pchar; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  153. { }
  154. { Other Sql functions }
  155. { }
  156. function isc_close(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  157. function isc_declare(_para1:PISC_STATUS; _para2:Pchar; _para3:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  158. function isc_describe(_para1:PISC_STATUS; _para2:Pchar; _para3:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  159. function isc_describe_bind(_para1:PISC_STATUS; _para2:Pchar; _para3:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  160. function isc_execute(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  161. function isc_execute_immediate(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  162. function isc_fetch(_para1:PISC_STATUS; _para2:Pchar; _para3:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  163. function isc_open(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  164. function isc_prepare(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pchar; _para5:Psmallint;
  165. _para6:Pchar; _para7:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  166. { }
  167. { Other Dynamic sql functions }
  168. { }
  169. function isc_dsql_execute_m(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:Pchar;
  170. _para6:word; _para7:word; _para8:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  171. function isc_dsql_execute2_m(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:Pchar;
  172. _para6:word; _para7:word; _para8:Pchar; _para9:word; _para10:Pchar;
  173. _para11:word; _para12:word; _para13:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  174. function isc_dsql_execute_immediate_m(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
  175. _para6:word; _para7:word; _para8:Pchar; _para9:word; _para10:word;
  176. _para11:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  177. function isc_dsql_exec_immed3_m(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
  178. _para6:word; _para7:word; _para8:Pchar; _para9:word; _para10:word;
  179. _para11:Pchar; _para12:word; _para13:Pchar; _para14:word; _para15:word;
  180. _para16:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  181. function isc_dsql_fetch_m(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:Pchar; _para5:word;
  182. _para6:word; _para7:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  183. function isc_dsql_insert_m(_para1:PISC_STATUS; _para2:Pisc_stmt_handle; _para3:word; _para4:Pchar; _para5:word;
  184. _para6:word; _para7:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  185. function isc_dsql_prepare_m(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pisc_stmt_handle; _para4:word; _para5:Pchar;
  186. _para6:word; _para7:word; _para8:Pchar; _para9:word; _para10:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  187. function isc_dsql_release(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  188. function isc_embed_dsql_close(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  189. function isc_embed_dsql_declare(_para1:PISC_STATUS; _para2:Pchar; _para3:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  190. function isc_embed_dsql_describe(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  191. function isc_embed_dsql_describe_bind(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  192. function isc_embed_dsql_execute(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:word; _para5:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  193. function isc_embed_dsql_execute2(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:word; _para5:PXSQLDA;
  194. _para6:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  195. function isc_embed_dsql_execute_immed(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:word; _para5:Pchar;
  196. _para6:word; _para7:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  197. function isc_embed_dsql_fetch(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  198. function isc_embed_dsql_open(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:word; _para5:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  199. function isc_embed_dsql_open2(_para1:PISC_STATUS; _para2:Pisc_tr_handle; _para3:Pchar; _para4:word; _para5:PXSQLDA;
  200. _para6:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  201. function isc_embed_dsql_insert(_para1:PISC_STATUS; _para2:Pchar; _para3:word; _para4:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  202. function isc_embed_dsql_prepare(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pchar; _para5:word;
  203. _para6:Pchar; _para7:word; _para8:PXSQLDA):ISC_STATUS; gdsdecl; external gdslib;
  204. function isc_embed_dsql_release(_para1:PISC_STATUS; _para2:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  205. { }
  206. { Other Blob functions }
  207. { }
  208. function BLOB_open(_para1:isc_blob_handle; _para2:Pchar; _para3:longint):PBSTREAM; gdsdecl; external gdslib;
  209. function BLOB_put(_para1:char; _para2:PBSTREAM):longint; gdsdecl; external gdslib;
  210. function BLOB_close(_para1:PBSTREAM):longint; gdsdecl; external gdslib;
  211. function BLOB_get(_para1:PBSTREAM):longint; gdsdecl; external gdslib;
  212. function BLOB_display(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
  213. function BLOB_dump(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
  214. function BLOB_edit(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
  215. function BLOB_load(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
  216. function BLOB_text_dump(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
  217. function BLOB_text_load(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):longint; gdsdecl; external gdslib;
  218. function Bopen(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar):PBSTREAM; gdsdecl; external gdslib;
  219. {$IFDEF Unix}
  220. function Bopen2(_para1:PISC_QUAD; _para2:isc_db_handle; _para3:isc_tr_handle; _para4:Pchar; _para5:word):PBSTREAM; gdsdecl; external gdslib;
  221. {$ENDIF}
  222. { }
  223. { Other Misc functions }
  224. { }
  225. function isc_ftof(_para1:Pchar; _para2:word; _para3:Pchar; _para4:word):ISC_LONG; gdsdecl; external gdslib;
  226. function isc_print_blr(_para1:Pchar; _para2:isc_callback; _para3:pointer; _para4:smallint):ISC_STATUS; gdsdecl; external gdslib;
  227. procedure isc_set_debug(_para1:longint); gdsdecl; external gdslib;
  228. procedure isc_qtoq(_para1:PISC_QUAD; _para2:PISC_QUAD); gdsdecl; external gdslib;
  229. procedure isc_vtof(_para1:Pchar; _para2:Pchar; _para3:word); gdsdecl; external gdslib;
  230. procedure isc_vtov(_para1:Pchar; _para2:Pchar; _para3:smallint); gdsdecl; external gdslib;
  231. function isc_version(_para1:Pisc_db_handle; _para2:isc_callback; _para3:pointer):longint; gdsdecl; external gdslib;
  232. {$IFDEF Unix}
  233. function isc_reset_fpe(_para1:word):ISC_LONG; gdsdecl; external gdslib;
  234. {$ENDIF}
  235. { }
  236. { Service manager functions }
  237. { }
  238. (*!!MVC
  239. #define ADD_SPB_LENGTH(p, length) { (p)++ = (length); \
  240. (p)++ = (length) >> 8;}
  241. #define ADD_SPB_NUMERIC(p, data) { (p)++ = (data); \
  242. (p)++ = (data) >> 8; \
  243. (p)++ = (data) >> 16; \
  244. (p)++ = (data) >> 24;}
  245. !!MVC *)
  246. function isc_service_attach(_para1:PISC_STATUS; _para2:word; _para3:Pchar; _para4:Pisc_svc_handle; _para5:word;
  247. _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  248. function isc_service_detach(_para1:PISC_STATUS; _para2:Pisc_svc_handle):ISC_STATUS; gdsdecl; external gdslib;
  249. function isc_service_query(_para1:PISC_STATUS; _para2:Pisc_svc_handle; _para3:Pisc_resv_handle; _para4:word; _para5:Pchar;
  250. _para6:word; _para7:Pchar; _para8:word; _para9:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  251. function isc_service_start(_para1:PISC_STATUS; _para2:Pisc_svc_handle; _para3:Pisc_resv_handle; _para4:word; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  252. { }
  253. { Forms functions }
  254. { }
  255. {$IFDEF Unix}
  256. function isc_compile_map(_para1:PISC_STATUS; _para2:Pisc_form_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  257. function isc_compile_menu(_para1:PISC_STATUS; _para2:Pisc_form_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  258. 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;
  259. function isc_create_window(_para1:PISC_STATUS; _para2:Pisc_win_handle; _para3:Psmallint; _para4:Pchar; _para5:Psmallint;
  260. _para6:Psmallint):ISC_STATUS; gdsdecl; external gdslib;
  261. function isc_delete_window(_para1:PISC_STATUS; _para2:Pisc_win_handle):ISC_STATUS; gdsdecl; external gdslib;
  262. function isc_drive_form(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_win_handle; _para5:Pisc_req_handle;
  263. _para6:Pbyte; _para7:Pbyte):ISC_STATUS; gdsdecl; external gdslib;
  264. function isc_drive_menu(_para1:PISC_STATUS; _para2:Pisc_win_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar;
  265. _para6:Psmallint; _para7:Pchar; _para8:Psmallint; _para9:Psmallint; _para10:Pchar;
  266. _para11:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
  267. function isc_form_delete(_para1:PISC_STATUS; _para2:Pisc_form_handle):ISC_STATUS; gdsdecl; external gdslib;
  268. 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;
  269. 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;
  270. function isc_get_entree(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:Psmallint; _para4:Pchar; _para5:PISC_LONG;
  271. _para6:Psmallint):ISC_STATUS; gdsdecl; external gdslib;
  272. function isc_initialize_menu(_para1:PISC_STATUS; _para2:Pisc_req_handle):ISC_STATUS; gdsdecl; external gdslib;
  273. function isc_menu(_para1:PISC_STATUS; _para2:Pisc_win_handle; _para3:Pisc_req_handle; _para4:Psmallint; _para5:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  274. function isc_load_form(_para1:PISC_STATUS; _para2:Pisc_db_handle; _para3:Pisc_tr_handle; _para4:Pisc_form_handle; _para5:Psmallint;
  275. _para6:Pchar):ISC_STATUS; gdsdecl; external gdslib;
  276. function isc_pop_window(_para1:PISC_STATUS; _para2:Pisc_win_handle):ISC_STATUS; gdsdecl; external gdslib;
  277. function isc_put_entree(_para1:PISC_STATUS; _para2:Pisc_req_handle; _para3:Psmallint; _para4:Pchar; _para5:PISC_LONG):ISC_STATUS; gdsdecl; external gdslib;
  278. function isc_reset_form(_para1:PISC_STATUS; _para2:Pisc_req_handle):ISC_STATUS; gdsdecl; external gdslib;
  279. function isc_suspend_window(_para1:PISC_STATUS; _para2:Pisc_win_handle):ISC_STATUS; gdsdecl; external gdslib;
  280. {$ENDIF}
  281. function isc_attach_database:ISC_STATUS; gdsdecl; external gdslib;
  282. function isc_array_gen_sdl:ISC_STATUS; gdsdecl; external gdslib;
  283. function isc_array_get_slice:ISC_STATUS; gdsdecl; external gdslib;
  284. function isc_array_lookup_bounds:ISC_STATUS; gdsdecl; external gdslib;
  285. function isc_array_lookup_desc:ISC_STATUS; gdsdecl; external gdslib;
  286. function isc_array_set_desc:ISC_STATUS; gdsdecl; external gdslib;
  287. function isc_array_put_slice:ISC_STATUS; gdsdecl; external gdslib;
  288. function isc_blob_gen_bpb:ISC_STATUS; gdsdecl; external gdslib;
  289. function isc_blob_info:ISC_STATUS; gdsdecl; external gdslib;
  290. function isc_blob_lookup_desc:ISC_STATUS; gdsdecl; external gdslib;
  291. function isc_blob_set_desc:ISC_STATUS; gdsdecl; external gdslib;
  292. function isc_cancel_blob:ISC_STATUS; gdsdecl; external gdslib;
  293. function isc_cancel_events:ISC_STATUS; gdsdecl; external gdslib;
  294. function isc_close_blob:ISC_STATUS; gdsdecl; external gdslib;
  295. function isc_commit_retaining:ISC_STATUS; gdsdecl; external gdslib;
  296. function isc_commit_transaction:ISC_STATUS; gdsdecl; external gdslib;
  297. function isc_compile_request:ISC_STATUS; gdsdecl; external gdslib;
  298. function isc_compile_request2:ISC_STATUS; gdsdecl; external gdslib;
  299. function isc_create_blob:ISC_STATUS; gdsdecl; external gdslib;
  300. function isc_create_blob2:ISC_STATUS; gdsdecl; external gdslib;
  301. function isc_create_database:ISC_STATUS; gdsdecl; external gdslib;
  302. function isc_database_info:ISC_STATUS; gdsdecl; external gdslib;
  303. function isc_ddl:ISC_STATUS; gdsdecl; external gdslib;
  304. procedure isc_decode_date; gdsdecl; external gdslib;
  305. procedure isc_decode_sql_date; gdsdecl; external gdslib;
  306. procedure isc_decode_sql_time; gdsdecl; external gdslib;
  307. procedure isc_decode_timestamp; gdsdecl; external gdslib;
  308. function isc_detach_database:ISC_STATUS; gdsdecl; external gdslib;
  309. function isc_drop_database:ISC_STATUS; gdsdecl; external gdslib;
  310. procedure isc_encode_date; gdsdecl; external gdslib;
  311. procedure isc_encode_sql_date; gdsdecl; external gdslib;
  312. procedure isc_encode_sql_time; gdsdecl; external gdslib;
  313. procedure isc_encode_timestamp; gdsdecl; external gdslib;
  314. function isc_event_block:ISC_LONG; cdecl; external gdslib;
  315. procedure isc_event_counts; gdsdecl; external gdslib;
  316. procedure isc_expand_dpb; cdecl; external gdslib;
  317. function isc_modify_dpb:longint; gdsdecl; external gdslib;
  318. function isc_free:ISC_LONG; gdsdecl; external gdslib;
  319. function isc_get_segment:ISC_STATUS; gdsdecl; external gdslib;
  320. function isc_get_slice:ISC_STATUS; gdsdecl; external gdslib;
  321. function isc_interprete:ISC_STATUS; gdsdecl; external gdslib;
  322. function isc_open_blob:ISC_STATUS; gdsdecl; external gdslib;
  323. function isc_open_blob2:ISC_STATUS; gdsdecl; external gdslib;
  324. function isc_prepare_transaction:ISC_STATUS; gdsdecl; external gdslib;
  325. function isc_prepare_transaction2:ISC_STATUS; gdsdecl; external gdslib;
  326. procedure isc_print_sqlerror; gdsdecl; external gdslib;
  327. function isc_print_status:ISC_STATUS; gdsdecl; external gdslib;
  328. function isc_put_segment:ISC_STATUS; gdsdecl; external gdslib;
  329. function isc_put_slice:ISC_STATUS; gdsdecl; external gdslib;
  330. function isc_que_events:ISC_STATUS; gdsdecl; external gdslib;
  331. function isc_receive:ISC_STATUS; gdsdecl; external gdslib;
  332. function isc_reconnect_transaction:ISC_STATUS; gdsdecl; external gdslib;
  333. function isc_release_request:ISC_STATUS; gdsdecl; external gdslib;
  334. function isc_request_info:ISC_STATUS; gdsdecl; external gdslib;
  335. {$IFDEF Unix}
  336. function isc_reset_fpe:ISC_LONG; gdsdecl; external gdslib;
  337. {$ENDIF}
  338. function isc_rollback_transaction:ISC_STATUS; gdsdecl; external gdslib;
  339. function isc_rollback_retaining:ISC_STATUS; gdsdecl; external gdslib;
  340. function isc_seek_blob:ISC_STATUS; gdsdecl; external gdslib;
  341. function isc_send:ISC_STATUS; gdsdecl; external gdslib;
  342. function isc_service_attach:ISC_STATUS; gdsdecl; external gdslib;
  343. function isc_service_detach:ISC_STATUS; gdsdecl; external gdslib;
  344. function isc_service_query:ISC_STATUS; gdsdecl; external gdslib;
  345. function isc_service_start:ISC_STATUS; gdsdecl; external gdslib;
  346. function isc_start_and_send:ISC_STATUS; gdsdecl; external gdslib;
  347. function isc_start_multiple:ISC_STATUS; gdsdecl; external gdslib;
  348. function isc_start_request:ISC_STATUS; gdsdecl; external gdslib;
  349. function isc_start_transaction:ISC_STATUS; cdecl; external gdslib;
  350. function isc_sqlcode:ISC_LONG; gdsdecl; external gdslib;
  351. function isc_transaction_info:ISC_STATUS; gdsdecl; external gdslib;
  352. function isc_transact_request:ISC_STATUS; gdsdecl; external gdslib;
  353. function isc_unwind_request:ISC_STATUS; gdsdecl; external gdslib;
  354. function isc_wait_for_event:ISC_STATUS; gdsdecl; external gdslib;
  355. function isc_ftof:ISC_LONG; gdsdecl; external gdslib;
  356. function isc_print_blr:ISC_STATUS; gdsdecl; external gdslib;
  357. procedure isc_set_debug; gdsdecl; external gdslib;
  358. procedure isc_qtoq; gdsdecl; external gdslib;
  359. function isc_vax_integer:ISC_LONG; gdsdecl; external gdslib;
  360. procedure isc_vtof; gdsdecl; external gdslib;
  361. procedure isc_vtov; gdsdecl; external gdslib;
  362. function isc_version:longint; gdsdecl; external gdslib;
  363. { }
  364. { Blob functions }
  365. { }
  366. function Bopen:PBSTREAM; gdsdecl; external gdslib;
  367. function BLOB_open:PBSTREAM; gdsdecl; external gdslib;
  368. {$IFDEF Unix}
  369. function Bopen2:PBSTREAM; gdsdecl; external gdslib;
  370. {$ENDIF}
  371. implementation
  372. // This function is also defined in ibase60dyn!
  373. function XSQLDA_LENGTH(n: Integer): Integer;
  374. begin
  375. Result := SizeOf(XSQLDA) + (n - 1) * SizeOf(XSQLVAR);
  376. end;
  377. end.
  378. {
  379. $Log$
  380. Revision 1.4 2005-01-12 10:23:34 michael
  381. * Changes from Joost van der Sluis to enable dynamic loading of the Interbase library
  382. Revision 1.3 2003/04/13 10:26:34 michael
  383. + Added crypt library
  384. Revision 1.2 2002/09/07 15:42:52 peter
  385. * old logs removed and tabs fixed
  386. Revision 1.1 2002/01/29 17:54:51 peter
  387. * splitted to base and extra
  388. }