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