sqlite.pp 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. {$mode objfpc}
  2. {$ifdef bsd}
  3. {$linklib c}
  4. {$endif}
  5. {$IFNDEF FPC_DOTTEDUNITS}
  6. unit SQLite;
  7. {$ENDIF FPC_DOTTEDUNITS}
  8. interface
  9. {
  10. Automatically converted by H2Pas 0.99.15 from sqlite.h
  11. The following command line parameters were used:
  12. -S
  13. -D
  14. -p
  15. -l
  16. sqlite
  17. sqlite.h
  18. }
  19. {$PACKRECORDS C}
  20. const
  21. External_library='sqlite';
  22. SQLITE_ISO8859 = 1;//?
  23. //sqlite_exec and sqlite_step return values
  24. SQLITE_OK = 0;
  25. SQLITE_ERROR = 1;
  26. SQLITE_INTERNAL = 2;
  27. SQLITE_PERM = 3;
  28. SQLITE_ABORT = 4;
  29. SQLITE_BUSY = 5;
  30. SQLITE_LOCKED = 6;
  31. SQLITE_NOMEM = 7;
  32. SQLITE_READONLY = 8;
  33. SQLITE_INTERRUPT = 9;
  34. SQLITE_IOERR = 10;
  35. SQLITE_CORRUPT = 11;
  36. SQLITE_NOTFOUND = 12;
  37. SQLITE_FULL = 13;
  38. SQLITE_CANTOPEN = 14;
  39. SQLITE_PROTOCOL = 15;
  40. SQLITE_EMPTY = 16;
  41. SQLITE_SCHEMA = 17;
  42. SQLITE_TOOBIG = 18;
  43. SQLITE_CONSTRAINT = 19;
  44. SQLITE_MISMATCH = 20;
  45. SQLITE_MISUSE = 21;
  46. SQLITE_NOLFS = 22;
  47. SQLITE_AUTH = 23;
  48. SQLITE_FORMAT = 24;
  49. SQLITE_RANGE = 25;
  50. SQLITE_ROW = 100;
  51. SQLITE_DONE = 101;
  52. // values used in sqlite_set_authorizer to define what operations authorize
  53. SQLITE_COPY = 0;
  54. SQLITE_CREATE_INDEX = 1;
  55. SQLITE_CREATE_TABLE = 2;
  56. SQLITE_CREATE_TEMP_INDEX = 3;
  57. SQLITE_CREATE_TEMP_TABLE = 4;
  58. SQLITE_CREATE_TEMP_TRIGGER = 5;
  59. SQLITE_CREATE_TEMP_VIEW = 6;
  60. SQLITE_CREATE_TRIGGER = 7;
  61. SQLITE_CREATE_VIEW = 8;
  62. SQLITE_DELETE = 9;
  63. SQLITE_DROP_INDEX = 10;
  64. SQLITE_DROP_TABLE = 11;
  65. SQLITE_DROP_TEMP_INDEX = 12;
  66. SQLITE_DROP_TEMP_TABLE = 13;
  67. SQLITE_DROP_TEMP_TRIGGER = 14;
  68. SQLITE_DROP_TEMP_VIEW = 15;
  69. SQLITE_DROP_TRIGGER = 16;
  70. SQLITE_DROP_VIEW = 17;
  71. SQLITE_INSERT = 18;
  72. SQLITE_PRAGMA = 19;
  73. SQLITE_READ = 20;
  74. SQLITE_SELECT = 21;
  75. SQLITE_TRANSACTION = 22;
  76. SQLITE_UPDATE = 23;
  77. //Return values of the authorizer function
  78. SQLITE_DENY = 1;
  79. SQLITE_IGNORE = 2;
  80. SQLITE_NUMERIC = -1;
  81. SQLITE_TEXT = -2;
  82. SQLITE_ARGS = -3;
  83. Type
  84. Psqlite = Pointer;
  85. Psqlite_vm = Pointer;
  86. PPsqlite_vm = ^Psqlite_vm;
  87. Psqlite_func = Pointer;
  88. // Procedural types used in functions.
  89. sqlite_callback = function (_para1:pointer; _para2:longint; _para3:PPAnsiChar; _para4:PPAnsiChar):longint;cdecl;
  90. sqlite_trace_func = procedure (_para1:pointer; _para2:PAnsiChar);cdecl;
  91. sqlite_create_func = procedure (_para1:Psqlite_func; _para2:longint; _para3:PPAnsiChar);cdecl;
  92. sqlite_handler = function (_para1:pointer; _para2:PAnsiChar; _para3:longint):longint;cdecl;
  93. sqlite_step_func = procedure (_para1:Psqlite_func; _para2:longint; _para3:PPAnsiChar);cdecl;
  94. sqlite_finalize_func = procedure (_para1:Psqlite_func);cdecl;
  95. sqlite_authorize_func = function (_para1:pointer; _para2:longint; _para3, _para4,_para5,_para6:PAnsiChar):longint;cdecl;
  96. function sqlite_create_function(_para1:Psqlite; zName:PAnsiChar; nArg:longint; xFunc:sqlite_create_func; pUserData:pointer):longint;cdecl;external External_library name 'sqlite_create_function';
  97. function sqlite_open(filename:PAnsiChar; mode:longint; errmsg:PPAnsiChar):Psqlite;cdecl;external External_library name 'sqlite_open';
  98. procedure sqlite_close(_para1:Psqlite);cdecl;external External_library name 'sqlite_close';
  99. function sqlite_exec(_para1:Psqlite; sql:PAnsiChar; _para3:sqlite_callback; _para4:pointer; errmsg:PPAnsiChar):longint;cdecl;external External_library name 'sqlite_exec';
  100. function sqlite_last_insert_rowid(_para1:Psqlite):longint;cdecl;external External_library name 'sqlite_last_insert_rowid';
  101. function sqlite_changes(_para1:Psqlite):longint;cdecl;external External_library name 'sqlite_changes';
  102. function sqlite_error_string(_para1:longint):PAnsiChar;cdecl;external External_library name 'sqlite_error_string';
  103. procedure do_sqlite_interrupt(_para1:Psqlite);cdecl;external External_library name 'sqlite_interrupt';
  104. function sqlite_complete(sql:PAnsiChar):longint;cdecl;external External_library name 'sqlite_complete';
  105. procedure sqlite_busy_handler(_para1:Psqlite; _para2:sqlite_handler; _para3:pointer);cdecl;external External_library name 'sqlite_busy_handler';
  106. procedure sqlite_busy_timeout(_para1:Psqlite; ms:longint);cdecl;external External_library name 'sqlite_busy_timeout';
  107. function sqlite_get_table(_para1:Psqlite; sql:PAnsiChar; resultp:PPPAnsiChar; nrow:Plongint; ncolumn:Plongint;
  108. errmsg:PPAnsiChar):longint;cdecl;external External_library name 'sqlite_get_table';
  109. procedure sqlite_free_table(result:PPAnsiChar);cdecl;external External_library name 'sqlite_free_table';
  110. function sqlite_exec_printf(_para1:Psqlite; sqlFormat:PAnsiChar; _para3:sqlite_callback; _para4:pointer; errmsg:PPAnsiChar;
  111. args:array of const):longint;cdecl;external External_library name 'sqlite_exec_printf';
  112. function sqlite_exec_printf(_para1:Psqlite; sqlFormat:PAnsiChar; _para3:sqlite_callback; _para4:pointer; errmsg:PPAnsiChar):longint;cdecl;varargs;external External_library name 'sqlite_exec_printf';
  113. function sqlite_exec_vprintf(_para1:Psqlite; sqlFormat:PAnsiChar; _para3:sqlite_callback; _para4:pointer; errmsg:PPAnsiChar;
  114. ap:array of const):longint;cdecl;external External_library name 'sqlite_exec_vprintf';
  115. function sqlite_get_table_printf(_para1:Psqlite; sqlFormat:PAnsiChar; resultp:PPPAnsiChar; nrow:Plongint; ncolumn:Plongint;
  116. errmsg:PPAnsiChar; args:array of const):longint;cdecl;external External_library name 'sqlite_get_table_printf';
  117. function sqlite_get_table_printf(_para1:Psqlite; sqlFormat:PAnsiChar; resultp:PPPAnsiChar; nrow:Plongint; ncolumn:Plongint;
  118. errmsg:PPAnsiChar):longint;cdecl;varargs;external External_library name 'sqlite_get_table_printf';
  119. function sqlite_get_table_vprintf(_para1:Psqlite; sqlFormat:PAnsiChar; resultp:PPPAnsiChar; nrow:Plongint; ncolumn:Plongint;
  120. errmsg:PPAnsiChar; ap:array of const):longint;cdecl;external External_library name 'sqlite_get_table_vprintf';
  121. function sqlite_mprintf(_para1:PAnsiChar; args:array of const):PAnsiChar;cdecl;external External_library name 'sqlite_mprintf';
  122. function sqlite_mprintf(_para1:PAnsiChar):PAnsiChar;cdecl;varargs;external External_library name 'sqlite_mprintf';
  123. procedure sqlite_freemem(p:pointer);cdecl;external External_library name 'sqlite_freemem';
  124. function sqlite_libversion:PAnsiChar;cdecl;external External_library name 'sqlite_libversion';
  125. function sqlite_libencoding:PAnsiChar;cdecl;external External_library name 'sqlite_libencoding';
  126. function sqlite_create_aggregate(_para1:Psqlite; zName:PAnsiChar; nArg:longint; xStep:sqlite_step_func ; xFinalize:sqlite_finalize_func;
  127. pUserData:pointer):longint;cdecl;external External_library name 'sqlite_create_aggregate';
  128. function sqlite_function_type(db:Psqlite; zName:PAnsiChar; datatype:longint):longint;cdecl;external External_library name 'sqlite_function_type';
  129. function sqlite_set_result_string(_para1:Psqlite_func; _para2:PAnsiChar; _para3:longint):PAnsiChar;cdecl;external External_library name 'sqlite_set_result_string';
  130. procedure sqlite_set_result_int(_para1:Psqlite_func; _para2:longint);cdecl;external External_library name 'sqlite_set_result_int';
  131. procedure sqlite_set_result_double(_para1:Psqlite_func; _para2:double);cdecl;external External_library name 'sqlite_set_result_double';
  132. procedure sqlite_set_result_error(_para1:Psqlite_func; _para2:PAnsiChar; _para3:longint);cdecl;external External_library name 'sqlite_set_result_error';
  133. function sqlite_user_data(_para1:Psqlite_func):pointer;cdecl;external External_library name 'sqlite_user_data';
  134. function sqlite_aggregate_context(_para1:Psqlite_func; nBytes:longint):pointer;cdecl;external External_library name 'sqlite_aggregate_context';
  135. function sqlite_aggregate_count(_para1:Psqlite_func):longint;cdecl;external External_library name 'sqlite_aggregate_count';
  136. function sqlite_set_authorizer(_para1:Psqlite; xAuth:sqlite_authorize_func ; pUserData:pointer):longint;cdecl;external External_library name 'sqlite_set_authorizer';
  137. function sqlite_trace(_para1:Psqlite; xTrace:sqlite_trace_func; _para3:pointer):pointer;cdecl;external External_library name 'sqlite_trace';
  138. function sqlite_compile(db:Psqlite; zSql:PAnsiChar; pzTail:PPAnsiChar; ppVm:PPsqlite_vm; pzErrmsg:PPAnsiChar):longint;cdecl;external External_library name 'sqlite_compile';
  139. function sqlite_step(pVm:Psqlite_vm; pN:Plongint; pazValue:PPPAnsiChar; pazColName:PPPAnsiChar):longint;cdecl;external External_library name 'sqlite_step';
  140. function sqlite_finalize(_para1:Psqlite_vm; pzErrMsg:PPAnsiChar):longint;cdecl;external External_library name 'sqlite_finalize';
  141. //Use functions instead of external variables to retrieve version and encoding info
  142. function sqlite_version: PAnsiChar external External_library name 'sqlite_libversion';
  143. function sqlite_encoding: PAnsiChar external External_library name 'sqlite_libencoding';
  144. implementation
  145. end.