]> gitweb.factorcode.org Git - factor.git/blob - basis/db/sqlite/ffi/ffi.factor
interpolate: split out format into a hook
[factor.git] / basis / db / sqlite / ffi / ffi.factor
1 ! Copyright (C) 2005 Chris Double, Doug Coleman.
2 ! See https://factorcode.org/license.txt for BSD license.
3 ! An interface to the sqlite database. Tested against sqlite v3.1.3.
4 ! Not all functions have been wrapped.
5 USING: alien alien.c-types alien.libraries alien.syntax
6 classes.struct combinators system ;
7 IN: db.sqlite.ffi
8
9 << "sqlite" {
10     { [ os windows? ] [ "sqlite3.dll" ] }
11     { [ os macosx? ] [ "libsqlite3.dylib" ] }
12     { [ os unix? ] [ "libsqlite3.so" ] }
13 } cond cdecl add-library >>
14
15 ! Return values from sqlite functions
16 CONSTANT: SQLITE_OK           0  ! Successful result
17 CONSTANT: SQLITE_ERROR        1  ! SQL error or missing database
18 CONSTANT: SQLITE_INTERNAL     2  ! An internal logic error in SQLite
19 CONSTANT: SQLITE_PERM         3  ! Access permission denied
20 CONSTANT: SQLITE_ABORT        4  ! Callback routine requested an abort
21 CONSTANT: SQLITE_BUSY         5  ! The database file is locked
22 CONSTANT: SQLITE_LOCKED       6  ! A table in the database is locked
23 CONSTANT: SQLITE_NOMEM        7  ! A malloc() failed
24 CONSTANT: SQLITE_READONLY     8  ! Attempt to write a readonly database
25 CONSTANT: SQLITE_INTERRUPT    9  ! Operation terminated by sqlite_interrupt()
26 CONSTANT: SQLITE_IOERR       10  ! Some kind of disk I/O error occurred
27 CONSTANT: SQLITE_CORRUPT     11  ! The database disk image is malformed
28 CONSTANT: SQLITE_NOTFOUND    12  ! (Internal Only) Table or record not found
29 CONSTANT: SQLITE_FULL        13  ! Insertion failed because database is full
30 CONSTANT: SQLITE_CANTOPEN    14  ! Unable to open the database file
31 CONSTANT: SQLITE_PROTOCOL    15  ! Database lock protocol error
32 CONSTANT: SQLITE_EMPTY       16  ! (Internal Only) Database table is empty
33 CONSTANT: SQLITE_SCHEMA      17  ! The database schema changed
34 CONSTANT: SQLITE_TOOBIG      18  ! Too much data for one row of a table
35 CONSTANT: SQLITE_CONSTRAINT  19  ! Abort due to contraint violation
36 CONSTANT: SQLITE_MISMATCH    20  ! Data type mismatch
37 CONSTANT: SQLITE_MISUSE      21  ! Library used incorrectly
38 CONSTANT: SQLITE_NOLFS       22  ! Uses OS features not supported on host
39 CONSTANT: SQLITE_AUTH        23  ! Authorization denied
40 CONSTANT: SQLITE_FORMAT      24  ! Auxiliary database format error
41 CONSTANT: SQLITE_RANGE       25  ! 2nd parameter to sqlite3_bind out of range
42 CONSTANT: SQLITE_NOTADB      26  ! File opened that is not a database file
43 CONSTANT: SQLITE_NOTICE      27  ! Notifications from sqlite3_log()
44 CONSTANT: SQLITE_WARNING     28  ! Warnings from sqlite3_log()
45
46 CONSTANT: sqlite-error-messages {
47     "Successful result"
48     "SQL error or missing database"
49     "An internal logic error in SQLite"
50     "Access permission denied"
51     "Callback routine requested an abort"
52     "The database file is locked"
53     "A table in the database is locked"
54     "A malloc() failed"
55     "Attempt to write a readonly database"
56     "Operation terminated by sqlite_interrupt()"
57     "Some kind of disk I/O error occurred"
58     "The database disk image is malformed"
59     "(Internal Only) Table or record not found"
60     "Insertion failed because database is full"
61     "Unable to open the database file"
62     "Database lock protocol error"
63     "(Internal Only) Database table is empty"
64     "The database schema changed"
65     "Too much data for one row of a table"
66     "Abort due to contraint violation"
67     "Data type mismatch"
68     "Library used incorrectly"
69     "Uses OS features not supported on host"
70     "Authorization denied"
71     "Auxiliary database format error"
72     "2nd parameter to sqlite3_bind out of range"
73     "File opened that is not a database file"
74     "Notifications from sqlite3_log()"
75     "Warnings from sqlite3_log()"
76 }
77
78 ! Return values from sqlite3_step
79 CONSTANT: SQLITE_ROW         100
80 CONSTANT: SQLITE_DONE        101
81
82 ! Return values from the sqlite3_column_type function
83 CONSTANT: SQLITE_INTEGER     1
84 CONSTANT: SQLITE_FLOAT       2
85 CONSTANT: SQLITE_TEXT        3
86 CONSTANT: SQLITE_BLOB        4
87 CONSTANT: SQLITE_NULL        5
88
89 ! Values for the 'destructor' parameter of the 'bind' routines.
90 : SQLITE_STATIC ( -- ptr ) 0 <alien> ; inline
91 : SQLITE_TRANSIENT ( -- ptr ) -1 <alien> ; inline
92
93 CONSTANT: SQLITE_OPEN_READONLY         0x00000001
94 CONSTANT: SQLITE_OPEN_READWRITE        0x00000002
95 CONSTANT: SQLITE_OPEN_CREATE           0x00000004
96 CONSTANT: SQLITE_OPEN_DELETEONCLOSE    0x00000008
97 CONSTANT: SQLITE_OPEN_EXCLUSIVE        0x00000010
98 CONSTANT: SQLITE_OPEN_MAIN_DB          0x00000100
99 CONSTANT: SQLITE_OPEN_TEMP_DB          0x00000200
100 CONSTANT: SQLITE_OPEN_TRANSIENT_DB     0x00000400
101 CONSTANT: SQLITE_OPEN_MAIN_JOURNAL     0x00000800
102 CONSTANT: SQLITE_OPEN_TEMP_JOURNAL     0x00001000
103 CONSTANT: SQLITE_OPEN_SUBJOURNAL       0x00002000
104 CONSTANT: SQLITE_OPEN_MASTER_JOURNAL   0x00004000
105
106 CONSTANT: SQLITE_IOCAP_ATOMIC                 0x00000001
107 CONSTANT: SQLITE_IOCAP_ATOMIC512              0x00000002
108 CONSTANT: SQLITE_IOCAP_ATOMIC1K               0x00000004
109 CONSTANT: SQLITE_IOCAP_ATOMIC2K               0x00000008
110 CONSTANT: SQLITE_IOCAP_ATOMIC4K               0x00000010
111 CONSTANT: SQLITE_IOCAP_ATOMIC8K               0x00000020
112 CONSTANT: SQLITE_IOCAP_ATOMIC16K              0x00000040
113 CONSTANT: SQLITE_IOCAP_ATOMIC32K              0x00000080
114 CONSTANT: SQLITE_IOCAP_ATOMIC64K              0x00000100
115 CONSTANT: SQLITE_IOCAP_SAFE_APPEND            0x00000200
116 CONSTANT: SQLITE_IOCAP_SEQUENTIAL             0x00000400
117 CONSTANT: SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN  0x00000800
118 CONSTANT: SQLITE_IOCAP_POWERSAFE_OVERWRITE    0x00001000
119 CONSTANT: SQLITE_IOCAP_IMMUTABLE              0x00002000
120 CONSTANT: SQLITE_IOCAP_BATCH_ATOMIC           0x00004000
121
122 CONSTANT: SQLITE_LOCK_NONE          0
123 CONSTANT: SQLITE_LOCK_SHARED        1
124 CONSTANT: SQLITE_LOCK_RESERVED      2
125 CONSTANT: SQLITE_LOCK_PENDING       3
126 CONSTANT: SQLITE_LOCK_EXCLUSIVE     4
127
128 CONSTANT: SQLITE_SYNC_NORMAL        0x00002
129 CONSTANT: SQLITE_SYNC_FULL          0x00003
130 CONSTANT: SQLITE_SYNC_DATAONLY      0x00010
131
132 LIBRARY: sqlite
133
134 FUNCTION: c-string sqlite3_libversion ( )
135
136 FUNCTION: c-string sqlite3_sourceid ( )
137
138 FUNCTION: int sqlite3_libversion_number ( )
139
140 FUNCTION: int sqlite3_compileoption_used ( c-string zOptName )
141
142 FUNCTION: c-string sqlite3_compileoption_get ( int N )
143
144 FUNCTION: int sqlite3_threadsafe ( )
145
146 C-TYPE: sqlite3
147 TYPEDEF: longlong sqlite_int64
148 TYPEDEF: ulonglong sqlite_uint64
149 TYPEDEF: longlong sqlite3_int64
150 TYPEDEF: ulonglong sqlite3_uint64
151 FUNCTION: int sqlite3_close ( sqlite3* dummy )
152
153 FUNCTION: int sqlite3_close_v2 ( sqlite3* dummy )
154
155 TYPEDEF: void* sqlite3_callback
156 FUNCTION: int sqlite3_exec ( sqlite3* dummy, c-string sql, void* callback, void* dummy, char** errmsg )
157
158 C-TYPE: sqlite3_file
159 STRUCT: sqlite3_io_methods
160   { iVersion int }
161   { xClose void* }
162   { xRead void* }
163   { xWrite void* }
164   { xTruncate void* }
165   { xSync void* }
166   { xFileSize void* }
167   { xLock void* }
168   { xUnlock void* }
169   { xCheckReservedLock void* }
170   { xFileControl void* }
171   { xSectorSize void* }
172   { xDeviceCharacteristics void* }
173   { xShmMap void* }
174   { xShmLock void* }
175   { xShmBarrier void* }
176   { xShmUnmap void* }
177   { xFetch void* }
178   { xUnfetch void* } ;
179
180 STRUCT: sqlite3_file
181   { pMethods sqlite3_io_methods* } ;
182
183 C-TYPE: sqlite3_io_methods
184 C-TYPE: sqlite3_mutex
185 C-TYPE: sqlite3_api_routines
186 C-TYPE: sqlite3_vfs
187 TYPEDEF: void* sqlite3_syscall_ptr
188 STRUCT: sqlite3_vfs
189   { iVersion int }
190   { szOsFile int }
191   { mxPathname int }
192   { pNext sqlite3_vfs* }
193   { zName c-string }
194   { pAppData void* }
195   { xOpen void* }
196   { xDelete void* }
197   { xAccess void* }
198   { xFullPathname void* }
199   { xDlOpen void* }
200   { xDlError void* }
201   { xDlSym void* }
202   { xDlClose void* }
203   { xRandomness void* }
204   { xSleep void* }
205   { xCurrentTime void* }
206   { xGetLastError void* }
207   { xCurrentTimeInt64 void* }
208   { xSetSystemCall void* }
209   { xGetSystemCall void* }
210   { xNextSystemCall void* } ;
211
212 FUNCTION: int sqlite3_initialize ( )
213
214 FUNCTION: int sqlite3_shutdown ( )
215
216 FUNCTION: int sqlite3_os_init ( )
217
218 FUNCTION: int sqlite3_os_end ( )
219
220 FUNCTION: int sqlite3_config ( int dummy )
221
222 FUNCTION: int sqlite3_db_config ( sqlite3* dummy, int op )
223
224 C-TYPE: sqlite3_mem_methods
225 STRUCT: sqlite3_mem_methods
226   { xMalloc void* }
227   { xFree void* }
228   { xRealloc void* }
229   { xSize void* }
230   { xRoundup void* }
231   { xInit void* }
232   { xShutdown void* }
233   { pAppData void* } ;
234
235 FUNCTION: int sqlite3_extended_result_codes ( sqlite3* dummy, int onoff )
236
237 FUNCTION: longlong sqlite3_last_insert_rowid ( sqlite3* dummy )
238
239 FUNCTION: void sqlite3_set_last_insert_rowid ( sqlite3* dummy, sqlite3_int64 dummy )
240
241 FUNCTION: int sqlite3_changes ( sqlite3* dummy )
242
243 FUNCTION: int sqlite3_total_changes ( sqlite3* dummy )
244
245 FUNCTION: void sqlite3_interrupt ( sqlite3* dummy )
246
247 FUNCTION: int sqlite3_complete ( c-string sql )
248
249 FUNCTION: int sqlite3_complete16 ( void* sql )
250
251 FUNCTION: int sqlite3_busy_handler ( sqlite3* dummy, void* dummy, void* dummy )
252
253 FUNCTION: int sqlite3_busy_timeout ( sqlite3* dummy, int ms )
254
255 FUNCTION: int sqlite3_get_table ( sqlite3* db, c-string zSql, char*** pazResult, int* pnRow, int* pnColumn, char** pzErrmsg )
256
257 FUNCTION: void sqlite3_free_table ( char** result )
258
259 FUNCTION: c-string sqlite3_mprintf ( c-string dummy )
260
261 ! FUNCTION: c-string sqlite3_vmprintf ( c-string dummy, va_list dummy )
262
263 FUNCTION: c-string sqlite3_snprintf ( int dummy, c-string dummy, c-string dummy )
264
265 ! FUNCTION: c-string sqlite3_vsnprintf ( int dummy, c-string dummy, c-string dummy, va_list dummy )
266
267 FUNCTION: void* sqlite3_malloc ( int dummy )
268
269 FUNCTION: void* sqlite3_malloc64 ( sqlite3_uint64 dummy )
270
271 FUNCTION: void* sqlite3_realloc ( void* dummy, int dummy )
272
273 FUNCTION: void* sqlite3_realloc64 ( void* dummy, sqlite3_uint64 dummy )
274
275 FUNCTION: void sqlite3_free ( void* dummy )
276
277 FUNCTION: ulonglong sqlite3_msize ( void* dummy )
278
279 FUNCTION: longlong sqlite3_memory_used ( )
280
281 FUNCTION: longlong sqlite3_memory_highwater ( int resetFlag )
282
283 FUNCTION: void sqlite3_randomness ( int N, void* P )
284
285 FUNCTION: int sqlite3_set_authorizer ( sqlite3* dummy, void* xAuth, void* pUserData )
286
287 FUNCTION: void* sqlite3_trace ( sqlite3* dummy, void* xTrace, void* dummy )
288
289 FUNCTION: void* sqlite3_profile ( sqlite3* dummy, void* xProfile, void* dummy )
290
291 FUNCTION: int sqlite3_trace_v2 ( sqlite3* dummy, uint uMask, void* xCallback, void* pCtx )
292
293 FUNCTION: void sqlite3_progress_handler ( sqlite3* dummy, int dummy, void* dummy, void* dummy )
294
295 FUNCTION: int sqlite3_open ( c-string filename, sqlite3** ppDb )
296
297 FUNCTION: int sqlite3_open16 ( void* filename, sqlite3** ppDb )
298
299 FUNCTION: int sqlite3_open_v2 ( c-string filename, sqlite3** ppDb, int flags, c-string zVfs )
300
301 FUNCTION: c-string sqlite3_uri_parameter ( c-string zFilename, c-string zParam )
302
303 FUNCTION: int sqlite3_uri_boolean ( c-string zFile, c-string zParam, int bDefault )
304
305 FUNCTION: longlong sqlite3_uri_int64 ( c-string dummy, c-string dummy, sqlite3_int64 dummy )
306
307 FUNCTION: int sqlite3_errcode ( sqlite3* db )
308
309 FUNCTION: int sqlite3_extended_errcode ( sqlite3* db )
310
311 FUNCTION: c-string sqlite3_errmsg ( sqlite3* dummy )
312
313 FUNCTION: void* sqlite3_errmsg16 ( sqlite3* dummy )
314
315 FUNCTION: c-string sqlite3_errstr ( int dummy )
316
317 C-TYPE: sqlite3_stmt
318 FUNCTION: int sqlite3_limit ( sqlite3* dummy, int id, int newVal )
319
320 FUNCTION: int sqlite3_prepare ( sqlite3* db, c-string zSql, int nByte, sqlite3_stmt** ppStmt, char** pzTail )
321
322 FUNCTION: int sqlite3_prepare_v2 ( sqlite3* db, c-string zSql, int nByte, sqlite3_stmt** ppStmt, char** pzTail )
323
324 FUNCTION: int sqlite3_prepare_v3 ( sqlite3* db, c-string  zSql, int nByte, uint prepFlags, sqlite3_stmt** ppStmt, char** pzTail )
325
326 FUNCTION: int sqlite3_prepare16 ( sqlite3* db, c-string zSql, int nByte, sqlite3_stmt** ppStmt, void** pzTail )
327
328 FUNCTION: int sqlite3_prepare16_v2 ( sqlite3* db, void* zSql, int nByte, sqlite3_stmt** ppStmt, void** pzTail )
329
330 FUNCTION: int sqlite3_prepare16_v3 ( sqlite3* db, void* zSql, int nByte, uint prepFlags, sqlite3_stmt** ppStmt, void** pzTail )
331
332 FUNCTION: c-string sqlite3_sql ( sqlite3_stmt* pStmt )
333
334 FUNCTION: c-string sqlite3_expanded_sql ( sqlite3_stmt* pStmt )
335
336 FUNCTION: c-string sqlite3_normalized_sql ( sqlite3_stmt* pStmt )
337
338 FUNCTION: int sqlite3_stmt_readonly ( sqlite3_stmt* pStmt )
339
340 FUNCTION: int sqlite3_stmt_isexplain ( sqlite3_stmt* pStmt )
341
342 FUNCTION: int sqlite3_stmt_busy ( sqlite3_stmt* dummy )
343
344 C-TYPE: sqlite3_value
345 C-TYPE: sqlite3_context
346 FUNCTION: int sqlite3_bind_blob ( sqlite3_stmt* dummy, int dummy, void* dummy, int n, void* dummy )
347
348 FUNCTION: int sqlite3_bind_blob64 ( sqlite3_stmt* dummy, int dummy, void* dummy, sqlite3_uint64 dummy, void* dummy )
349
350 FUNCTION: int sqlite3_bind_double ( sqlite3_stmt* dummy, int dummy, double dummy )
351
352 FUNCTION: int sqlite3_bind_int ( sqlite3_stmt* dummy, int dummy, int dummy )
353
354 FUNCTION: int sqlite3_bind_int64 ( sqlite3_stmt* dummy, int dummy, sqlite3_int64 dummy )
355
356 FUNCTION: int sqlite3_bind_null ( sqlite3_stmt* dummy, int dummy )
357
358 FUNCTION: int sqlite3_bind_text ( sqlite3_stmt* dummy, int dummy, char* dummy, int dummy, void* dummy )
359
360 FUNCTION: int sqlite3_bind_text16 ( sqlite3_stmt* dummy, int dummy, void* dummy, int dummy, void* dummy )
361
362 FUNCTION: int sqlite3_bind_text64 ( sqlite3_stmt* dummy, int dummy, char* dummy, sqlite3_uint64 dummy, void* dummy, uchar encoding )
363
364 FUNCTION: int sqlite3_bind_value ( sqlite3_stmt* dummy, int dummy, sqlite3_value* dummy )
365
366 FUNCTION: int sqlite3_bind_pointer ( sqlite3_stmt* dummy, int dummy, void* dummy, char* dummy, void* dummy )
367
368 FUNCTION: int sqlite3_bind_zeroblob ( sqlite3_stmt* dummy, int dummy, int n )
369
370 FUNCTION: int sqlite3_bind_zeroblob64 ( sqlite3_stmt* dummy, int dummy, sqlite3_uint64 dummy )
371
372 FUNCTION: int sqlite3_bind_parameter_count ( sqlite3_stmt* dummy )
373
374 FUNCTION: c-string sqlite3_bind_parameter_name ( sqlite3_stmt* dummy, int dummy )
375
376 FUNCTION: int sqlite3_bind_parameter_index ( sqlite3_stmt* dummy, c-string zName )
377
378 FUNCTION: int sqlite3_clear_bindings ( sqlite3_stmt* dummy )
379
380 FUNCTION: int sqlite3_column_count ( sqlite3_stmt* pStmt )
381
382 FUNCTION: c-string sqlite3_column_name ( sqlite3_stmt* dummy, int N )
383
384 FUNCTION: void* sqlite3_column_name16 ( sqlite3_stmt* dummy, int N )
385
386 FUNCTION: c-string sqlite3_column_database_name ( sqlite3_stmt* dummy, int dummy )
387
388 FUNCTION: void* sqlite3_column_database_name16 ( sqlite3_stmt* dummy, int dummy )
389
390 FUNCTION: c-string sqlite3_column_table_name ( sqlite3_stmt* dummy, int dummy )
391
392 FUNCTION: void* sqlite3_column_table_name16 ( sqlite3_stmt* dummy, int dummy )
393
394 FUNCTION: c-string sqlite3_column_origin_name ( sqlite3_stmt* dummy, int dummy )
395
396 FUNCTION: void* sqlite3_column_origin_name16 ( sqlite3_stmt* dummy, int dummy )
397
398 FUNCTION: c-string sqlite3_column_decltype ( sqlite3_stmt* dummy, int dummy )
399
400 FUNCTION: void* sqlite3_column_decltype16 ( sqlite3_stmt* dummy, int dummy )
401
402 FUNCTION: int sqlite3_step ( sqlite3_stmt* dummy )
403
404 FUNCTION: int sqlite3_data_count ( sqlite3_stmt* pStmt )
405
406 FUNCTION: void* sqlite3_column_blob ( sqlite3_stmt* dummy, int iCol )
407
408 FUNCTION: double sqlite3_column_double ( sqlite3_stmt* dummy, int iCol )
409
410 FUNCTION: int sqlite3_column_int ( sqlite3_stmt* dummy, int iCol )
411
412 FUNCTION: longlong sqlite3_column_int64 ( sqlite3_stmt* dummy, int iCol )
413
414 FUNCTION: c-string sqlite3_column_text ( sqlite3_stmt* dummy, int iCol )
415
416 FUNCTION: void* sqlite3_column_text16 ( sqlite3_stmt* dummy, int iCol )
417
418 FUNCTION: sqlite3_value* sqlite3_column_value ( sqlite3_stmt* dummy, int iCol )
419
420 FUNCTION: int sqlite3_column_bytes ( sqlite3_stmt* dummy, int iCol )
421
422 FUNCTION: int sqlite3_column_bytes16 ( sqlite3_stmt* dummy, int iCol )
423
424 FUNCTION: int sqlite3_column_type ( sqlite3_stmt* dummy, int iCol )
425
426 FUNCTION: int sqlite3_finalize ( sqlite3_stmt* pStmt )
427
428 FUNCTION: int sqlite3_reset ( sqlite3_stmt* pStmt )
429
430 FUNCTION: int sqlite3_create_function ( sqlite3* db, char* zFunctionName, int nArg, int eTextRep, void* pApp, void* xFunc, void* xStep, void* xFinal )
431
432 FUNCTION: int sqlite3_create_function16 ( sqlite3* db, void* zFunctionName, int nArg, int eTextRep, void* pApp, void* xFunc, void* xStep, void* xFinal )
433
434 FUNCTION: int sqlite3_create_function_v2 ( sqlite3* db, char* zFunctionName, int nArg, int eTextRep, void* pApp, void* xFunc, void* xStep, void* xFinal, void* xDestroy )
435
436 FUNCTION: int sqlite3_create_window_function ( sqlite3* db, char* zFunctionName, int nArg, int eTextRep, void* pApp, void* xStep, void* xFinal, void* xValue, void* xInverse, void* xDestroy )
437
438 FUNCTION: int sqlite3_aggregate_count ( sqlite3_context* dummy )
439
440 FUNCTION: int sqlite3_expired ( sqlite3_stmt* dummy )
441
442 FUNCTION: int sqlite3_transfer_bindings ( sqlite3_stmt* dummy, sqlite3_stmt* dummy )
443
444 FUNCTION: int sqlite3_global_recover ( )
445
446 FUNCTION: void sqlite3_thread_cleanup ( )
447
448 FUNCTION: int sqlite3_memory_alarm ( void* dummy, void* dummy, sqlite3_int64 dummy )
449
450 FUNCTION: void* sqlite3_value_blob ( sqlite3_value* dummy )
451
452 FUNCTION: double sqlite3_value_double ( sqlite3_value* dummy )
453
454 FUNCTION: int sqlite3_value_int ( sqlite3_value* dummy )
455
456 FUNCTION: longlong sqlite3_value_int64 ( sqlite3_value* dummy )
457
458 FUNCTION: void* sqlite3_value_pointer ( sqlite3_value* dummy, c-string dummy )
459
460 FUNCTION: c-string sqlite3_value_text ( sqlite3_value* dummy )
461
462 FUNCTION: void* sqlite3_value_text16 ( sqlite3_value* dummy )
463
464 FUNCTION: void* sqlite3_value_text16le ( sqlite3_value* dummy )
465
466 FUNCTION: void* sqlite3_value_text16be ( sqlite3_value* dummy )
467
468 FUNCTION: int sqlite3_value_bytes ( sqlite3_value* dummy )
469
470 FUNCTION: int sqlite3_value_bytes16 ( sqlite3_value* dummy )
471
472 FUNCTION: int sqlite3_value_type ( sqlite3_value* dummy )
473
474 FUNCTION: int sqlite3_value_numeric_type ( sqlite3_value* dummy )
475
476 FUNCTION: int sqlite3_value_nochange ( sqlite3_value* dummy )
477
478 FUNCTION: int sqlite3_value_frombind ( sqlite3_value* dummy )
479
480 FUNCTION: uint sqlite3_value_subtype ( sqlite3_value* dummy )
481
482 FUNCTION: sqlite3_value* sqlite3_value_dup ( sqlite3_value* dummy )
483
484 FUNCTION: void sqlite3_value_free ( sqlite3_value* dummy )
485
486 FUNCTION: void* sqlite3_aggregate_context ( sqlite3_context* dummy, int nBytes )
487
488 FUNCTION: void* sqlite3_user_data ( sqlite3_context* dummy )
489
490 FUNCTION: sqlite3* sqlite3_context_db_handle ( sqlite3_context* dummy )
491
492 FUNCTION: void* sqlite3_get_auxdata ( sqlite3_context* dummy, int N )
493
494 FUNCTION: void sqlite3_set_auxdata ( sqlite3_context* dummy, int N, void* dummy, void* dummy )
495
496 TYPEDEF: void* sqlite3_destructor_type
497 FUNCTION: void sqlite3_result_blob ( sqlite3_context* dummy, void* dummy, int dummy, void* dummy )
498
499 FUNCTION: void sqlite3_result_blob64 ( sqlite3_context* dummy, void* dummy, sqlite3_uint64 dummy, void* dummy )
500
501 FUNCTION: void sqlite3_result_double ( sqlite3_context* dummy, double dummy )
502
503 FUNCTION: void sqlite3_result_error ( sqlite3_context* dummy, c-string dummy, int dummy )
504
505 FUNCTION: void sqlite3_result_error16 ( sqlite3_context* dummy, void* dummy, int dummy )
506
507 FUNCTION: void sqlite3_result_error_toobig ( sqlite3_context* dummy )
508
509 FUNCTION: void sqlite3_result_error_nomem ( sqlite3_context* dummy )
510
511 FUNCTION: void sqlite3_result_error_code ( sqlite3_context* dummy, int dummy )
512
513 FUNCTION: void sqlite3_result_int ( sqlite3_context* dummy, int dummy )
514
515 FUNCTION: void sqlite3_result_int64 ( sqlite3_context* dummy, sqlite3_int64 dummy )
516
517 FUNCTION: void sqlite3_result_null ( sqlite3_context* dummy )
518
519 FUNCTION: void sqlite3_result_text ( sqlite3_context* dummy, c-string dummy, int dummy, void* dummy )
520
521 FUNCTION: void sqlite3_result_text64 ( sqlite3_context* dummy, c-string dummy, sqlite3_uint64 dummy, void* dummy, uchar encoding )
522
523 FUNCTION: void sqlite3_result_text16 ( sqlite3_context* dummy, void* dummy, int dummy, void* dummy )
524
525 FUNCTION: void sqlite3_result_text16le ( sqlite3_context* dummy, void* dummy, int dummy, void* dummy )
526
527 FUNCTION: void sqlite3_result_text16be ( sqlite3_context* dummy, void* dummy, int dummy, void* dummy )
528
529 FUNCTION: void sqlite3_result_value ( sqlite3_context* dummy, sqlite3_value* dummy )
530
531 FUNCTION: void sqlite3_result_pointer ( sqlite3_context* dummy, void* dummy, c-string dummy, void* dummy )
532
533 FUNCTION: void sqlite3_result_zeroblob ( sqlite3_context* dummy, int n )
534
535 FUNCTION: int sqlite3_result_zeroblob64 ( sqlite3_context* dummy, sqlite3_uint64 n )
536
537 FUNCTION: void sqlite3_result_subtype ( sqlite3_context* dummy, uint dummy )
538
539 FUNCTION: int sqlite3_create_collation ( sqlite3* dummy, c-string zName, int eTextRep, void* pArg, void* xCompare )
540
541 FUNCTION: int sqlite3_create_collation_v2 ( sqlite3* dummy, c-string zName, int eTextRep, void* pArg, void* xCompare, void* xDestroy )
542
543 FUNCTION: int sqlite3_create_collation16 ( sqlite3* dummy, void* zName, int eTextRep, void* pArg, void* xCompare )
544
545 FUNCTION: int sqlite3_collation_needed ( sqlite3* dummy, void* dummy, void* dummy )
546
547 FUNCTION: int sqlite3_collation_needed16 ( sqlite3* dummy, void* dummy, void* dummy )
548
549 FUNCTION: int sqlite3_sleep ( int dummy )
550
551 C-GLOBAL: c-string sqlite3_temp_directory
552
553 C-GLOBAL: c-string sqlite3_data_directory
554
555 FUNCTION: int sqlite3_win32_set_directory ( ulong type, void* zValue )
556
557 FUNCTION: int sqlite3_win32_set_directory8 ( ulong type, c-string zValue )
558
559 FUNCTION: int sqlite3_win32_set_directory16 ( ulong type, void* zValue )
560
561 FUNCTION: int sqlite3_get_autocommit ( sqlite3* dummy )
562
563 FUNCTION: sqlite3* sqlite3_db_handle ( sqlite3_stmt* dummy )
564
565 FUNCTION: c-string sqlite3_db_filename ( sqlite3* db, c-string zDbName )
566
567 FUNCTION: int sqlite3_db_readonly ( sqlite3* db, c-string zDbName )
568
569 FUNCTION: sqlite3_stmt* sqlite3_next_stmt ( sqlite3* pDb, sqlite3_stmt* pStmt )
570
571 FUNCTION: void* sqlite3_commit_hook ( sqlite3* dummy, void* dummy, void* dummy )
572
573 FUNCTION: void* sqlite3_rollback_hook ( sqlite3* dummy, void* dummy, void* dummy )
574
575 FUNCTION: void* sqlite3_update_hook ( sqlite3* dummy, void* dummy, void* dummy )
576
577 FUNCTION: int sqlite3_enable_shared_cache ( int dummy )
578
579 FUNCTION: int sqlite3_release_memory ( int dummy )
580
581 FUNCTION: int sqlite3_db_release_memory ( sqlite3* dummy )
582
583 FUNCTION: longlong sqlite3_soft_heap_limit64 ( sqlite3_int64 N )
584
585 FUNCTION: void sqlite3_soft_heap_limit ( int N )
586
587 FUNCTION: int sqlite3_table_column_metadata ( sqlite3* db, c-string zDbName, c-string zTableName, c-string zColumnName, char** pzDataType, char** pzCollSeq, int* pNotNull, int* pPrimaryKey, int* pAutoinc )
588
589 FUNCTION: int sqlite3_load_extension ( sqlite3* db, c-string zFile, c-string zProc, char** pzErrMsg )
590
591 FUNCTION: int sqlite3_enable_load_extension ( sqlite3* db, int onoff )
592
593 FUNCTION: int sqlite3_auto_extension ( void* xEntryPoint )
594
595 FUNCTION: int sqlite3_cancel_auto_extension ( void* xEntryPoint )
596
597 FUNCTION: void sqlite3_reset_auto_extension ( )
598
599 C-TYPE: sqlite3_vtab
600 C-TYPE: sqlite3_index_info
601 C-TYPE: sqlite3_vtab_cursor
602 C-TYPE: sqlite3_module
603 STRUCT: sqlite3_module
604   { iVersion int }
605   { xCreate void* }
606   { xConnect void* }
607   { xBestIndex void* }
608   { xDisconnect void* }
609   { xDestroy void* }
610   { xOpen void* }
611   { xClose void* }
612   { xFilter void* }
613   { xNext void* }
614   { xEof void* }
615   { xColumn void* }
616   { xRowid void* }
617   { xUpdate void* }
618   { xBegin void* }
619   { xSync void* }
620   { xCommit void* }
621   { xRollback void* }
622   { xFindFunction void* }
623   { xRename void* }
624   { xSavepoint void* }
625   { xRelease void* }
626   { xRollbackTo void* }
627   { xShadowName void* } ;
628
629 STRUCT: sqlite3_index_constraint
630   { iColumn int }
631   { op uchar }
632   { usable uchar }
633   { iTermOffset int } ;
634
635 STRUCT: sqlite3_index_orderby
636   { iColumn int }
637   { desc uchar } ;
638
639 STRUCT: sqlite3_index_constraint_usage
640   { argvIndex int }
641   { omit uchar } ;
642
643 STRUCT: sqlite3_index_info
644   { nConstraint int }
645   { aConstraint sqlite3_index_constraint* }
646   { nOrderBy int }
647   { aOrderBy sqlite3_index_orderby* }
648   { aConstraintUsage sqlite3_index_constraint_usage* }
649   { idxNum int }
650   { idxStr c-string }
651   { needToFreeIdxStr int }
652   { orderByConsumed int }
653   { estimatedCost double }
654   { estimatedRows sqlite3_int64 }
655   { idxFlags int }
656   { colUsed sqlite3_uint64 } ;
657
658 FUNCTION: int sqlite3_create_module ( sqlite3* db, c-string zName, sqlite3_module* p, void* pClientData )
659
660 FUNCTION: int sqlite3_create_module_v2 ( sqlite3* db, c-string zName, sqlite3_module* p, void* pClientData, void* xDestroy )
661
662 STRUCT: sqlite3_vtab
663   { pModule sqlite3_module* }
664   { nRef int }
665   { zErrMsg c-string } ;
666
667 STRUCT: sqlite3_vtab_cursor
668   { pVtab sqlite3_vtab* } ;
669
670 FUNCTION: int sqlite3_declare_vtab ( sqlite3* dummy, c-string zSQL )
671
672 FUNCTION: int sqlite3_overload_function ( sqlite3* dummy, c-string zFuncName, int nArg )
673
674 C-TYPE: sqlite3_blob
675 FUNCTION: int sqlite3_blob_open ( sqlite3* dummy, c-string zDb, c-string zTable, c-string zColumn, sqlite3_int64 iRow, int flags, sqlite3_blob** ppBlob )
676
677 FUNCTION: int sqlite3_blob_reopen ( sqlite3_blob* dummy, sqlite3_int64 dummy )
678
679 FUNCTION: int sqlite3_blob_close ( sqlite3_blob* dummy )
680
681 FUNCTION: int sqlite3_blob_bytes ( sqlite3_blob* dummy )
682
683 FUNCTION: int sqlite3_blob_read ( sqlite3_blob* dummy, void* Z, int N, int iOffset )
684
685 FUNCTION: int sqlite3_blob_write ( sqlite3_blob* dummy, void* z, int n, int iOffset )
686
687 FUNCTION: sqlite3_vfs* sqlite3_vfs_find ( c-string zVfsName )
688
689 FUNCTION: int sqlite3_vfs_register ( sqlite3_vfs* dummy, int makeDflt )
690
691 FUNCTION: int sqlite3_vfs_unregister ( sqlite3_vfs* dummy )
692
693 FUNCTION: sqlite3_mutex* sqlite3_mutex_alloc ( int dummy )
694
695 FUNCTION: void sqlite3_mutex_free ( sqlite3_mutex* dummy )
696
697 FUNCTION: void sqlite3_mutex_enter ( sqlite3_mutex* dummy )
698
699 FUNCTION: int sqlite3_mutex_try ( sqlite3_mutex* dummy )
700
701 FUNCTION: void sqlite3_mutex_leave ( sqlite3_mutex* dummy )
702
703 C-TYPE: sqlite3_mutex_methods
704 STRUCT: sqlite3_mutex_methods
705   { xMutexInit void* }
706   { xMutexEnd void* }
707   { xMutexAlloc void* }
708   { xMutexFree void* }
709   { xMutexEnter void* }
710   { xMutexTry void* }
711   { xMutexLeave void* }
712   { xMutexHeld void* }
713   { xMutexNotheld void* } ;
714
715 FUNCTION: int sqlite3_mutex_held ( sqlite3_mutex* dummy )
716
717 FUNCTION: int sqlite3_mutex_notheld ( sqlite3_mutex* dummy )
718
719 FUNCTION: sqlite3_mutex* sqlite3_db_mutex ( sqlite3* dummy )
720
721 FUNCTION: int sqlite3_file_control ( sqlite3* dummy, c-string zDbName, int op, void* dummy )
722
723 FUNCTION: int sqlite3_test_control ( int op )
724
725 FUNCTION: int sqlite3_keyword_count ( )
726
727 FUNCTION: int sqlite3_keyword_name ( int dummy, char** dummy, int* dummy )
728
729 FUNCTION: int sqlite3_keyword_check ( c-string dummy, int dummy )
730
731 C-TYPE: sqlite3_str
732 FUNCTION: sqlite3_str* sqlite3_str_new ( sqlite3* dummy )
733
734 FUNCTION: c-string sqlite3_str_finish ( sqlite3_str* dummy )
735
736 FUNCTION: void sqlite3_str_appendf ( sqlite3_str* dummy, c-string zFormat )
737
738 ! FUNCTION: void sqlite3_str_vappendf ( sqlite3_str* dummy, c-string zFormat, va_list dummy )
739
740 FUNCTION: void sqlite3_str_append ( sqlite3_str* dummy, c-string zIn, int N )
741
742 FUNCTION: void sqlite3_str_appendall ( sqlite3_str* dummy, c-string zIn )
743
744 FUNCTION: void sqlite3_str_appendchar ( sqlite3_str* dummy, int N, char C )
745
746 FUNCTION: void sqlite3_str_reset ( sqlite3_str* dummy )
747
748 FUNCTION: int sqlite3_str_errcode ( sqlite3_str* dummy )
749
750 FUNCTION: int sqlite3_str_length ( sqlite3_str* dummy )
751
752 FUNCTION: c-string sqlite3_str_value ( sqlite3_str* dummy )
753
754 FUNCTION: int sqlite3_status ( int op, int* pCurrent, int* pHighwater, int resetFlag )
755
756 FUNCTION: int sqlite3_status64 ( int op, sqlite3_int64* pCurrent, sqlite3_int64* pHighwater, int resetFlag )
757
758 FUNCTION: int sqlite3_db_status ( sqlite3* dummy, int op, int* pCur, int* pHiwtr, int resetFlg )
759
760 FUNCTION: int sqlite3_stmt_status ( sqlite3_stmt* dummy, int op, int resetFlg )
761
762 C-TYPE: sqlite3_pcache
763 C-TYPE: sqlite3_pcache_page
764 STRUCT: sqlite3_pcache_page
765   { pBuf void* }
766   { pExtra void* } ;
767
768 C-TYPE: sqlite3_pcache_methods2
769 STRUCT: sqlite3_pcache_methods2
770   { iVersion int }
771   { pArg void* }
772   { xInit void* }
773   { xShutdown void* }
774   { xCreate void* }
775   { xCachesize void* }
776   { xPagecount void* }
777   { xFetch void* }
778   { xUnpin void* }
779   { xRekey void* }
780   { xTruncate void* }
781   { xDestroy void* }
782   { xShrink void* } ;
783
784 C-TYPE: sqlite3_pcache_methods
785 STRUCT: sqlite3_pcache_methods
786   { pArg void* }
787   { xInit void* }
788   { xShutdown void* }
789   { xCreate void* }
790   { xCachesize void* }
791   { xPagecount void* }
792   { xFetch void* }
793   { xUnpin void* }
794   { xRekey void* }
795   { xTruncate void* }
796   { xDestroy void* } ;
797
798 C-TYPE: sqlite3_backup
799 FUNCTION: sqlite3_backup* sqlite3_backup_init ( sqlite3* pDest, c-string zDestName, sqlite3* pSource, c-string zSourceName )
800
801 FUNCTION: int sqlite3_backup_step ( sqlite3_backup* p, int nPage )
802
803 FUNCTION: int sqlite3_backup_finish ( sqlite3_backup* p )
804
805 FUNCTION: int sqlite3_backup_remaining ( sqlite3_backup* p )
806
807 FUNCTION: int sqlite3_backup_pagecount ( sqlite3_backup* p )
808
809 FUNCTION: int sqlite3_unlock_notify ( sqlite3* pBlocked, void* xNotify, void* pNotifyArg )
810
811 FUNCTION: int sqlite3_stricmp ( c-string dummy, c-string dummy )
812
813 FUNCTION: int sqlite3_strnicmp ( c-string dummy, c-string dummy, int dummy )
814
815 FUNCTION: int sqlite3_strglob ( c-string zGlob, c-string zStr )
816
817 FUNCTION: int sqlite3_strlike ( c-string zGlob, c-string zStr, uint cEsc )
818
819 FUNCTION: void sqlite3_log ( int iErrCode, c-string zFormat )
820
821 FUNCTION: void* sqlite3_wal_hook ( sqlite3* dummy, void* dummy, void* dummy )
822
823 FUNCTION: int sqlite3_wal_autocheckpoint ( sqlite3* db, int N )
824
825 FUNCTION: int sqlite3_wal_checkpoint ( sqlite3* db, c-string zDb )
826
827 FUNCTION: int sqlite3_wal_checkpoint_v2 ( sqlite3* db, c-string zDb, int eMode, int* pnLog, int* pnCkpt )
828
829 FUNCTION: int sqlite3_vtab_config ( sqlite3* dummy, int op )
830
831 FUNCTION: int sqlite3_vtab_on_conflict ( sqlite3* dummy )
832
833 FUNCTION: int sqlite3_vtab_nochange ( sqlite3_context* dummy )
834
835 FUNCTION: c-string sqlite3_vtab_collation ( sqlite3_index_info* dummy, int dummy )
836
837 FUNCTION: int sqlite3_stmt_scanstatus ( sqlite3_stmt* pStmt, int idx, int iScanStatusOp, void* pOut )
838
839 FUNCTION: void sqlite3_stmt_scanstatus_reset ( sqlite3_stmt* dummy )
840
841 FUNCTION: int sqlite3_db_cacheflush ( sqlite3* dummy )
842
843 FUNCTION: int sqlite3_system_errno ( sqlite3* dummy )
844
845 STRUCT: sqlite3_snapshot
846   { hidden uchar[48] } ;
847
848 FUNCTION: int sqlite3_snapshot_get ( sqlite3* db, c-string zSchema, sqlite3_snapshot** ppSnapshot )
849
850 FUNCTION: int sqlite3_snapshot_open ( sqlite3* db, c-string zSchema, sqlite3_snapshot* pSnapshot )
851
852 FUNCTION: void sqlite3_snapshot_free ( sqlite3_snapshot* dummy )
853
854 FUNCTION: int sqlite3_snapshot_cmp ( sqlite3_snapshot* p1, sqlite3_snapshot* p2 )
855
856 FUNCTION: int sqlite3_snapshot_recover ( sqlite3* db, c-string zDb )
857
858 FUNCTION: c-string sqlite3_serialize ( sqlite3* db, c-string zSchema, sqlite3_int64* piSize, uint mFlags )
859
860 FUNCTION: int sqlite3_deserialize ( sqlite3* db, c-string zSchema, c-string pData, sqlite3_int64 szDb, sqlite3_int64 szBuf, uint mFlags )
861
862 C-TYPE: sqlite3_rtree_geometry
863 C-TYPE: sqlite3_rtree_query_info
864 TYPEDEF: double sqlite3_rtree_dbl
865 FUNCTION: int sqlite3_rtree_geometry_callback ( sqlite3* db, c-string zGeom, void* xGeom, void* pContext )
866
867 STRUCT: sqlite3_rtree_geometry
868   { pContext void* }
869   { nParam int }
870   { aParam sqlite3_rtree_dbl* }
871   { pUser void* }
872   { xDelUser void* } ;
873
874 FUNCTION: int sqlite3_rtree_query_callback ( sqlite3* db, c-string zQueryFunc, void* xQueryFunc, void* pContext, void* xDestructor )
875
876 STRUCT: sqlite3_rtree_query_info
877   { pContext void* }
878   { nParam int }
879   { aParam sqlite3_rtree_dbl* }
880   { pUser void* }
881   { xDelUser void* }
882   { aCoord sqlite3_rtree_dbl* }
883   { anQueue uint* }
884   { nCoord int }
885   { iLevel int }
886   { mxLevel int }
887   { iRowid sqlite3_int64 }
888   { rParentScore sqlite3_rtree_dbl }
889   { eParentWithin int }
890   { eWithin int }
891   { rScore sqlite3_rtree_dbl }
892   { apSqlParam sqlite3_value** } ;
893
894 C-TYPE: Fts5ExtensionApi
895 C-TYPE: Fts5Context
896 C-TYPE: Fts5PhraseIter
897 TYPEDEF: void* fts5_extension_function
898 STRUCT: Fts5PhraseIter
899   { a c-string }
900   { b c-string } ;
901
902 STRUCT: Fts5ExtensionApi
903   { iVersion int }
904   { xUserData void* }
905   { xColumnCount void* }
906   { xRowCount void* }
907   { xColumnTotalSize void* }
908   { xTokenize void* }
909   { xPhraseCount void* }
910   { xPhraseSize void* }
911   { xInstCount void* }
912   { xInst void* }
913   { xRowid void* }
914   { xColumnText void* }
915   { xColumnSize void* }
916   { xQueryPhrase void* }
917   { xSetAuxdata void* }
918   { xGetAuxdata void* }
919   { xPhraseFirst void* }
920   { xPhraseNext void* }
921   { xPhraseFirstColumn void* }
922   { xPhraseNextColumn void* } ;
923
924 C-TYPE: Fts5Tokenizer
925 C-TYPE: fts5_tokenizer
926 STRUCT: fts5_tokenizer
927   { xCreate void* }
928   { xDelete void* }
929   { xTokenize void* } ;
930
931 C-TYPE: fts5_api
932 STRUCT: fts5_api
933   { iVersion int }
934   { xCreateTokenizer void* }
935   { xFindTokenizer void* }
936   { xCreateFunction void* } ;