1extern "C" {
4 pub fn sqlite3_auto_extension(
5 xEntryPoint: ::core::option::Option<
6 unsafe extern "C" fn(
7 db: *mut sqlite3,
8 pzErrMsg: *mut *mut ::core::ffi::c_char,
9 _: *const sqlite3_api_routines,
10 ) -> ::core::ffi::c_int,
11 >,
12 ) -> ::core::ffi::c_int;
13}
14extern "C" {
15 pub fn sqlite3_cancel_auto_extension(
16 xEntryPoint: ::core::option::Option<
17 unsafe extern "C" fn(
18 db: *mut sqlite3,
19 pzErrMsg: *mut *mut ::core::ffi::c_char,
20 _: *const sqlite3_api_routines,
21 ) -> ::core::ffi::c_int,
22 >,
23 ) -> ::core::ffi::c_int;
24}
25pub unsafe fn sqlite3_load_extension(
26 _db: *mut sqlite3,
27 _zFile: *const ::core::ffi::c_char,
28 _zProc: *const ::core::ffi::c_char,
29 _pzErrMsg: *mut *mut ::core::ffi::c_char,
30) -> ::core::ffi::c_int {
31 1
33}
34pub unsafe fn sqlite3_enable_load_extension(
35 _db: *mut sqlite3,
36 _onoff: ::core::ffi::c_int,
37) -> ::core::ffi::c_int {
38 1
40}
41
42pub const SQLITE_VERSION: &::core::ffi::CStr = c"3.53.0";
43pub const SQLITE_VERSION_NUMBER: i32 = 3053000;
44pub const SQLITE_SOURCE_ID: &::core::ffi::CStr = c"2026-04-09 11:41:38 4525003a53a7fc63ca75c59b22c79608659ca12f0131f52c18637f829977f20b";
45pub const SQLITE_SCM_BRANCH: &::core::ffi::CStr = c"trunk";
46pub const SQLITE_SCM_TAGS: &::core::ffi::CStr = c"release major-release version-3.53.0";
47pub const SQLITE_SCM_DATETIME: &::core::ffi::CStr = c"2026-04-09T11:41:38.498Z";
48pub const SQLITE_OK: i32 = 0;
49pub const SQLITE_ERROR: i32 = 1;
50pub const SQLITE_INTERNAL: i32 = 2;
51pub const SQLITE_PERM: i32 = 3;
52pub const SQLITE_ABORT: i32 = 4;
53pub const SQLITE_BUSY: i32 = 5;
54pub const SQLITE_LOCKED: i32 = 6;
55pub const SQLITE_NOMEM: i32 = 7;
56pub const SQLITE_READONLY: i32 = 8;
57pub const SQLITE_INTERRUPT: i32 = 9;
58pub const SQLITE_IOERR: i32 = 10;
59pub const SQLITE_CORRUPT: i32 = 11;
60pub const SQLITE_NOTFOUND: i32 = 12;
61pub const SQLITE_FULL: i32 = 13;
62pub const SQLITE_CANTOPEN: i32 = 14;
63pub const SQLITE_PROTOCOL: i32 = 15;
64pub const SQLITE_EMPTY: i32 = 16;
65pub const SQLITE_SCHEMA: i32 = 17;
66pub const SQLITE_TOOBIG: i32 = 18;
67pub const SQLITE_CONSTRAINT: i32 = 19;
68pub const SQLITE_MISMATCH: i32 = 20;
69pub const SQLITE_MISUSE: i32 = 21;
70pub const SQLITE_NOLFS: i32 = 22;
71pub const SQLITE_AUTH: i32 = 23;
72pub const SQLITE_FORMAT: i32 = 24;
73pub const SQLITE_RANGE: i32 = 25;
74pub const SQLITE_NOTADB: i32 = 26;
75pub const SQLITE_NOTICE: i32 = 27;
76pub const SQLITE_WARNING: i32 = 28;
77pub const SQLITE_ROW: i32 = 100;
78pub const SQLITE_DONE: i32 = 101;
79pub const SQLITE_ERROR_MISSING_COLLSEQ: i32 = 257;
80pub const SQLITE_ERROR_RETRY: i32 = 513;
81pub const SQLITE_ERROR_SNAPSHOT: i32 = 769;
82pub const SQLITE_ERROR_RESERVESIZE: i32 = 1025;
83pub const SQLITE_ERROR_KEY: i32 = 1281;
84pub const SQLITE_ERROR_UNABLE: i32 = 1537;
85pub const SQLITE_IOERR_READ: i32 = 266;
86pub const SQLITE_IOERR_SHORT_READ: i32 = 522;
87pub const SQLITE_IOERR_WRITE: i32 = 778;
88pub const SQLITE_IOERR_FSYNC: i32 = 1034;
89pub const SQLITE_IOERR_DIR_FSYNC: i32 = 1290;
90pub const SQLITE_IOERR_TRUNCATE: i32 = 1546;
91pub const SQLITE_IOERR_FSTAT: i32 = 1802;
92pub const SQLITE_IOERR_UNLOCK: i32 = 2058;
93pub const SQLITE_IOERR_RDLOCK: i32 = 2314;
94pub const SQLITE_IOERR_DELETE: i32 = 2570;
95pub const SQLITE_IOERR_BLOCKED: i32 = 2826;
96pub const SQLITE_IOERR_NOMEM: i32 = 3082;
97pub const SQLITE_IOERR_ACCESS: i32 = 3338;
98pub const SQLITE_IOERR_CHECKRESERVEDLOCK: i32 = 3594;
99pub const SQLITE_IOERR_LOCK: i32 = 3850;
100pub const SQLITE_IOERR_CLOSE: i32 = 4106;
101pub const SQLITE_IOERR_DIR_CLOSE: i32 = 4362;
102pub const SQLITE_IOERR_SHMOPEN: i32 = 4618;
103pub const SQLITE_IOERR_SHMSIZE: i32 = 4874;
104pub const SQLITE_IOERR_SHMLOCK: i32 = 5130;
105pub const SQLITE_IOERR_SHMMAP: i32 = 5386;
106pub const SQLITE_IOERR_SEEK: i32 = 5642;
107pub const SQLITE_IOERR_DELETE_NOENT: i32 = 5898;
108pub const SQLITE_IOERR_MMAP: i32 = 6154;
109pub const SQLITE_IOERR_GETTEMPPATH: i32 = 6410;
110pub const SQLITE_IOERR_CONVPATH: i32 = 6666;
111pub const SQLITE_IOERR_VNODE: i32 = 6922;
112pub const SQLITE_IOERR_AUTH: i32 = 7178;
113pub const SQLITE_IOERR_BEGIN_ATOMIC: i32 = 7434;
114pub const SQLITE_IOERR_COMMIT_ATOMIC: i32 = 7690;
115pub const SQLITE_IOERR_ROLLBACK_ATOMIC: i32 = 7946;
116pub const SQLITE_IOERR_DATA: i32 = 8202;
117pub const SQLITE_IOERR_CORRUPTFS: i32 = 8458;
118pub const SQLITE_IOERR_IN_PAGE: i32 = 8714;
119pub const SQLITE_IOERR_BADKEY: i32 = 8970;
120pub const SQLITE_IOERR_CODEC: i32 = 9226;
121pub const SQLITE_LOCKED_SHAREDCACHE: i32 = 262;
122pub const SQLITE_LOCKED_VTAB: i32 = 518;
123pub const SQLITE_BUSY_RECOVERY: i32 = 261;
124pub const SQLITE_BUSY_SNAPSHOT: i32 = 517;
125pub const SQLITE_BUSY_TIMEOUT: i32 = 773;
126pub const SQLITE_CANTOPEN_NOTEMPDIR: i32 = 270;
127pub const SQLITE_CANTOPEN_ISDIR: i32 = 526;
128pub const SQLITE_CANTOPEN_FULLPATH: i32 = 782;
129pub const SQLITE_CANTOPEN_CONVPATH: i32 = 1038;
130pub const SQLITE_CANTOPEN_DIRTYWAL: i32 = 1294;
131pub const SQLITE_CANTOPEN_SYMLINK: i32 = 1550;
132pub const SQLITE_CORRUPT_VTAB: i32 = 267;
133pub const SQLITE_CORRUPT_SEQUENCE: i32 = 523;
134pub const SQLITE_CORRUPT_INDEX: i32 = 779;
135pub const SQLITE_READONLY_RECOVERY: i32 = 264;
136pub const SQLITE_READONLY_CANTLOCK: i32 = 520;
137pub const SQLITE_READONLY_ROLLBACK: i32 = 776;
138pub const SQLITE_READONLY_DBMOVED: i32 = 1032;
139pub const SQLITE_READONLY_CANTINIT: i32 = 1288;
140pub const SQLITE_READONLY_DIRECTORY: i32 = 1544;
141pub const SQLITE_ABORT_ROLLBACK: i32 = 516;
142pub const SQLITE_CONSTRAINT_CHECK: i32 = 275;
143pub const SQLITE_CONSTRAINT_COMMITHOOK: i32 = 531;
144pub const SQLITE_CONSTRAINT_FOREIGNKEY: i32 = 787;
145pub const SQLITE_CONSTRAINT_FUNCTION: i32 = 1043;
146pub const SQLITE_CONSTRAINT_NOTNULL: i32 = 1299;
147pub const SQLITE_CONSTRAINT_PRIMARYKEY: i32 = 1555;
148pub const SQLITE_CONSTRAINT_TRIGGER: i32 = 1811;
149pub const SQLITE_CONSTRAINT_UNIQUE: i32 = 2067;
150pub const SQLITE_CONSTRAINT_VTAB: i32 = 2323;
151pub const SQLITE_CONSTRAINT_ROWID: i32 = 2579;
152pub const SQLITE_CONSTRAINT_PINNED: i32 = 2835;
153pub const SQLITE_CONSTRAINT_DATATYPE: i32 = 3091;
154pub const SQLITE_NOTICE_RECOVER_WAL: i32 = 283;
155pub const SQLITE_NOTICE_RECOVER_ROLLBACK: i32 = 539;
156pub const SQLITE_NOTICE_RBU: i32 = 795;
157pub const SQLITE_WARNING_AUTOINDEX: i32 = 284;
158pub const SQLITE_AUTH_USER: i32 = 279;
159pub const SQLITE_OK_LOAD_PERMANENTLY: i32 = 256;
160pub const SQLITE_OK_SYMLINK: i32 = 512;
161pub const SQLITE_OPEN_READONLY: i32 = 1;
162pub const SQLITE_OPEN_READWRITE: i32 = 2;
163pub const SQLITE_OPEN_CREATE: i32 = 4;
164pub const SQLITE_OPEN_DELETEONCLOSE: i32 = 8;
165pub const SQLITE_OPEN_EXCLUSIVE: i32 = 16;
166pub const SQLITE_OPEN_AUTOPROXY: i32 = 32;
167pub const SQLITE_OPEN_URI: i32 = 64;
168pub const SQLITE_OPEN_MEMORY: i32 = 128;
169pub const SQLITE_OPEN_MAIN_DB: i32 = 256;
170pub const SQLITE_OPEN_TEMP_DB: i32 = 512;
171pub const SQLITE_OPEN_TRANSIENT_DB: i32 = 1024;
172pub const SQLITE_OPEN_MAIN_JOURNAL: i32 = 2048;
173pub const SQLITE_OPEN_TEMP_JOURNAL: i32 = 4096;
174pub const SQLITE_OPEN_SUBJOURNAL: i32 = 8192;
175pub const SQLITE_OPEN_SUPER_JOURNAL: i32 = 16384;
176pub const SQLITE_OPEN_NOMUTEX: i32 = 32768;
177pub const SQLITE_OPEN_FULLMUTEX: i32 = 65536;
178pub const SQLITE_OPEN_SHAREDCACHE: i32 = 131072;
179pub const SQLITE_OPEN_PRIVATECACHE: i32 = 262144;
180pub const SQLITE_OPEN_WAL: i32 = 524288;
181pub const SQLITE_OPEN_NOFOLLOW: i32 = 16777216;
182pub const SQLITE_OPEN_EXRESCODE: i32 = 33554432;
183pub const SQLITE_OPEN_MASTER_JOURNAL: i32 = 16384;
184pub const SQLITE_IOCAP_ATOMIC: i32 = 1;
185pub const SQLITE_IOCAP_ATOMIC512: i32 = 2;
186pub const SQLITE_IOCAP_ATOMIC1K: i32 = 4;
187pub const SQLITE_IOCAP_ATOMIC2K: i32 = 8;
188pub const SQLITE_IOCAP_ATOMIC4K: i32 = 16;
189pub const SQLITE_IOCAP_ATOMIC8K: i32 = 32;
190pub const SQLITE_IOCAP_ATOMIC16K: i32 = 64;
191pub const SQLITE_IOCAP_ATOMIC32K: i32 = 128;
192pub const SQLITE_IOCAP_ATOMIC64K: i32 = 256;
193pub const SQLITE_IOCAP_SAFE_APPEND: i32 = 512;
194pub const SQLITE_IOCAP_SEQUENTIAL: i32 = 1024;
195pub const SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN: i32 = 2048;
196pub const SQLITE_IOCAP_POWERSAFE_OVERWRITE: i32 = 4096;
197pub const SQLITE_IOCAP_IMMUTABLE: i32 = 8192;
198pub const SQLITE_IOCAP_BATCH_ATOMIC: i32 = 16384;
199pub const SQLITE_IOCAP_SUBPAGE_READ: i32 = 32768;
200pub const SQLITE_LOCK_NONE: i32 = 0;
201pub const SQLITE_LOCK_SHARED: i32 = 1;
202pub const SQLITE_LOCK_RESERVED: i32 = 2;
203pub const SQLITE_LOCK_PENDING: i32 = 3;
204pub const SQLITE_LOCK_EXCLUSIVE: i32 = 4;
205pub const SQLITE_SYNC_NORMAL: i32 = 2;
206pub const SQLITE_SYNC_FULL: i32 = 3;
207pub const SQLITE_SYNC_DATAONLY: i32 = 16;
208pub const SQLITE_FCNTL_LOCKSTATE: i32 = 1;
209pub const SQLITE_FCNTL_GET_LOCKPROXYFILE: i32 = 2;
210pub const SQLITE_FCNTL_SET_LOCKPROXYFILE: i32 = 3;
211pub const SQLITE_FCNTL_LAST_ERRNO: i32 = 4;
212pub const SQLITE_FCNTL_SIZE_HINT: i32 = 5;
213pub const SQLITE_FCNTL_CHUNK_SIZE: i32 = 6;
214pub const SQLITE_FCNTL_FILE_POINTER: i32 = 7;
215pub const SQLITE_FCNTL_SYNC_OMITTED: i32 = 8;
216pub const SQLITE_FCNTL_WIN32_AV_RETRY: i32 = 9;
217pub const SQLITE_FCNTL_PERSIST_WAL: i32 = 10;
218pub const SQLITE_FCNTL_OVERWRITE: i32 = 11;
219pub const SQLITE_FCNTL_VFSNAME: i32 = 12;
220pub const SQLITE_FCNTL_POWERSAFE_OVERWRITE: i32 = 13;
221pub const SQLITE_FCNTL_PRAGMA: i32 = 14;
222pub const SQLITE_FCNTL_BUSYHANDLER: i32 = 15;
223pub const SQLITE_FCNTL_TEMPFILENAME: i32 = 16;
224pub const SQLITE_FCNTL_MMAP_SIZE: i32 = 18;
225pub const SQLITE_FCNTL_TRACE: i32 = 19;
226pub const SQLITE_FCNTL_HAS_MOVED: i32 = 20;
227pub const SQLITE_FCNTL_SYNC: i32 = 21;
228pub const SQLITE_FCNTL_COMMIT_PHASETWO: i32 = 22;
229pub const SQLITE_FCNTL_WIN32_SET_HANDLE: i32 = 23;
230pub const SQLITE_FCNTL_WAL_BLOCK: i32 = 24;
231pub const SQLITE_FCNTL_ZIPVFS: i32 = 25;
232pub const SQLITE_FCNTL_RBU: i32 = 26;
233pub const SQLITE_FCNTL_VFS_POINTER: i32 = 27;
234pub const SQLITE_FCNTL_JOURNAL_POINTER: i32 = 28;
235pub const SQLITE_FCNTL_WIN32_GET_HANDLE: i32 = 29;
236pub const SQLITE_FCNTL_PDB: i32 = 30;
237pub const SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: i32 = 31;
238pub const SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: i32 = 32;
239pub const SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: i32 = 33;
240pub const SQLITE_FCNTL_LOCK_TIMEOUT: i32 = 34;
241pub const SQLITE_FCNTL_DATA_VERSION: i32 = 35;
242pub const SQLITE_FCNTL_SIZE_LIMIT: i32 = 36;
243pub const SQLITE_FCNTL_CKPT_DONE: i32 = 37;
244pub const SQLITE_FCNTL_RESERVE_BYTES: i32 = 38;
245pub const SQLITE_FCNTL_CKPT_START: i32 = 39;
246pub const SQLITE_FCNTL_EXTERNAL_READER: i32 = 40;
247pub const SQLITE_FCNTL_CKSM_FILE: i32 = 41;
248pub const SQLITE_FCNTL_RESET_CACHE: i32 = 42;
249pub const SQLITE_FCNTL_NULL_IO: i32 = 43;
250pub const SQLITE_FCNTL_BLOCK_ON_CONNECT: i32 = 44;
251pub const SQLITE_FCNTL_FILESTAT: i32 = 45;
252pub const SQLITE_GET_LOCKPROXYFILE: i32 = 2;
253pub const SQLITE_SET_LOCKPROXYFILE: i32 = 3;
254pub const SQLITE_LAST_ERRNO: i32 = 4;
255pub const SQLITE_ACCESS_EXISTS: i32 = 0;
256pub const SQLITE_ACCESS_READWRITE: i32 = 1;
257pub const SQLITE_ACCESS_READ: i32 = 2;
258pub const SQLITE_SHM_UNLOCK: i32 = 1;
259pub const SQLITE_SHM_LOCK: i32 = 2;
260pub const SQLITE_SHM_SHARED: i32 = 4;
261pub const SQLITE_SHM_EXCLUSIVE: i32 = 8;
262pub const SQLITE_SHM_NLOCK: i32 = 8;
263pub const SQLITE_CONFIG_SINGLETHREAD: i32 = 1;
264pub const SQLITE_CONFIG_MULTITHREAD: i32 = 2;
265pub const SQLITE_CONFIG_SERIALIZED: i32 = 3;
266pub const SQLITE_CONFIG_MALLOC: i32 = 4;
267pub const SQLITE_CONFIG_GETMALLOC: i32 = 5;
268pub const SQLITE_CONFIG_SCRATCH: i32 = 6;
269pub const SQLITE_CONFIG_PAGECACHE: i32 = 7;
270pub const SQLITE_CONFIG_HEAP: i32 = 8;
271pub const SQLITE_CONFIG_MEMSTATUS: i32 = 9;
272pub const SQLITE_CONFIG_MUTEX: i32 = 10;
273pub const SQLITE_CONFIG_GETMUTEX: i32 = 11;
274pub const SQLITE_CONFIG_LOOKASIDE: i32 = 13;
275pub const SQLITE_CONFIG_PCACHE: i32 = 14;
276pub const SQLITE_CONFIG_GETPCACHE: i32 = 15;
277pub const SQLITE_CONFIG_LOG: i32 = 16;
278pub const SQLITE_CONFIG_URI: i32 = 17;
279pub const SQLITE_CONFIG_PCACHE2: i32 = 18;
280pub const SQLITE_CONFIG_GETPCACHE2: i32 = 19;
281pub const SQLITE_CONFIG_COVERING_INDEX_SCAN: i32 = 20;
282pub const SQLITE_CONFIG_SQLLOG: i32 = 21;
283pub const SQLITE_CONFIG_MMAP_SIZE: i32 = 22;
284pub const SQLITE_CONFIG_WIN32_HEAPSIZE: i32 = 23;
285pub const SQLITE_CONFIG_PCACHE_HDRSZ: i32 = 24;
286pub const SQLITE_CONFIG_PMASZ: i32 = 25;
287pub const SQLITE_CONFIG_STMTJRNL_SPILL: i32 = 26;
288pub const SQLITE_CONFIG_SMALL_MALLOC: i32 = 27;
289pub const SQLITE_CONFIG_SORTERREF_SIZE: i32 = 28;
290pub const SQLITE_CONFIG_MEMDB_MAXSIZE: i32 = 29;
291pub const SQLITE_CONFIG_ROWID_IN_VIEW: i32 = 30;
292pub const SQLITE_DBCONFIG_MAINDBNAME: i32 = 1000;
293pub const SQLITE_DBCONFIG_LOOKASIDE: i32 = 1001;
294pub const SQLITE_DBCONFIG_ENABLE_FKEY: i32 = 1002;
295pub const SQLITE_DBCONFIG_ENABLE_TRIGGER: i32 = 1003;
296pub const SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER: i32 = 1004;
297pub const SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION: i32 = 1005;
298pub const SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE: i32 = 1006;
299pub const SQLITE_DBCONFIG_ENABLE_QPSG: i32 = 1007;
300pub const SQLITE_DBCONFIG_TRIGGER_EQP: i32 = 1008;
301pub const SQLITE_DBCONFIG_RESET_DATABASE: i32 = 1009;
302pub const SQLITE_DBCONFIG_DEFENSIVE: i32 = 1010;
303pub const SQLITE_DBCONFIG_WRITABLE_SCHEMA: i32 = 1011;
304pub const SQLITE_DBCONFIG_LEGACY_ALTER_TABLE: i32 = 1012;
305pub const SQLITE_DBCONFIG_DQS_DML: i32 = 1013;
306pub const SQLITE_DBCONFIG_DQS_DDL: i32 = 1014;
307pub const SQLITE_DBCONFIG_ENABLE_VIEW: i32 = 1015;
308pub const SQLITE_DBCONFIG_LEGACY_FILE_FORMAT: i32 = 1016;
309pub const SQLITE_DBCONFIG_TRUSTED_SCHEMA: i32 = 1017;
310pub const SQLITE_DBCONFIG_STMT_SCANSTATUS: i32 = 1018;
311pub const SQLITE_DBCONFIG_REVERSE_SCANORDER: i32 = 1019;
312pub const SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE: i32 = 1020;
313pub const SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE: i32 = 1021;
314pub const SQLITE_DBCONFIG_ENABLE_COMMENTS: i32 = 1022;
315pub const SQLITE_DBCONFIG_FP_DIGITS: i32 = 1023;
316pub const SQLITE_DBCONFIG_MAX: i32 = 1023;
317pub const SQLITE_SETLK_BLOCK_ON_CONNECT: i32 = 1;
318pub const SQLITE_DENY: i32 = 1;
319pub const SQLITE_IGNORE: i32 = 2;
320pub const SQLITE_CREATE_INDEX: i32 = 1;
321pub const SQLITE_CREATE_TABLE: i32 = 2;
322pub const SQLITE_CREATE_TEMP_INDEX: i32 = 3;
323pub const SQLITE_CREATE_TEMP_TABLE: i32 = 4;
324pub const SQLITE_CREATE_TEMP_TRIGGER: i32 = 5;
325pub const SQLITE_CREATE_TEMP_VIEW: i32 = 6;
326pub const SQLITE_CREATE_TRIGGER: i32 = 7;
327pub const SQLITE_CREATE_VIEW: i32 = 8;
328pub const SQLITE_DELETE: i32 = 9;
329pub const SQLITE_DROP_INDEX: i32 = 10;
330pub const SQLITE_DROP_TABLE: i32 = 11;
331pub const SQLITE_DROP_TEMP_INDEX: i32 = 12;
332pub const SQLITE_DROP_TEMP_TABLE: i32 = 13;
333pub const SQLITE_DROP_TEMP_TRIGGER: i32 = 14;
334pub const SQLITE_DROP_TEMP_VIEW: i32 = 15;
335pub const SQLITE_DROP_TRIGGER: i32 = 16;
336pub const SQLITE_DROP_VIEW: i32 = 17;
337pub const SQLITE_INSERT: i32 = 18;
338pub const SQLITE_PRAGMA: i32 = 19;
339pub const SQLITE_READ: i32 = 20;
340pub const SQLITE_SELECT: i32 = 21;
341pub const SQLITE_TRANSACTION: i32 = 22;
342pub const SQLITE_UPDATE: i32 = 23;
343pub const SQLITE_ATTACH: i32 = 24;
344pub const SQLITE_DETACH: i32 = 25;
345pub const SQLITE_ALTER_TABLE: i32 = 26;
346pub const SQLITE_REINDEX: i32 = 27;
347pub const SQLITE_ANALYZE: i32 = 28;
348pub const SQLITE_CREATE_VTABLE: i32 = 29;
349pub const SQLITE_DROP_VTABLE: i32 = 30;
350pub const SQLITE_FUNCTION: i32 = 31;
351pub const SQLITE_SAVEPOINT: i32 = 32;
352pub const SQLITE_COPY: i32 = 0;
353pub const SQLITE_RECURSIVE: i32 = 33;
354pub const SQLITE_TRACE_STMT: ::core::ffi::c_uint = 1;
355pub const SQLITE_TRACE_PROFILE: ::core::ffi::c_uint = 2;
356pub const SQLITE_TRACE_ROW: ::core::ffi::c_uint = 4;
357pub const SQLITE_TRACE_CLOSE: ::core::ffi::c_uint = 8;
358pub const SQLITE_LIMIT_LENGTH: i32 = 0;
359pub const SQLITE_LIMIT_SQL_LENGTH: i32 = 1;
360pub const SQLITE_LIMIT_COLUMN: i32 = 2;
361pub const SQLITE_LIMIT_EXPR_DEPTH: i32 = 3;
362pub const SQLITE_LIMIT_COMPOUND_SELECT: i32 = 4;
363pub const SQLITE_LIMIT_VDBE_OP: i32 = 5;
364pub const SQLITE_LIMIT_FUNCTION_ARG: i32 = 6;
365pub const SQLITE_LIMIT_ATTACHED: i32 = 7;
366pub const SQLITE_LIMIT_LIKE_PATTERN_LENGTH: i32 = 8;
367pub const SQLITE_LIMIT_VARIABLE_NUMBER: i32 = 9;
368pub const SQLITE_LIMIT_TRIGGER_DEPTH: i32 = 10;
369pub const SQLITE_LIMIT_WORKER_THREADS: i32 = 11;
370pub const SQLITE_LIMIT_PARSER_DEPTH: i32 = 12;
371pub const SQLITE_PREPARE_PERSISTENT: ::core::ffi::c_uint = 1;
372pub const SQLITE_PREPARE_NORMALIZE: ::core::ffi::c_uint = 2;
373pub const SQLITE_PREPARE_NO_VTAB: ::core::ffi::c_uint = 4;
374pub const SQLITE_PREPARE_DONT_LOG: ::core::ffi::c_uint = 16;
375pub const SQLITE_PREPARE_FROM_DDL: ::core::ffi::c_uint = 32;
376pub const SQLITE_INTEGER: i32 = 1;
377pub const SQLITE_FLOAT: i32 = 2;
378pub const SQLITE_BLOB: i32 = 4;
379pub const SQLITE_NULL: i32 = 5;
380pub const SQLITE_TEXT: i32 = 3;
381pub const SQLITE3_TEXT: i32 = 3;
382pub const SQLITE_UTF8: i32 = 1;
383pub const SQLITE_UTF16LE: i32 = 2;
384pub const SQLITE_UTF16BE: i32 = 3;
385pub const SQLITE_UTF16: i32 = 4;
386pub const SQLITE_ANY: i32 = 5;
387pub const SQLITE_UTF16_ALIGNED: i32 = 8;
388pub const SQLITE_UTF8_ZT: i32 = 16;
389pub const SQLITE_DETERMINISTIC: i32 = 2048;
390pub const SQLITE_DIRECTONLY: i32 = 524288;
391pub const SQLITE_SUBTYPE: i32 = 1048576;
392pub const SQLITE_INNOCUOUS: i32 = 2097152;
393pub const SQLITE_RESULT_SUBTYPE: i32 = 16777216;
394pub const SQLITE_SELFORDER1: i32 = 33554432;
395pub const SQLITE_WIN32_DATA_DIRECTORY_TYPE: i32 = 1;
396pub const SQLITE_WIN32_TEMP_DIRECTORY_TYPE: i32 = 2;
397pub const SQLITE_TXN_NONE: i32 = 0;
398pub const SQLITE_TXN_READ: i32 = 1;
399pub const SQLITE_TXN_WRITE: i32 = 2;
400pub const SQLITE_INDEX_SCAN_UNIQUE: i32 = 1;
401pub const SQLITE_INDEX_SCAN_HEX: i32 = 2;
402pub const SQLITE_INDEX_CONSTRAINT_EQ: i32 = 2;
403pub const SQLITE_INDEX_CONSTRAINT_GT: i32 = 4;
404pub const SQLITE_INDEX_CONSTRAINT_LE: i32 = 8;
405pub const SQLITE_INDEX_CONSTRAINT_LT: i32 = 16;
406pub const SQLITE_INDEX_CONSTRAINT_GE: i32 = 32;
407pub const SQLITE_INDEX_CONSTRAINT_MATCH: i32 = 64;
408pub const SQLITE_INDEX_CONSTRAINT_LIKE: i32 = 65;
409pub const SQLITE_INDEX_CONSTRAINT_GLOB: i32 = 66;
410pub const SQLITE_INDEX_CONSTRAINT_REGEXP: i32 = 67;
411pub const SQLITE_INDEX_CONSTRAINT_NE: i32 = 68;
412pub const SQLITE_INDEX_CONSTRAINT_ISNOT: i32 = 69;
413pub const SQLITE_INDEX_CONSTRAINT_ISNOTNULL: i32 = 70;
414pub const SQLITE_INDEX_CONSTRAINT_ISNULL: i32 = 71;
415pub const SQLITE_INDEX_CONSTRAINT_IS: i32 = 72;
416pub const SQLITE_INDEX_CONSTRAINT_LIMIT: i32 = 73;
417pub const SQLITE_INDEX_CONSTRAINT_OFFSET: i32 = 74;
418pub const SQLITE_INDEX_CONSTRAINT_FUNCTION: i32 = 150;
419pub const SQLITE_MUTEX_FAST: i32 = 0;
420pub const SQLITE_MUTEX_RECURSIVE: i32 = 1;
421pub const SQLITE_MUTEX_STATIC_MAIN: i32 = 2;
422pub const SQLITE_MUTEX_STATIC_MEM: i32 = 3;
423pub const SQLITE_MUTEX_STATIC_MEM2: i32 = 4;
424pub const SQLITE_MUTEX_STATIC_OPEN: i32 = 4;
425pub const SQLITE_MUTEX_STATIC_PRNG: i32 = 5;
426pub const SQLITE_MUTEX_STATIC_LRU: i32 = 6;
427pub const SQLITE_MUTEX_STATIC_LRU2: i32 = 7;
428pub const SQLITE_MUTEX_STATIC_PMEM: i32 = 7;
429pub const SQLITE_MUTEX_STATIC_APP1: i32 = 8;
430pub const SQLITE_MUTEX_STATIC_APP2: i32 = 9;
431pub const SQLITE_MUTEX_STATIC_APP3: i32 = 10;
432pub const SQLITE_MUTEX_STATIC_VFS1: i32 = 11;
433pub const SQLITE_MUTEX_STATIC_VFS2: i32 = 12;
434pub const SQLITE_MUTEX_STATIC_VFS3: i32 = 13;
435pub const SQLITE_MUTEX_STATIC_MASTER: i32 = 2;
436pub const SQLITE_TESTCTRL_FIRST: i32 = 5;
437pub const SQLITE_TESTCTRL_PRNG_SAVE: i32 = 5;
438pub const SQLITE_TESTCTRL_PRNG_RESTORE: i32 = 6;
439pub const SQLITE_TESTCTRL_PRNG_RESET: i32 = 7;
440pub const SQLITE_TESTCTRL_FK_NO_ACTION: i32 = 7;
441pub const SQLITE_TESTCTRL_BITVEC_TEST: i32 = 8;
442pub const SQLITE_TESTCTRL_FAULT_INSTALL: i32 = 9;
443pub const SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS: i32 = 10;
444pub const SQLITE_TESTCTRL_PENDING_BYTE: i32 = 11;
445pub const SQLITE_TESTCTRL_ASSERT: i32 = 12;
446pub const SQLITE_TESTCTRL_ALWAYS: i32 = 13;
447pub const SQLITE_TESTCTRL_RESERVE: i32 = 14;
448pub const SQLITE_TESTCTRL_JSON_SELFCHECK: i32 = 14;
449pub const SQLITE_TESTCTRL_OPTIMIZATIONS: i32 = 15;
450pub const SQLITE_TESTCTRL_ISKEYWORD: i32 = 16;
451pub const SQLITE_TESTCTRL_GETOPT: i32 = 16;
452pub const SQLITE_TESTCTRL_SCRATCHMALLOC: i32 = 17;
453pub const SQLITE_TESTCTRL_INTERNAL_FUNCTIONS: i32 = 17;
454pub const SQLITE_TESTCTRL_LOCALTIME_FAULT: i32 = 18;
455pub const SQLITE_TESTCTRL_EXPLAIN_STMT: i32 = 19;
456pub const SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD: i32 = 19;
457pub const SQLITE_TESTCTRL_NEVER_CORRUPT: i32 = 20;
458pub const SQLITE_TESTCTRL_VDBE_COVERAGE: i32 = 21;
459pub const SQLITE_TESTCTRL_BYTEORDER: i32 = 22;
460pub const SQLITE_TESTCTRL_ISINIT: i32 = 23;
461pub const SQLITE_TESTCTRL_SORTER_MMAP: i32 = 24;
462pub const SQLITE_TESTCTRL_IMPOSTER: i32 = 25;
463pub const SQLITE_TESTCTRL_PARSER_COVERAGE: i32 = 26;
464pub const SQLITE_TESTCTRL_RESULT_INTREAL: i32 = 27;
465pub const SQLITE_TESTCTRL_PRNG_SEED: i32 = 28;
466pub const SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS: i32 = 29;
467pub const SQLITE_TESTCTRL_SEEK_COUNT: i32 = 30;
468pub const SQLITE_TESTCTRL_TRACEFLAGS: i32 = 31;
469pub const SQLITE_TESTCTRL_TUNE: i32 = 32;
470pub const SQLITE_TESTCTRL_LOGEST: i32 = 33;
471pub const SQLITE_TESTCTRL_USELONGDOUBLE: i32 = 34;
472pub const SQLITE_TESTCTRL_ATOF: i32 = 34;
473pub const SQLITE_TESTCTRL_LAST: i32 = 34;
474pub const SQLITE_STATUS_MEMORY_USED: i32 = 0;
475pub const SQLITE_STATUS_PAGECACHE_USED: i32 = 1;
476pub const SQLITE_STATUS_PAGECACHE_OVERFLOW: i32 = 2;
477pub const SQLITE_STATUS_SCRATCH_USED: i32 = 3;
478pub const SQLITE_STATUS_SCRATCH_OVERFLOW: i32 = 4;
479pub const SQLITE_STATUS_MALLOC_SIZE: i32 = 5;
480pub const SQLITE_STATUS_PARSER_STACK: i32 = 6;
481pub const SQLITE_STATUS_PAGECACHE_SIZE: i32 = 7;
482pub const SQLITE_STATUS_SCRATCH_SIZE: i32 = 8;
483pub const SQLITE_STATUS_MALLOC_COUNT: i32 = 9;
484pub const SQLITE_DBSTATUS_LOOKASIDE_USED: i32 = 0;
485pub const SQLITE_DBSTATUS_CACHE_USED: i32 = 1;
486pub const SQLITE_DBSTATUS_SCHEMA_USED: i32 = 2;
487pub const SQLITE_DBSTATUS_STMT_USED: i32 = 3;
488pub const SQLITE_DBSTATUS_LOOKASIDE_HIT: i32 = 4;
489pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE: i32 = 5;
490pub const SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL: i32 = 6;
491pub const SQLITE_DBSTATUS_CACHE_HIT: i32 = 7;
492pub const SQLITE_DBSTATUS_CACHE_MISS: i32 = 8;
493pub const SQLITE_DBSTATUS_CACHE_WRITE: i32 = 9;
494pub const SQLITE_DBSTATUS_DEFERRED_FKS: i32 = 10;
495pub const SQLITE_DBSTATUS_CACHE_USED_SHARED: i32 = 11;
496pub const SQLITE_DBSTATUS_CACHE_SPILL: i32 = 12;
497pub const SQLITE_DBSTATUS_TEMPBUF_SPILL: i32 = 13;
498pub const SQLITE_DBSTATUS_MAX: i32 = 13;
499pub const SQLITE_STMTSTATUS_FULLSCAN_STEP: i32 = 1;
500pub const SQLITE_STMTSTATUS_SORT: i32 = 2;
501pub const SQLITE_STMTSTATUS_AUTOINDEX: i32 = 3;
502pub const SQLITE_STMTSTATUS_VM_STEP: i32 = 4;
503pub const SQLITE_STMTSTATUS_REPREPARE: i32 = 5;
504pub const SQLITE_STMTSTATUS_RUN: i32 = 6;
505pub const SQLITE_STMTSTATUS_FILTER_MISS: i32 = 7;
506pub const SQLITE_STMTSTATUS_FILTER_HIT: i32 = 8;
507pub const SQLITE_STMTSTATUS_MEMUSED: i32 = 99;
508pub const SQLITE_CHECKPOINT_NOOP: i32 = -1;
509pub const SQLITE_CHECKPOINT_PASSIVE: i32 = 0;
510pub const SQLITE_CHECKPOINT_FULL: i32 = 1;
511pub const SQLITE_CHECKPOINT_RESTART: i32 = 2;
512pub const SQLITE_CHECKPOINT_TRUNCATE: i32 = 3;
513pub const SQLITE_VTAB_CONSTRAINT_SUPPORT: i32 = 1;
514pub const SQLITE_VTAB_INNOCUOUS: i32 = 2;
515pub const SQLITE_VTAB_DIRECTONLY: i32 = 3;
516pub const SQLITE_VTAB_USES_ALL_SCHEMAS: i32 = 4;
517pub const SQLITE_ROLLBACK: i32 = 1;
518pub const SQLITE_FAIL: i32 = 3;
519pub const SQLITE_REPLACE: i32 = 5;
520pub const SQLITE_SCANSTAT_NLOOP: i32 = 0;
521pub const SQLITE_SCANSTAT_NVISIT: i32 = 1;
522pub const SQLITE_SCANSTAT_EST: i32 = 2;
523pub const SQLITE_SCANSTAT_NAME: i32 = 3;
524pub const SQLITE_SCANSTAT_EXPLAIN: i32 = 4;
525pub const SQLITE_SCANSTAT_SELECTID: i32 = 5;
526pub const SQLITE_SCANSTAT_PARENTID: i32 = 6;
527pub const SQLITE_SCANSTAT_NCYCLE: i32 = 7;
528pub const SQLITE_SCANSTAT_COMPLEX: i32 = 1;
529pub const SQLITE_SERIALIZE_NOCOPY: ::core::ffi::c_uint = 1;
530pub const SQLITE_DESERIALIZE_FREEONCLOSE: ::core::ffi::c_uint = 1;
531pub const SQLITE_DESERIALIZE_RESIZEABLE: ::core::ffi::c_uint = 2;
532pub const SQLITE_DESERIALIZE_READONLY: ::core::ffi::c_uint = 4;
533pub const SQLITE_CARRAY_INT32: i32 = 0;
534pub const SQLITE_CARRAY_INT64: i32 = 1;
535pub const SQLITE_CARRAY_DOUBLE: i32 = 2;
536pub const SQLITE_CARRAY_TEXT: i32 = 3;
537pub const SQLITE_CARRAY_BLOB: i32 = 4;
538pub const CARRAY_INT32: i32 = 0;
539pub const CARRAY_INT64: i32 = 1;
540pub const CARRAY_DOUBLE: i32 = 2;
541pub const CARRAY_TEXT: i32 = 3;
542pub const CARRAY_BLOB: i32 = 4;
543pub const NOT_WITHIN: i32 = 0;
544pub const PARTLY_WITHIN: i32 = 1;
545pub const FULLY_WITHIN: i32 = 2;
546pub const SQLITE_SESSION_OBJCONFIG_SIZE: i32 = 1;
547pub const SQLITE_SESSION_OBJCONFIG_ROWID: i32 = 2;
548pub const SQLITE_CHANGESETSTART_INVERT: i32 = 2;
549pub const SQLITE_CHANGESETAPPLY_NOSAVEPOINT: i32 = 1;
550pub const SQLITE_CHANGESETAPPLY_INVERT: i32 = 2;
551pub const SQLITE_CHANGESETAPPLY_IGNORENOOP: i32 = 4;
552pub const SQLITE_CHANGESETAPPLY_FKNOACTION: i32 = 8;
553pub const SQLITE_CHANGESET_DATA: i32 = 1;
554pub const SQLITE_CHANGESET_NOTFOUND: i32 = 2;
555pub const SQLITE_CHANGESET_CONFLICT: i32 = 3;
556pub const SQLITE_CHANGESET_CONSTRAINT: i32 = 4;
557pub const SQLITE_CHANGESET_FOREIGN_KEY: i32 = 5;
558pub const SQLITE_CHANGESET_OMIT: i32 = 0;
559pub const SQLITE_CHANGESET_REPLACE: i32 = 1;
560pub const SQLITE_CHANGESET_ABORT: i32 = 2;
561pub const SQLITE_SESSION_CONFIG_STRMSIZE: i32 = 1;
562pub const SQLITE_CHANGEGROUP_CONFIG_PATCHSET: i32 = 1;
563pub const FTS5_TOKENIZE_QUERY: i32 = 1;
564pub const FTS5_TOKENIZE_PREFIX: i32 = 2;
565pub const FTS5_TOKENIZE_DOCUMENT: i32 = 4;
566pub const FTS5_TOKENIZE_AUX: i32 = 8;
567pub const FTS5_TOKEN_COLOCATED: i32 = 1;
568extern "C" {
569 pub static sqlite3_version: [::core::ffi::c_char; 0usize];
570}
571extern "C" {
572 pub fn sqlite3_libversion() -> *const ::core::ffi::c_char;
573}
574extern "C" {
575 pub fn sqlite3_sourceid() -> *const ::core::ffi::c_char;
576}
577extern "C" {
578 pub fn sqlite3_libversion_number() -> ::core::ffi::c_int;
579}
580extern "C" {
581 pub fn sqlite3_compileoption_used(
582 zOptName: *const ::core::ffi::c_char,
583 ) -> ::core::ffi::c_int;
584}
585extern "C" {
586 pub fn sqlite3_compileoption_get(
587 N: ::core::ffi::c_int,
588 ) -> *const ::core::ffi::c_char;
589}
590extern "C" {
591 pub fn sqlite3_threadsafe() -> ::core::ffi::c_int;
592}
593#[repr(C)]
594#[derive(Debug, Copy, Clone)]
595pub struct sqlite3 {
596 _unused: [u8; 0],
597}
598pub type sqlite_int64 = ::core::ffi::c_longlong;
599pub type sqlite_uint64 = ::core::ffi::c_ulonglong;
600pub type sqlite3_int64 = sqlite_int64;
601pub type sqlite3_uint64 = sqlite_uint64;
602extern "C" {
603 pub fn sqlite3_close(arg1: *mut sqlite3) -> ::core::ffi::c_int;
604}
605pub type sqlite3_callback = ::core::option::Option<
606 unsafe extern "C" fn(
607 arg1: *mut ::core::ffi::c_void,
608 arg2: ::core::ffi::c_int,
609 arg3: *mut *mut ::core::ffi::c_char,
610 arg4: *mut *mut ::core::ffi::c_char,
611 ) -> ::core::ffi::c_int,
612>;
613extern "C" {
614 pub fn sqlite3_exec(
615 arg1: *mut sqlite3,
616 sql: *const ::core::ffi::c_char,
617 callback: ::core::option::Option<
618 unsafe extern "C" fn(
619 arg1: *mut ::core::ffi::c_void,
620 arg2: ::core::ffi::c_int,
621 arg3: *mut *mut ::core::ffi::c_char,
622 arg4: *mut *mut ::core::ffi::c_char,
623 ) -> ::core::ffi::c_int,
624 >,
625 arg2: *mut ::core::ffi::c_void,
626 errmsg: *mut *mut ::core::ffi::c_char,
627 ) -> ::core::ffi::c_int;
628}
629#[repr(C)]
630#[derive(Debug, Copy, Clone)]
631pub struct sqlite3_file {
632 pub pMethods: *const sqlite3_io_methods,
633}
634#[repr(C)]
635#[derive(Debug, Copy, Clone)]
636pub struct sqlite3_io_methods {
637 pub iVersion: ::core::ffi::c_int,
638 pub xClose: ::core::option::Option<
639 unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::core::ffi::c_int,
640 >,
641 pub xRead: ::core::option::Option<
642 unsafe extern "C" fn(
643 arg1: *mut sqlite3_file,
644 arg2: *mut ::core::ffi::c_void,
645 iAmt: ::core::ffi::c_int,
646 iOfst: sqlite3_int64,
647 ) -> ::core::ffi::c_int,
648 >,
649 pub xWrite: ::core::option::Option<
650 unsafe extern "C" fn(
651 arg1: *mut sqlite3_file,
652 arg2: *const ::core::ffi::c_void,
653 iAmt: ::core::ffi::c_int,
654 iOfst: sqlite3_int64,
655 ) -> ::core::ffi::c_int,
656 >,
657 pub xTruncate: ::core::option::Option<
658 unsafe extern "C" fn(
659 arg1: *mut sqlite3_file,
660 size: sqlite3_int64,
661 ) -> ::core::ffi::c_int,
662 >,
663 pub xSync: ::core::option::Option<
664 unsafe extern "C" fn(
665 arg1: *mut sqlite3_file,
666 flags: ::core::ffi::c_int,
667 ) -> ::core::ffi::c_int,
668 >,
669 pub xFileSize: ::core::option::Option<
670 unsafe extern "C" fn(
671 arg1: *mut sqlite3_file,
672 pSize: *mut sqlite3_int64,
673 ) -> ::core::ffi::c_int,
674 >,
675 pub xLock: ::core::option::Option<
676 unsafe extern "C" fn(
677 arg1: *mut sqlite3_file,
678 arg2: ::core::ffi::c_int,
679 ) -> ::core::ffi::c_int,
680 >,
681 pub xUnlock: ::core::option::Option<
682 unsafe extern "C" fn(
683 arg1: *mut sqlite3_file,
684 arg2: ::core::ffi::c_int,
685 ) -> ::core::ffi::c_int,
686 >,
687 pub xCheckReservedLock: ::core::option::Option<
688 unsafe extern "C" fn(
689 arg1: *mut sqlite3_file,
690 pResOut: *mut ::core::ffi::c_int,
691 ) -> ::core::ffi::c_int,
692 >,
693 pub xFileControl: ::core::option::Option<
694 unsafe extern "C" fn(
695 arg1: *mut sqlite3_file,
696 op: ::core::ffi::c_int,
697 pArg: *mut ::core::ffi::c_void,
698 ) -> ::core::ffi::c_int,
699 >,
700 pub xSectorSize: ::core::option::Option<
701 unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::core::ffi::c_int,
702 >,
703 pub xDeviceCharacteristics: ::core::option::Option<
704 unsafe extern "C" fn(arg1: *mut sqlite3_file) -> ::core::ffi::c_int,
705 >,
706 pub xShmMap: ::core::option::Option<
707 unsafe extern "C" fn(
708 arg1: *mut sqlite3_file,
709 iPg: ::core::ffi::c_int,
710 pgsz: ::core::ffi::c_int,
711 arg2: ::core::ffi::c_int,
712 arg3: *mut *mut ::core::ffi::c_void,
713 ) -> ::core::ffi::c_int,
714 >,
715 pub xShmLock: ::core::option::Option<
716 unsafe extern "C" fn(
717 arg1: *mut sqlite3_file,
718 offset: ::core::ffi::c_int,
719 n: ::core::ffi::c_int,
720 flags: ::core::ffi::c_int,
721 ) -> ::core::ffi::c_int,
722 >,
723 pub xShmBarrier: ::core::option::Option<
724 unsafe extern "C" fn(arg1: *mut sqlite3_file),
725 >,
726 pub xShmUnmap: ::core::option::Option<
727 unsafe extern "C" fn(
728 arg1: *mut sqlite3_file,
729 deleteFlag: ::core::ffi::c_int,
730 ) -> ::core::ffi::c_int,
731 >,
732 pub xFetch: ::core::option::Option<
733 unsafe extern "C" fn(
734 arg1: *mut sqlite3_file,
735 iOfst: sqlite3_int64,
736 iAmt: ::core::ffi::c_int,
737 pp: *mut *mut ::core::ffi::c_void,
738 ) -> ::core::ffi::c_int,
739 >,
740 pub xUnfetch: ::core::option::Option<
741 unsafe extern "C" fn(
742 arg1: *mut sqlite3_file,
743 iOfst: sqlite3_int64,
744 p: *mut ::core::ffi::c_void,
745 ) -> ::core::ffi::c_int,
746 >,
747}
748#[repr(C)]
749#[derive(Debug, Copy, Clone)]
750pub struct sqlite3_mutex {
751 _unused: [u8; 0],
752}
753#[repr(C)]
754#[derive(Debug, Copy, Clone)]
755pub struct sqlite3_api_routines {
756 _unused: [u8; 0],
757}
758pub type sqlite3_filename = *const ::core::ffi::c_char;
759pub type sqlite3_syscall_ptr = ::core::option::Option<unsafe extern "C" fn()>;
760#[repr(C)]
761#[derive(Debug, Copy, Clone)]
762pub struct sqlite3_vfs {
763 pub iVersion: ::core::ffi::c_int,
764 pub szOsFile: ::core::ffi::c_int,
765 pub mxPathname: ::core::ffi::c_int,
766 pub pNext: *mut sqlite3_vfs,
767 pub zName: *const ::core::ffi::c_char,
768 pub pAppData: *mut ::core::ffi::c_void,
769 pub xOpen: ::core::option::Option<
770 unsafe extern "C" fn(
771 arg1: *mut sqlite3_vfs,
772 zName: sqlite3_filename,
773 arg2: *mut sqlite3_file,
774 flags: ::core::ffi::c_int,
775 pOutFlags: *mut ::core::ffi::c_int,
776 ) -> ::core::ffi::c_int,
777 >,
778 pub xDelete: ::core::option::Option<
779 unsafe extern "C" fn(
780 arg1: *mut sqlite3_vfs,
781 zName: *const ::core::ffi::c_char,
782 syncDir: ::core::ffi::c_int,
783 ) -> ::core::ffi::c_int,
784 >,
785 pub xAccess: ::core::option::Option<
786 unsafe extern "C" fn(
787 arg1: *mut sqlite3_vfs,
788 zName: *const ::core::ffi::c_char,
789 flags: ::core::ffi::c_int,
790 pResOut: *mut ::core::ffi::c_int,
791 ) -> ::core::ffi::c_int,
792 >,
793 pub xFullPathname: ::core::option::Option<
794 unsafe extern "C" fn(
795 arg1: *mut sqlite3_vfs,
796 zName: *const ::core::ffi::c_char,
797 nOut: ::core::ffi::c_int,
798 zOut: *mut ::core::ffi::c_char,
799 ) -> ::core::ffi::c_int,
800 >,
801 pub xDlOpen: ::core::option::Option<
802 unsafe extern "C" fn(
803 arg1: *mut sqlite3_vfs,
804 zFilename: *const ::core::ffi::c_char,
805 ) -> *mut ::core::ffi::c_void,
806 >,
807 pub xDlError: ::core::option::Option<
808 unsafe extern "C" fn(
809 arg1: *mut sqlite3_vfs,
810 nByte: ::core::ffi::c_int,
811 zErrMsg: *mut ::core::ffi::c_char,
812 ),
813 >,
814 pub xDlSym: ::core::option::Option<
815 unsafe extern "C" fn(
816 arg1: *mut sqlite3_vfs,
817 arg2: *mut ::core::ffi::c_void,
818 zSymbol: *const ::core::ffi::c_char,
819 ) -> ::core::option::Option<
820 unsafe extern "C" fn(
821 arg1: *mut sqlite3_vfs,
822 arg2: *mut ::core::ffi::c_void,
823 zSymbol: *const ::core::ffi::c_char,
824 ),
825 >,
826 >,
827 pub xDlClose: ::core::option::Option<
828 unsafe extern "C" fn(arg1: *mut sqlite3_vfs, arg2: *mut ::core::ffi::c_void),
829 >,
830 pub xRandomness: ::core::option::Option<
831 unsafe extern "C" fn(
832 arg1: *mut sqlite3_vfs,
833 nByte: ::core::ffi::c_int,
834 zOut: *mut ::core::ffi::c_char,
835 ) -> ::core::ffi::c_int,
836 >,
837 pub xSleep: ::core::option::Option<
838 unsafe extern "C" fn(
839 arg1: *mut sqlite3_vfs,
840 microseconds: ::core::ffi::c_int,
841 ) -> ::core::ffi::c_int,
842 >,
843 pub xCurrentTime: ::core::option::Option<
844 unsafe extern "C" fn(
845 arg1: *mut sqlite3_vfs,
846 arg2: *mut f64,
847 ) -> ::core::ffi::c_int,
848 >,
849 pub xGetLastError: ::core::option::Option<
850 unsafe extern "C" fn(
851 arg1: *mut sqlite3_vfs,
852 arg2: ::core::ffi::c_int,
853 arg3: *mut ::core::ffi::c_char,
854 ) -> ::core::ffi::c_int,
855 >,
856 pub xCurrentTimeInt64: ::core::option::Option<
857 unsafe extern "C" fn(
858 arg1: *mut sqlite3_vfs,
859 arg2: *mut sqlite3_int64,
860 ) -> ::core::ffi::c_int,
861 >,
862 pub xSetSystemCall: ::core::option::Option<
863 unsafe extern "C" fn(
864 arg1: *mut sqlite3_vfs,
865 zName: *const ::core::ffi::c_char,
866 arg2: sqlite3_syscall_ptr,
867 ) -> ::core::ffi::c_int,
868 >,
869 pub xGetSystemCall: ::core::option::Option<
870 unsafe extern "C" fn(
871 arg1: *mut sqlite3_vfs,
872 zName: *const ::core::ffi::c_char,
873 ) -> sqlite3_syscall_ptr,
874 >,
875 pub xNextSystemCall: ::core::option::Option<
876 unsafe extern "C" fn(
877 arg1: *mut sqlite3_vfs,
878 zName: *const ::core::ffi::c_char,
879 ) -> *const ::core::ffi::c_char,
880 >,
881}
882extern "C" {
883 pub fn sqlite3_initialize() -> ::core::ffi::c_int;
884}
885extern "C" {
886 pub fn sqlite3_shutdown() -> ::core::ffi::c_int;
887}
888extern "C" {
889 pub fn sqlite3_os_init() -> ::core::ffi::c_int;
890}
891extern "C" {
892 pub fn sqlite3_os_end() -> ::core::ffi::c_int;
893}
894extern "C" {
895 pub fn sqlite3_config(arg1: ::core::ffi::c_int, ...) -> ::core::ffi::c_int;
896}
897extern "C" {
898 pub fn sqlite3_db_config(
899 arg1: *mut sqlite3,
900 op: ::core::ffi::c_int,
901 ...
902 ) -> ::core::ffi::c_int;
903}
904#[repr(C)]
905#[derive(Debug, Copy, Clone)]
906pub struct sqlite3_mem_methods {
907 pub xMalloc: ::core::option::Option<
908 unsafe extern "C" fn(arg1: ::core::ffi::c_int) -> *mut ::core::ffi::c_void,
909 >,
910 pub xFree: ::core::option::Option<
911 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
912 >,
913 pub xRealloc: ::core::option::Option<
914 unsafe extern "C" fn(
915 arg1: *mut ::core::ffi::c_void,
916 arg2: ::core::ffi::c_int,
917 ) -> *mut ::core::ffi::c_void,
918 >,
919 pub xSize: ::core::option::Option<
920 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
921 >,
922 pub xRoundup: ::core::option::Option<
923 unsafe extern "C" fn(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int,
924 >,
925 pub xInit: ::core::option::Option<
926 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
927 >,
928 pub xShutdown: ::core::option::Option<
929 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
930 >,
931 pub pAppData: *mut ::core::ffi::c_void,
932}
933extern "C" {
934 pub fn sqlite3_extended_result_codes(
935 arg1: *mut sqlite3,
936 onoff: ::core::ffi::c_int,
937 ) -> ::core::ffi::c_int;
938}
939extern "C" {
940 pub fn sqlite3_last_insert_rowid(arg1: *mut sqlite3) -> sqlite3_int64;
941}
942extern "C" {
943 pub fn sqlite3_set_last_insert_rowid(arg1: *mut sqlite3, arg2: sqlite3_int64);
944}
945extern "C" {
946 pub fn sqlite3_changes(arg1: *mut sqlite3) -> ::core::ffi::c_int;
947}
948extern "C" {
949 pub fn sqlite3_changes64(arg1: *mut sqlite3) -> sqlite3_int64;
950}
951extern "C" {
952 pub fn sqlite3_total_changes(arg1: *mut sqlite3) -> ::core::ffi::c_int;
953}
954extern "C" {
955 pub fn sqlite3_total_changes64(arg1: *mut sqlite3) -> sqlite3_int64;
956}
957extern "C" {
958 pub fn sqlite3_interrupt(arg1: *mut sqlite3);
959}
960extern "C" {
961 pub fn sqlite3_is_interrupted(arg1: *mut sqlite3) -> ::core::ffi::c_int;
962}
963extern "C" {
964 pub fn sqlite3_complete(sql: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
965}
966extern "C" {
967 pub fn sqlite3_busy_handler(
968 arg1: *mut sqlite3,
969 arg2: ::core::option::Option<
970 unsafe extern "C" fn(
971 arg1: *mut ::core::ffi::c_void,
972 arg2: ::core::ffi::c_int,
973 ) -> ::core::ffi::c_int,
974 >,
975 arg3: *mut ::core::ffi::c_void,
976 ) -> ::core::ffi::c_int;
977}
978extern "C" {
979 pub fn sqlite3_busy_timeout(
980 arg1: *mut sqlite3,
981 ms: ::core::ffi::c_int,
982 ) -> ::core::ffi::c_int;
983}
984extern "C" {
985 pub fn sqlite3_setlk_timeout(
986 arg1: *mut sqlite3,
987 ms: ::core::ffi::c_int,
988 flags: ::core::ffi::c_int,
989 ) -> ::core::ffi::c_int;
990}
991extern "C" {
992 pub fn sqlite3_get_table(
993 db: *mut sqlite3,
994 zSql: *const ::core::ffi::c_char,
995 pazResult: *mut *mut *mut ::core::ffi::c_char,
996 pnRow: *mut ::core::ffi::c_int,
997 pnColumn: *mut ::core::ffi::c_int,
998 pzErrmsg: *mut *mut ::core::ffi::c_char,
999 ) -> ::core::ffi::c_int;
1000}
1001extern "C" {
1002 pub fn sqlite3_free_table(result: *mut *mut ::core::ffi::c_char);
1003}
1004extern "C" {
1005 pub fn sqlite3_mprintf(
1006 arg1: *const ::core::ffi::c_char,
1007 ...
1008 ) -> *mut ::core::ffi::c_char;
1009}
1010extern "C" {
1011 pub fn sqlite3_snprintf(
1012 arg1: ::core::ffi::c_int,
1013 arg2: *mut ::core::ffi::c_char,
1014 arg3: *const ::core::ffi::c_char,
1015 ...
1016 ) -> *mut ::core::ffi::c_char;
1017}
1018extern "C" {
1019 pub fn sqlite3_malloc(arg1: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
1020}
1021extern "C" {
1022 pub fn sqlite3_malloc64(arg1: sqlite3_uint64) -> *mut ::core::ffi::c_void;
1023}
1024extern "C" {
1025 pub fn sqlite3_realloc(
1026 arg1: *mut ::core::ffi::c_void,
1027 arg2: ::core::ffi::c_int,
1028 ) -> *mut ::core::ffi::c_void;
1029}
1030extern "C" {
1031 pub fn sqlite3_realloc64(
1032 arg1: *mut ::core::ffi::c_void,
1033 arg2: sqlite3_uint64,
1034 ) -> *mut ::core::ffi::c_void;
1035}
1036extern "C" {
1037 pub fn sqlite3_free(arg1: *mut ::core::ffi::c_void);
1038}
1039extern "C" {
1040 pub fn sqlite3_msize(arg1: *mut ::core::ffi::c_void) -> sqlite3_uint64;
1041}
1042extern "C" {
1043 pub fn sqlite3_memory_used() -> sqlite3_int64;
1044}
1045extern "C" {
1046 pub fn sqlite3_memory_highwater(resetFlag: ::core::ffi::c_int) -> sqlite3_int64;
1047}
1048extern "C" {
1049 pub fn sqlite3_randomness(N: ::core::ffi::c_int, P: *mut ::core::ffi::c_void);
1050}
1051extern "C" {
1052 pub fn sqlite3_set_authorizer(
1053 arg1: *mut sqlite3,
1054 xAuth: ::core::option::Option<
1055 unsafe extern "C" fn(
1056 arg1: *mut ::core::ffi::c_void,
1057 arg2: ::core::ffi::c_int,
1058 arg3: *const ::core::ffi::c_char,
1059 arg4: *const ::core::ffi::c_char,
1060 arg5: *const ::core::ffi::c_char,
1061 arg6: *const ::core::ffi::c_char,
1062 ) -> ::core::ffi::c_int,
1063 >,
1064 pUserData: *mut ::core::ffi::c_void,
1065 ) -> ::core::ffi::c_int;
1066}
1067extern "C" {
1068 pub fn sqlite3_trace_v2(
1069 arg1: *mut sqlite3,
1070 uMask: ::core::ffi::c_uint,
1071 xCallback: ::core::option::Option<
1072 unsafe extern "C" fn(
1073 arg1: ::core::ffi::c_uint,
1074 arg2: *mut ::core::ffi::c_void,
1075 arg3: *mut ::core::ffi::c_void,
1076 arg4: *mut ::core::ffi::c_void,
1077 ) -> ::core::ffi::c_int,
1078 >,
1079 pCtx: *mut ::core::ffi::c_void,
1080 ) -> ::core::ffi::c_int;
1081}
1082extern "C" {
1083 pub fn sqlite3_progress_handler(
1084 arg1: *mut sqlite3,
1085 arg2: ::core::ffi::c_int,
1086 arg3: ::core::option::Option<
1087 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
1088 >,
1089 arg4: *mut ::core::ffi::c_void,
1090 );
1091}
1092extern "C" {
1093 pub fn sqlite3_open(
1094 filename: *const ::core::ffi::c_char,
1095 ppDb: *mut *mut sqlite3,
1096 ) -> ::core::ffi::c_int;
1097}
1098extern "C" {
1099 pub fn sqlite3_open_v2(
1100 filename: *const ::core::ffi::c_char,
1101 ppDb: *mut *mut sqlite3,
1102 flags: ::core::ffi::c_int,
1103 zVfs: *const ::core::ffi::c_char,
1104 ) -> ::core::ffi::c_int;
1105}
1106extern "C" {
1107 pub fn sqlite3_uri_parameter(
1108 z: sqlite3_filename,
1109 zParam: *const ::core::ffi::c_char,
1110 ) -> *const ::core::ffi::c_char;
1111}
1112extern "C" {
1113 pub fn sqlite3_uri_boolean(
1114 z: sqlite3_filename,
1115 zParam: *const ::core::ffi::c_char,
1116 bDefault: ::core::ffi::c_int,
1117 ) -> ::core::ffi::c_int;
1118}
1119extern "C" {
1120 pub fn sqlite3_uri_int64(
1121 arg1: sqlite3_filename,
1122 arg2: *const ::core::ffi::c_char,
1123 arg3: sqlite3_int64,
1124 ) -> sqlite3_int64;
1125}
1126extern "C" {
1127 pub fn sqlite3_uri_key(
1128 z: sqlite3_filename,
1129 N: ::core::ffi::c_int,
1130 ) -> *const ::core::ffi::c_char;
1131}
1132extern "C" {
1133 pub fn sqlite3_filename_database(
1134 arg1: sqlite3_filename,
1135 ) -> *const ::core::ffi::c_char;
1136}
1137extern "C" {
1138 pub fn sqlite3_filename_journal(
1139 arg1: sqlite3_filename,
1140 ) -> *const ::core::ffi::c_char;
1141}
1142extern "C" {
1143 pub fn sqlite3_filename_wal(arg1: sqlite3_filename) -> *const ::core::ffi::c_char;
1144}
1145extern "C" {
1146 pub fn sqlite3_database_file_object(
1147 arg1: *const ::core::ffi::c_char,
1148 ) -> *mut sqlite3_file;
1149}
1150extern "C" {
1151 pub fn sqlite3_create_filename(
1152 zDatabase: *const ::core::ffi::c_char,
1153 zJournal: *const ::core::ffi::c_char,
1154 zWal: *const ::core::ffi::c_char,
1155 nParam: ::core::ffi::c_int,
1156 azParam: *mut *const ::core::ffi::c_char,
1157 ) -> sqlite3_filename;
1158}
1159extern "C" {
1160 pub fn sqlite3_free_filename(arg1: sqlite3_filename);
1161}
1162extern "C" {
1163 pub fn sqlite3_errcode(db: *mut sqlite3) -> ::core::ffi::c_int;
1164}
1165extern "C" {
1166 pub fn sqlite3_extended_errcode(db: *mut sqlite3) -> ::core::ffi::c_int;
1167}
1168extern "C" {
1169 pub fn sqlite3_errmsg(arg1: *mut sqlite3) -> *const ::core::ffi::c_char;
1170}
1171extern "C" {
1172 pub fn sqlite3_errstr(arg1: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
1173}
1174extern "C" {
1175 pub fn sqlite3_error_offset(db: *mut sqlite3) -> ::core::ffi::c_int;
1176}
1177extern "C" {
1178 pub fn sqlite3_set_errmsg(
1179 db: *mut sqlite3,
1180 errcode: ::core::ffi::c_int,
1181 zErrMsg: *const ::core::ffi::c_char,
1182 ) -> ::core::ffi::c_int;
1183}
1184#[repr(C)]
1185#[derive(Debug, Copy, Clone)]
1186pub struct sqlite3_stmt {
1187 _unused: [u8; 0],
1188}
1189extern "C" {
1190 pub fn sqlite3_limit(
1191 arg1: *mut sqlite3,
1192 id: ::core::ffi::c_int,
1193 newVal: ::core::ffi::c_int,
1194 ) -> ::core::ffi::c_int;
1195}
1196extern "C" {
1197 pub fn sqlite3_prepare_v2(
1198 db: *mut sqlite3,
1199 zSql: *const ::core::ffi::c_char,
1200 nByte: ::core::ffi::c_int,
1201 ppStmt: *mut *mut sqlite3_stmt,
1202 pzTail: *mut *const ::core::ffi::c_char,
1203 ) -> ::core::ffi::c_int;
1204}
1205extern "C" {
1206 pub fn sqlite3_prepare_v3(
1207 db: *mut sqlite3,
1208 zSql: *const ::core::ffi::c_char,
1209 nByte: ::core::ffi::c_int,
1210 prepFlags: ::core::ffi::c_uint,
1211 ppStmt: *mut *mut sqlite3_stmt,
1212 pzTail: *mut *const ::core::ffi::c_char,
1213 ) -> ::core::ffi::c_int;
1214}
1215extern "C" {
1216 pub fn sqlite3_sql(pStmt: *mut sqlite3_stmt) -> *const ::core::ffi::c_char;
1217}
1218extern "C" {
1219 pub fn sqlite3_expanded_sql(pStmt: *mut sqlite3_stmt) -> *mut ::core::ffi::c_char;
1220}
1221extern "C" {
1222 pub fn sqlite3_stmt_readonly(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1223}
1224extern "C" {
1225 pub fn sqlite3_stmt_isexplain(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1226}
1227extern "C" {
1228 pub fn sqlite3_stmt_explain(
1229 pStmt: *mut sqlite3_stmt,
1230 eMode: ::core::ffi::c_int,
1231 ) -> ::core::ffi::c_int;
1232}
1233extern "C" {
1234 pub fn sqlite3_stmt_busy(arg1: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1235}
1236#[repr(C)]
1237#[derive(Debug, Copy, Clone)]
1238pub struct sqlite3_value {
1239 _unused: [u8; 0],
1240}
1241#[repr(C)]
1242#[derive(Debug, Copy, Clone)]
1243pub struct sqlite3_context {
1244 _unused: [u8; 0],
1245}
1246extern "C" {
1247 pub fn sqlite3_bind_blob(
1248 arg1: *mut sqlite3_stmt,
1249 arg2: ::core::ffi::c_int,
1250 arg3: *const ::core::ffi::c_void,
1251 n: ::core::ffi::c_int,
1252 arg4: ::core::option::Option<
1253 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1254 >,
1255 ) -> ::core::ffi::c_int;
1256}
1257extern "C" {
1258 pub fn sqlite3_bind_blob64(
1259 arg1: *mut sqlite3_stmt,
1260 arg2: ::core::ffi::c_int,
1261 arg3: *const ::core::ffi::c_void,
1262 arg4: sqlite3_uint64,
1263 arg5: ::core::option::Option<
1264 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1265 >,
1266 ) -> ::core::ffi::c_int;
1267}
1268extern "C" {
1269 pub fn sqlite3_bind_double(
1270 arg1: *mut sqlite3_stmt,
1271 arg2: ::core::ffi::c_int,
1272 arg3: f64,
1273 ) -> ::core::ffi::c_int;
1274}
1275extern "C" {
1276 pub fn sqlite3_bind_int(
1277 arg1: *mut sqlite3_stmt,
1278 arg2: ::core::ffi::c_int,
1279 arg3: ::core::ffi::c_int,
1280 ) -> ::core::ffi::c_int;
1281}
1282extern "C" {
1283 pub fn sqlite3_bind_int64(
1284 arg1: *mut sqlite3_stmt,
1285 arg2: ::core::ffi::c_int,
1286 arg3: sqlite3_int64,
1287 ) -> ::core::ffi::c_int;
1288}
1289extern "C" {
1290 pub fn sqlite3_bind_null(
1291 arg1: *mut sqlite3_stmt,
1292 arg2: ::core::ffi::c_int,
1293 ) -> ::core::ffi::c_int;
1294}
1295extern "C" {
1296 pub fn sqlite3_bind_text(
1297 arg1: *mut sqlite3_stmt,
1298 arg2: ::core::ffi::c_int,
1299 arg3: *const ::core::ffi::c_char,
1300 arg4: ::core::ffi::c_int,
1301 arg5: ::core::option::Option<
1302 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1303 >,
1304 ) -> ::core::ffi::c_int;
1305}
1306extern "C" {
1307 pub fn sqlite3_bind_text64(
1308 arg1: *mut sqlite3_stmt,
1309 arg2: ::core::ffi::c_int,
1310 arg3: *const ::core::ffi::c_char,
1311 arg4: sqlite3_uint64,
1312 arg5: ::core::option::Option<
1313 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1314 >,
1315 encoding: ::core::ffi::c_uchar,
1316 ) -> ::core::ffi::c_int;
1317}
1318extern "C" {
1319 pub fn sqlite3_bind_value(
1320 arg1: *mut sqlite3_stmt,
1321 arg2: ::core::ffi::c_int,
1322 arg3: *const sqlite3_value,
1323 ) -> ::core::ffi::c_int;
1324}
1325extern "C" {
1326 pub fn sqlite3_bind_pointer(
1327 arg1: *mut sqlite3_stmt,
1328 arg2: ::core::ffi::c_int,
1329 arg3: *mut ::core::ffi::c_void,
1330 arg4: *const ::core::ffi::c_char,
1331 arg5: ::core::option::Option<
1332 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1333 >,
1334 ) -> ::core::ffi::c_int;
1335}
1336extern "C" {
1337 pub fn sqlite3_bind_zeroblob(
1338 arg1: *mut sqlite3_stmt,
1339 arg2: ::core::ffi::c_int,
1340 n: ::core::ffi::c_int,
1341 ) -> ::core::ffi::c_int;
1342}
1343extern "C" {
1344 pub fn sqlite3_bind_zeroblob64(
1345 arg1: *mut sqlite3_stmt,
1346 arg2: ::core::ffi::c_int,
1347 arg3: sqlite3_uint64,
1348 ) -> ::core::ffi::c_int;
1349}
1350extern "C" {
1351 pub fn sqlite3_bind_parameter_count(arg1: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1352}
1353extern "C" {
1354 pub fn sqlite3_bind_parameter_name(
1355 arg1: *mut sqlite3_stmt,
1356 arg2: ::core::ffi::c_int,
1357 ) -> *const ::core::ffi::c_char;
1358}
1359extern "C" {
1360 pub fn sqlite3_bind_parameter_index(
1361 arg1: *mut sqlite3_stmt,
1362 zName: *const ::core::ffi::c_char,
1363 ) -> ::core::ffi::c_int;
1364}
1365extern "C" {
1366 pub fn sqlite3_clear_bindings(arg1: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1367}
1368extern "C" {
1369 pub fn sqlite3_column_count(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1370}
1371extern "C" {
1372 pub fn sqlite3_column_name(
1373 arg1: *mut sqlite3_stmt,
1374 N: ::core::ffi::c_int,
1375 ) -> *const ::core::ffi::c_char;
1376}
1377extern "C" {
1378 pub fn sqlite3_column_database_name(
1379 arg1: *mut sqlite3_stmt,
1380 arg2: ::core::ffi::c_int,
1381 ) -> *const ::core::ffi::c_char;
1382}
1383extern "C" {
1384 pub fn sqlite3_column_table_name(
1385 arg1: *mut sqlite3_stmt,
1386 arg2: ::core::ffi::c_int,
1387 ) -> *const ::core::ffi::c_char;
1388}
1389extern "C" {
1390 pub fn sqlite3_column_origin_name(
1391 arg1: *mut sqlite3_stmt,
1392 arg2: ::core::ffi::c_int,
1393 ) -> *const ::core::ffi::c_char;
1394}
1395extern "C" {
1396 pub fn sqlite3_column_decltype(
1397 arg1: *mut sqlite3_stmt,
1398 arg2: ::core::ffi::c_int,
1399 ) -> *const ::core::ffi::c_char;
1400}
1401extern "C" {
1402 pub fn sqlite3_step(arg1: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1403}
1404extern "C" {
1405 pub fn sqlite3_data_count(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1406}
1407extern "C" {
1408 pub fn sqlite3_column_blob(
1409 arg1: *mut sqlite3_stmt,
1410 iCol: ::core::ffi::c_int,
1411 ) -> *const ::core::ffi::c_void;
1412}
1413extern "C" {
1414 pub fn sqlite3_column_double(
1415 arg1: *mut sqlite3_stmt,
1416 iCol: ::core::ffi::c_int,
1417 ) -> f64;
1418}
1419extern "C" {
1420 pub fn sqlite3_column_int(
1421 arg1: *mut sqlite3_stmt,
1422 iCol: ::core::ffi::c_int,
1423 ) -> ::core::ffi::c_int;
1424}
1425extern "C" {
1426 pub fn sqlite3_column_int64(
1427 arg1: *mut sqlite3_stmt,
1428 iCol: ::core::ffi::c_int,
1429 ) -> sqlite3_int64;
1430}
1431extern "C" {
1432 pub fn sqlite3_column_text(
1433 arg1: *mut sqlite3_stmt,
1434 iCol: ::core::ffi::c_int,
1435 ) -> *const ::core::ffi::c_uchar;
1436}
1437extern "C" {
1438 pub fn sqlite3_column_value(
1439 arg1: *mut sqlite3_stmt,
1440 iCol: ::core::ffi::c_int,
1441 ) -> *mut sqlite3_value;
1442}
1443extern "C" {
1444 pub fn sqlite3_column_bytes(
1445 arg1: *mut sqlite3_stmt,
1446 iCol: ::core::ffi::c_int,
1447 ) -> ::core::ffi::c_int;
1448}
1449extern "C" {
1450 pub fn sqlite3_column_type(
1451 arg1: *mut sqlite3_stmt,
1452 iCol: ::core::ffi::c_int,
1453 ) -> ::core::ffi::c_int;
1454}
1455extern "C" {
1456 pub fn sqlite3_finalize(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1457}
1458extern "C" {
1459 pub fn sqlite3_reset(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1460}
1461extern "C" {
1462 pub fn sqlite3_create_function_v2(
1463 db: *mut sqlite3,
1464 zFunctionName: *const ::core::ffi::c_char,
1465 nArg: ::core::ffi::c_int,
1466 eTextRep: ::core::ffi::c_int,
1467 pApp: *mut ::core::ffi::c_void,
1468 xFunc: ::core::option::Option<
1469 unsafe extern "C" fn(
1470 arg1: *mut sqlite3_context,
1471 arg2: ::core::ffi::c_int,
1472 arg3: *mut *mut sqlite3_value,
1473 ),
1474 >,
1475 xStep: ::core::option::Option<
1476 unsafe extern "C" fn(
1477 arg1: *mut sqlite3_context,
1478 arg2: ::core::ffi::c_int,
1479 arg3: *mut *mut sqlite3_value,
1480 ),
1481 >,
1482 xFinal: ::core::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
1483 xDestroy: ::core::option::Option<
1484 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1485 >,
1486 ) -> ::core::ffi::c_int;
1487}
1488extern "C" {
1489 pub fn sqlite3_create_window_function(
1490 db: *mut sqlite3,
1491 zFunctionName: *const ::core::ffi::c_char,
1492 nArg: ::core::ffi::c_int,
1493 eTextRep: ::core::ffi::c_int,
1494 pApp: *mut ::core::ffi::c_void,
1495 xStep: ::core::option::Option<
1496 unsafe extern "C" fn(
1497 arg1: *mut sqlite3_context,
1498 arg2: ::core::ffi::c_int,
1499 arg3: *mut *mut sqlite3_value,
1500 ),
1501 >,
1502 xFinal: ::core::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
1503 xValue: ::core::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_context)>,
1504 xInverse: ::core::option::Option<
1505 unsafe extern "C" fn(
1506 arg1: *mut sqlite3_context,
1507 arg2: ::core::ffi::c_int,
1508 arg3: *mut *mut sqlite3_value,
1509 ),
1510 >,
1511 xDestroy: ::core::option::Option<
1512 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1513 >,
1514 ) -> ::core::ffi::c_int;
1515}
1516extern "C" {
1517 pub fn sqlite3_value_blob(arg1: *mut sqlite3_value) -> *const ::core::ffi::c_void;
1518}
1519extern "C" {
1520 pub fn sqlite3_value_double(arg1: *mut sqlite3_value) -> f64;
1521}
1522extern "C" {
1523 pub fn sqlite3_value_int(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1524}
1525extern "C" {
1526 pub fn sqlite3_value_int64(arg1: *mut sqlite3_value) -> sqlite3_int64;
1527}
1528extern "C" {
1529 pub fn sqlite3_value_pointer(
1530 arg1: *mut sqlite3_value,
1531 arg2: *const ::core::ffi::c_char,
1532 ) -> *mut ::core::ffi::c_void;
1533}
1534extern "C" {
1535 pub fn sqlite3_value_text(arg1: *mut sqlite3_value) -> *const ::core::ffi::c_uchar;
1536}
1537extern "C" {
1538 pub fn sqlite3_value_bytes(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1539}
1540extern "C" {
1541 pub fn sqlite3_value_type(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1542}
1543extern "C" {
1544 pub fn sqlite3_value_numeric_type(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1545}
1546extern "C" {
1547 pub fn sqlite3_value_nochange(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1548}
1549extern "C" {
1550 pub fn sqlite3_value_frombind(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1551}
1552extern "C" {
1553 pub fn sqlite3_value_encoding(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1554}
1555extern "C" {
1556 pub fn sqlite3_value_subtype(arg1: *mut sqlite3_value) -> ::core::ffi::c_uint;
1557}
1558extern "C" {
1559 pub fn sqlite3_value_dup(arg1: *const sqlite3_value) -> *mut sqlite3_value;
1560}
1561extern "C" {
1562 pub fn sqlite3_value_free(arg1: *mut sqlite3_value);
1563}
1564extern "C" {
1565 pub fn sqlite3_aggregate_context(
1566 arg1: *mut sqlite3_context,
1567 nBytes: ::core::ffi::c_int,
1568 ) -> *mut ::core::ffi::c_void;
1569}
1570extern "C" {
1571 pub fn sqlite3_user_data(arg1: *mut sqlite3_context) -> *mut ::core::ffi::c_void;
1572}
1573extern "C" {
1574 pub fn sqlite3_context_db_handle(arg1: *mut sqlite3_context) -> *mut sqlite3;
1575}
1576extern "C" {
1577 pub fn sqlite3_get_auxdata(
1578 arg1: *mut sqlite3_context,
1579 N: ::core::ffi::c_int,
1580 ) -> *mut ::core::ffi::c_void;
1581}
1582extern "C" {
1583 pub fn sqlite3_set_auxdata(
1584 arg1: *mut sqlite3_context,
1585 N: ::core::ffi::c_int,
1586 arg2: *mut ::core::ffi::c_void,
1587 arg3: ::core::option::Option<
1588 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1589 >,
1590 );
1591}
1592extern "C" {
1593 pub fn sqlite3_get_clientdata(
1594 arg1: *mut sqlite3,
1595 arg2: *const ::core::ffi::c_char,
1596 ) -> *mut ::core::ffi::c_void;
1597}
1598extern "C" {
1599 pub fn sqlite3_set_clientdata(
1600 arg1: *mut sqlite3,
1601 arg2: *const ::core::ffi::c_char,
1602 arg3: *mut ::core::ffi::c_void,
1603 arg4: ::core::option::Option<
1604 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1605 >,
1606 ) -> ::core::ffi::c_int;
1607}
1608pub type sqlite3_destructor_type = ::core::option::Option<
1609 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1610>;
1611extern "C" {
1612 pub fn sqlite3_result_blob(
1613 arg1: *mut sqlite3_context,
1614 arg2: *const ::core::ffi::c_void,
1615 arg3: ::core::ffi::c_int,
1616 arg4: ::core::option::Option<
1617 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1618 >,
1619 );
1620}
1621extern "C" {
1622 pub fn sqlite3_result_blob64(
1623 arg1: *mut sqlite3_context,
1624 arg2: *const ::core::ffi::c_void,
1625 arg3: sqlite3_uint64,
1626 arg4: ::core::option::Option<
1627 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1628 >,
1629 );
1630}
1631extern "C" {
1632 pub fn sqlite3_result_double(arg1: *mut sqlite3_context, arg2: f64);
1633}
1634extern "C" {
1635 pub fn sqlite3_result_error(
1636 arg1: *mut sqlite3_context,
1637 arg2: *const ::core::ffi::c_char,
1638 arg3: ::core::ffi::c_int,
1639 );
1640}
1641extern "C" {
1642 pub fn sqlite3_result_error_toobig(arg1: *mut sqlite3_context);
1643}
1644extern "C" {
1645 pub fn sqlite3_result_error_nomem(arg1: *mut sqlite3_context);
1646}
1647extern "C" {
1648 pub fn sqlite3_result_error_code(
1649 arg1: *mut sqlite3_context,
1650 arg2: ::core::ffi::c_int,
1651 );
1652}
1653extern "C" {
1654 pub fn sqlite3_result_int(arg1: *mut sqlite3_context, arg2: ::core::ffi::c_int);
1655}
1656extern "C" {
1657 pub fn sqlite3_result_int64(arg1: *mut sqlite3_context, arg2: sqlite3_int64);
1658}
1659extern "C" {
1660 pub fn sqlite3_result_null(arg1: *mut sqlite3_context);
1661}
1662extern "C" {
1663 pub fn sqlite3_result_text(
1664 arg1: *mut sqlite3_context,
1665 arg2: *const ::core::ffi::c_char,
1666 arg3: ::core::ffi::c_int,
1667 arg4: ::core::option::Option<
1668 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1669 >,
1670 );
1671}
1672extern "C" {
1673 pub fn sqlite3_result_text64(
1674 arg1: *mut sqlite3_context,
1675 z: *const ::core::ffi::c_char,
1676 n: sqlite3_uint64,
1677 arg2: ::core::option::Option<
1678 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1679 >,
1680 encoding: ::core::ffi::c_uchar,
1681 );
1682}
1683extern "C" {
1684 pub fn sqlite3_result_value(arg1: *mut sqlite3_context, arg2: *mut sqlite3_value);
1685}
1686extern "C" {
1687 pub fn sqlite3_result_pointer(
1688 arg1: *mut sqlite3_context,
1689 arg2: *mut ::core::ffi::c_void,
1690 arg3: *const ::core::ffi::c_char,
1691 arg4: ::core::option::Option<
1692 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1693 >,
1694 );
1695}
1696extern "C" {
1697 pub fn sqlite3_result_zeroblob(arg1: *mut sqlite3_context, n: ::core::ffi::c_int);
1698}
1699extern "C" {
1700 pub fn sqlite3_result_zeroblob64(
1701 arg1: *mut sqlite3_context,
1702 n: sqlite3_uint64,
1703 ) -> ::core::ffi::c_int;
1704}
1705extern "C" {
1706 pub fn sqlite3_result_subtype(arg1: *mut sqlite3_context, arg2: ::core::ffi::c_uint);
1707}
1708extern "C" {
1709 pub fn sqlite3_create_collation_v2(
1710 arg1: *mut sqlite3,
1711 zName: *const ::core::ffi::c_char,
1712 eTextRep: ::core::ffi::c_int,
1713 pArg: *mut ::core::ffi::c_void,
1714 xCompare: ::core::option::Option<
1715 unsafe extern "C" fn(
1716 arg1: *mut ::core::ffi::c_void,
1717 arg2: ::core::ffi::c_int,
1718 arg3: *const ::core::ffi::c_void,
1719 arg4: ::core::ffi::c_int,
1720 arg5: *const ::core::ffi::c_void,
1721 ) -> ::core::ffi::c_int,
1722 >,
1723 xDestroy: ::core::option::Option<
1724 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1725 >,
1726 ) -> ::core::ffi::c_int;
1727}
1728extern "C" {
1729 pub fn sqlite3_collation_needed(
1730 arg1: *mut sqlite3,
1731 arg2: *mut ::core::ffi::c_void,
1732 arg3: ::core::option::Option<
1733 unsafe extern "C" fn(
1734 arg1: *mut ::core::ffi::c_void,
1735 arg2: *mut sqlite3,
1736 eTextRep: ::core::ffi::c_int,
1737 arg3: *const ::core::ffi::c_char,
1738 ),
1739 >,
1740 ) -> ::core::ffi::c_int;
1741}
1742extern "C" {
1743 pub fn sqlite3_sleep(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int;
1744}
1745extern "C" {
1746 pub static mut sqlite3_temp_directory: *mut ::core::ffi::c_char;
1747}
1748extern "C" {
1749 pub static mut sqlite3_data_directory: *mut ::core::ffi::c_char;
1750}
1751extern "C" {
1752 pub fn sqlite3_win32_set_directory(
1753 type_: ::core::ffi::c_ulong,
1754 zValue: *mut ::core::ffi::c_void,
1755 ) -> ::core::ffi::c_int;
1756}
1757extern "C" {
1758 pub fn sqlite3_win32_set_directory8(
1759 type_: ::core::ffi::c_ulong,
1760 zValue: *const ::core::ffi::c_char,
1761 ) -> ::core::ffi::c_int;
1762}
1763extern "C" {
1764 pub fn sqlite3_get_autocommit(arg1: *mut sqlite3) -> ::core::ffi::c_int;
1765}
1766extern "C" {
1767 pub fn sqlite3_db_handle(arg1: *mut sqlite3_stmt) -> *mut sqlite3;
1768}
1769extern "C" {
1770 pub fn sqlite3_db_name(
1771 db: *mut sqlite3,
1772 N: ::core::ffi::c_int,
1773 ) -> *const ::core::ffi::c_char;
1774}
1775extern "C" {
1776 pub fn sqlite3_db_filename(
1777 db: *mut sqlite3,
1778 zDbName: *const ::core::ffi::c_char,
1779 ) -> sqlite3_filename;
1780}
1781extern "C" {
1782 pub fn sqlite3_db_readonly(
1783 db: *mut sqlite3,
1784 zDbName: *const ::core::ffi::c_char,
1785 ) -> ::core::ffi::c_int;
1786}
1787extern "C" {
1788 pub fn sqlite3_txn_state(
1789 arg1: *mut sqlite3,
1790 zSchema: *const ::core::ffi::c_char,
1791 ) -> ::core::ffi::c_int;
1792}
1793extern "C" {
1794 pub fn sqlite3_next_stmt(
1795 pDb: *mut sqlite3,
1796 pStmt: *mut sqlite3_stmt,
1797 ) -> *mut sqlite3_stmt;
1798}
1799extern "C" {
1800 pub fn sqlite3_commit_hook(
1801 arg1: *mut sqlite3,
1802 arg2: ::core::option::Option<
1803 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
1804 >,
1805 arg3: *mut ::core::ffi::c_void,
1806 ) -> *mut ::core::ffi::c_void;
1807}
1808extern "C" {
1809 pub fn sqlite3_rollback_hook(
1810 arg1: *mut sqlite3,
1811 arg2: ::core::option::Option<
1812 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1813 >,
1814 arg3: *mut ::core::ffi::c_void,
1815 ) -> *mut ::core::ffi::c_void;
1816}
1817extern "C" {
1818 pub fn sqlite3_autovacuum_pages(
1819 db: *mut sqlite3,
1820 arg1: ::core::option::Option<
1821 unsafe extern "C" fn(
1822 arg1: *mut ::core::ffi::c_void,
1823 arg2: *const ::core::ffi::c_char,
1824 arg3: ::core::ffi::c_uint,
1825 arg4: ::core::ffi::c_uint,
1826 arg5: ::core::ffi::c_uint,
1827 ) -> ::core::ffi::c_uint,
1828 >,
1829 arg2: *mut ::core::ffi::c_void,
1830 arg3: ::core::option::Option<
1831 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
1832 >,
1833 ) -> ::core::ffi::c_int;
1834}
1835extern "C" {
1836 pub fn sqlite3_update_hook(
1837 arg1: *mut sqlite3,
1838 arg2: ::core::option::Option<
1839 unsafe extern "C" fn(
1840 arg1: *mut ::core::ffi::c_void,
1841 arg2: ::core::ffi::c_int,
1842 arg3: *const ::core::ffi::c_char,
1843 arg4: *const ::core::ffi::c_char,
1844 arg5: sqlite3_int64,
1845 ),
1846 >,
1847 arg3: *mut ::core::ffi::c_void,
1848 ) -> *mut ::core::ffi::c_void;
1849}
1850extern "C" {
1851 pub fn sqlite3_enable_shared_cache(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int;
1852}
1853extern "C" {
1854 pub fn sqlite3_release_memory(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int;
1855}
1856extern "C" {
1857 pub fn sqlite3_db_release_memory(arg1: *mut sqlite3) -> ::core::ffi::c_int;
1858}
1859extern "C" {
1860 pub fn sqlite3_soft_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
1861}
1862extern "C" {
1863 pub fn sqlite3_hard_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
1864}
1865extern "C" {
1866 pub fn sqlite3_soft_heap_limit(N: ::core::ffi::c_int);
1867}
1868extern "C" {
1869 pub fn sqlite3_table_column_metadata(
1870 db: *mut sqlite3,
1871 zDbName: *const ::core::ffi::c_char,
1872 zTableName: *const ::core::ffi::c_char,
1873 zColumnName: *const ::core::ffi::c_char,
1874 pzDataType: *mut *const ::core::ffi::c_char,
1875 pzCollSeq: *mut *const ::core::ffi::c_char,
1876 pNotNull: *mut ::core::ffi::c_int,
1877 pPrimaryKey: *mut ::core::ffi::c_int,
1878 pAutoinc: *mut ::core::ffi::c_int,
1879 ) -> ::core::ffi::c_int;
1880}
1881extern "C" {
1882 pub fn sqlite3_reset_auto_extension();
1883}
1884#[repr(C)]
1885#[derive(Debug, Copy, Clone)]
1886pub struct sqlite3_module {
1887 pub iVersion: ::core::ffi::c_int,
1888 pub xCreate: ::core::option::Option<
1889 unsafe extern "C" fn(
1890 arg1: *mut sqlite3,
1891 pAux: *mut ::core::ffi::c_void,
1892 argc: ::core::ffi::c_int,
1893 argv: *const *const ::core::ffi::c_char,
1894 ppVTab: *mut *mut sqlite3_vtab,
1895 arg2: *mut *mut ::core::ffi::c_char,
1896 ) -> ::core::ffi::c_int,
1897 >,
1898 pub xConnect: ::core::option::Option<
1899 unsafe extern "C" fn(
1900 arg1: *mut sqlite3,
1901 pAux: *mut ::core::ffi::c_void,
1902 argc: ::core::ffi::c_int,
1903 argv: *const *const ::core::ffi::c_char,
1904 ppVTab: *mut *mut sqlite3_vtab,
1905 arg2: *mut *mut ::core::ffi::c_char,
1906 ) -> ::core::ffi::c_int,
1907 >,
1908 pub xBestIndex: ::core::option::Option<
1909 unsafe extern "C" fn(
1910 pVTab: *mut sqlite3_vtab,
1911 arg1: *mut sqlite3_index_info,
1912 ) -> ::core::ffi::c_int,
1913 >,
1914 pub xDisconnect: ::core::option::Option<
1915 unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::core::ffi::c_int,
1916 >,
1917 pub xDestroy: ::core::option::Option<
1918 unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::core::ffi::c_int,
1919 >,
1920 pub xOpen: ::core::option::Option<
1921 unsafe extern "C" fn(
1922 pVTab: *mut sqlite3_vtab,
1923 ppCursor: *mut *mut sqlite3_vtab_cursor,
1924 ) -> ::core::ffi::c_int,
1925 >,
1926 pub xClose: ::core::option::Option<
1927 unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::core::ffi::c_int,
1928 >,
1929 pub xFilter: ::core::option::Option<
1930 unsafe extern "C" fn(
1931 arg1: *mut sqlite3_vtab_cursor,
1932 idxNum: ::core::ffi::c_int,
1933 idxStr: *const ::core::ffi::c_char,
1934 argc: ::core::ffi::c_int,
1935 argv: *mut *mut sqlite3_value,
1936 ) -> ::core::ffi::c_int,
1937 >,
1938 pub xNext: ::core::option::Option<
1939 unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::core::ffi::c_int,
1940 >,
1941 pub xEof: ::core::option::Option<
1942 unsafe extern "C" fn(arg1: *mut sqlite3_vtab_cursor) -> ::core::ffi::c_int,
1943 >,
1944 pub xColumn: ::core::option::Option<
1945 unsafe extern "C" fn(
1946 arg1: *mut sqlite3_vtab_cursor,
1947 arg2: *mut sqlite3_context,
1948 arg3: ::core::ffi::c_int,
1949 ) -> ::core::ffi::c_int,
1950 >,
1951 pub xRowid: ::core::option::Option<
1952 unsafe extern "C" fn(
1953 arg1: *mut sqlite3_vtab_cursor,
1954 pRowid: *mut sqlite3_int64,
1955 ) -> ::core::ffi::c_int,
1956 >,
1957 pub xUpdate: ::core::option::Option<
1958 unsafe extern "C" fn(
1959 arg1: *mut sqlite3_vtab,
1960 arg2: ::core::ffi::c_int,
1961 arg3: *mut *mut sqlite3_value,
1962 arg4: *mut sqlite3_int64,
1963 ) -> ::core::ffi::c_int,
1964 >,
1965 pub xBegin: ::core::option::Option<
1966 unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::core::ffi::c_int,
1967 >,
1968 pub xSync: ::core::option::Option<
1969 unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::core::ffi::c_int,
1970 >,
1971 pub xCommit: ::core::option::Option<
1972 unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::core::ffi::c_int,
1973 >,
1974 pub xRollback: ::core::option::Option<
1975 unsafe extern "C" fn(pVTab: *mut sqlite3_vtab) -> ::core::ffi::c_int,
1976 >,
1977 pub xFindFunction: ::core::option::Option<
1978 unsafe extern "C" fn(
1979 pVtab: *mut sqlite3_vtab,
1980 nArg: ::core::ffi::c_int,
1981 zName: *const ::core::ffi::c_char,
1982 pxFunc: *mut ::core::option::Option<
1983 unsafe extern "C" fn(
1984 arg1: *mut sqlite3_context,
1985 arg2: ::core::ffi::c_int,
1986 arg3: *mut *mut sqlite3_value,
1987 ),
1988 >,
1989 ppArg: *mut *mut ::core::ffi::c_void,
1990 ) -> ::core::ffi::c_int,
1991 >,
1992 pub xRename: ::core::option::Option<
1993 unsafe extern "C" fn(
1994 pVtab: *mut sqlite3_vtab,
1995 zNew: *const ::core::ffi::c_char,
1996 ) -> ::core::ffi::c_int,
1997 >,
1998 pub xSavepoint: ::core::option::Option<
1999 unsafe extern "C" fn(
2000 pVTab: *mut sqlite3_vtab,
2001 arg1: ::core::ffi::c_int,
2002 ) -> ::core::ffi::c_int,
2003 >,
2004 pub xRelease: ::core::option::Option<
2005 unsafe extern "C" fn(
2006 pVTab: *mut sqlite3_vtab,
2007 arg1: ::core::ffi::c_int,
2008 ) -> ::core::ffi::c_int,
2009 >,
2010 pub xRollbackTo: ::core::option::Option<
2011 unsafe extern "C" fn(
2012 pVTab: *mut sqlite3_vtab,
2013 arg1: ::core::ffi::c_int,
2014 ) -> ::core::ffi::c_int,
2015 >,
2016 pub xShadowName: ::core::option::Option<
2017 unsafe extern "C" fn(arg1: *const ::core::ffi::c_char) -> ::core::ffi::c_int,
2018 >,
2019 pub xIntegrity: ::core::option::Option<
2020 unsafe extern "C" fn(
2021 pVTab: *mut sqlite3_vtab,
2022 zSchema: *const ::core::ffi::c_char,
2023 zTabName: *const ::core::ffi::c_char,
2024 mFlags: ::core::ffi::c_int,
2025 pzErr: *mut *mut ::core::ffi::c_char,
2026 ) -> ::core::ffi::c_int,
2027 >,
2028}
2029#[repr(C)]
2030#[derive(Debug, Copy, Clone)]
2031pub struct sqlite3_index_info {
2032 pub nConstraint: ::core::ffi::c_int,
2033 pub aConstraint: *mut sqlite3_index_constraint,
2034 pub nOrderBy: ::core::ffi::c_int,
2035 pub aOrderBy: *mut sqlite3_index_orderby,
2036 pub aConstraintUsage: *mut sqlite3_index_constraint_usage,
2037 pub idxNum: ::core::ffi::c_int,
2038 pub idxStr: *mut ::core::ffi::c_char,
2039 pub needToFreeIdxStr: ::core::ffi::c_int,
2040 pub orderByConsumed: ::core::ffi::c_int,
2041 pub estimatedCost: f64,
2042 pub estimatedRows: sqlite3_int64,
2043 pub idxFlags: ::core::ffi::c_int,
2044 pub colUsed: sqlite3_uint64,
2045}
2046#[repr(C)]
2047#[derive(Debug, Copy, Clone)]
2048pub struct sqlite3_index_constraint {
2049 pub iColumn: ::core::ffi::c_int,
2050 pub op: ::core::ffi::c_uchar,
2051 pub usable: ::core::ffi::c_uchar,
2052 pub iTermOffset: ::core::ffi::c_int,
2053}
2054#[repr(C)]
2055#[derive(Debug, Copy, Clone)]
2056pub struct sqlite3_index_orderby {
2057 pub iColumn: ::core::ffi::c_int,
2058 pub desc: ::core::ffi::c_uchar,
2059}
2060#[repr(C)]
2061#[derive(Debug, Copy, Clone)]
2062pub struct sqlite3_index_constraint_usage {
2063 pub argvIndex: ::core::ffi::c_int,
2064 pub omit: ::core::ffi::c_uchar,
2065}
2066extern "C" {
2067 pub fn sqlite3_create_module_v2(
2068 db: *mut sqlite3,
2069 zName: *const ::core::ffi::c_char,
2070 p: *const sqlite3_module,
2071 pClientData: *mut ::core::ffi::c_void,
2072 xDestroy: ::core::option::Option<
2073 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
2074 >,
2075 ) -> ::core::ffi::c_int;
2076}
2077extern "C" {
2078 pub fn sqlite3_drop_modules(
2079 db: *mut sqlite3,
2080 azKeep: *mut *const ::core::ffi::c_char,
2081 ) -> ::core::ffi::c_int;
2082}
2083#[repr(C)]
2084#[derive(Debug, Copy, Clone)]
2085pub struct sqlite3_vtab {
2086 pub pModule: *const sqlite3_module,
2087 pub nRef: ::core::ffi::c_int,
2088 pub zErrMsg: *mut ::core::ffi::c_char,
2089}
2090#[repr(C)]
2091#[derive(Debug, Copy, Clone)]
2092pub struct sqlite3_vtab_cursor {
2093 pub pVtab: *mut sqlite3_vtab,
2094}
2095extern "C" {
2096 pub fn sqlite3_declare_vtab(
2097 arg1: *mut sqlite3,
2098 zSQL: *const ::core::ffi::c_char,
2099 ) -> ::core::ffi::c_int;
2100}
2101extern "C" {
2102 pub fn sqlite3_overload_function(
2103 arg1: *mut sqlite3,
2104 zFuncName: *const ::core::ffi::c_char,
2105 nArg: ::core::ffi::c_int,
2106 ) -> ::core::ffi::c_int;
2107}
2108#[repr(C)]
2109#[derive(Debug, Copy, Clone)]
2110pub struct sqlite3_blob {
2111 _unused: [u8; 0],
2112}
2113extern "C" {
2114 pub fn sqlite3_blob_open(
2115 arg1: *mut sqlite3,
2116 zDb: *const ::core::ffi::c_char,
2117 zTable: *const ::core::ffi::c_char,
2118 zColumn: *const ::core::ffi::c_char,
2119 iRow: sqlite3_int64,
2120 flags: ::core::ffi::c_int,
2121 ppBlob: *mut *mut sqlite3_blob,
2122 ) -> ::core::ffi::c_int;
2123}
2124extern "C" {
2125 pub fn sqlite3_blob_reopen(
2126 arg1: *mut sqlite3_blob,
2127 arg2: sqlite3_int64,
2128 ) -> ::core::ffi::c_int;
2129}
2130extern "C" {
2131 pub fn sqlite3_blob_close(arg1: *mut sqlite3_blob) -> ::core::ffi::c_int;
2132}
2133extern "C" {
2134 pub fn sqlite3_blob_bytes(arg1: *mut sqlite3_blob) -> ::core::ffi::c_int;
2135}
2136extern "C" {
2137 pub fn sqlite3_blob_read(
2138 arg1: *mut sqlite3_blob,
2139 Z: *mut ::core::ffi::c_void,
2140 N: ::core::ffi::c_int,
2141 iOffset: ::core::ffi::c_int,
2142 ) -> ::core::ffi::c_int;
2143}
2144extern "C" {
2145 pub fn sqlite3_blob_write(
2146 arg1: *mut sqlite3_blob,
2147 z: *const ::core::ffi::c_void,
2148 n: ::core::ffi::c_int,
2149 iOffset: ::core::ffi::c_int,
2150 ) -> ::core::ffi::c_int;
2151}
2152extern "C" {
2153 pub fn sqlite3_vfs_find(zVfsName: *const ::core::ffi::c_char) -> *mut sqlite3_vfs;
2154}
2155extern "C" {
2156 pub fn sqlite3_vfs_register(
2157 arg1: *mut sqlite3_vfs,
2158 makeDflt: ::core::ffi::c_int,
2159 ) -> ::core::ffi::c_int;
2160}
2161extern "C" {
2162 pub fn sqlite3_vfs_unregister(arg1: *mut sqlite3_vfs) -> ::core::ffi::c_int;
2163}
2164extern "C" {
2165 pub fn sqlite3_mutex_alloc(arg1: ::core::ffi::c_int) -> *mut sqlite3_mutex;
2166}
2167extern "C" {
2168 pub fn sqlite3_mutex_free(arg1: *mut sqlite3_mutex);
2169}
2170extern "C" {
2171 pub fn sqlite3_mutex_enter(arg1: *mut sqlite3_mutex);
2172}
2173extern "C" {
2174 pub fn sqlite3_mutex_try(arg1: *mut sqlite3_mutex) -> ::core::ffi::c_int;
2175}
2176extern "C" {
2177 pub fn sqlite3_mutex_leave(arg1: *mut sqlite3_mutex);
2178}
2179#[repr(C)]
2180#[derive(Debug, Copy, Clone)]
2181pub struct sqlite3_mutex_methods {
2182 pub xMutexInit: ::core::option::Option<unsafe extern "C" fn() -> ::core::ffi::c_int>,
2183 pub xMutexEnd: ::core::option::Option<unsafe extern "C" fn() -> ::core::ffi::c_int>,
2184 pub xMutexAlloc: ::core::option::Option<
2185 unsafe extern "C" fn(arg1: ::core::ffi::c_int) -> *mut sqlite3_mutex,
2186 >,
2187 pub xMutexFree: ::core::option::Option<
2188 unsafe extern "C" fn(arg1: *mut sqlite3_mutex),
2189 >,
2190 pub xMutexEnter: ::core::option::Option<
2191 unsafe extern "C" fn(arg1: *mut sqlite3_mutex),
2192 >,
2193 pub xMutexTry: ::core::option::Option<
2194 unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::core::ffi::c_int,
2195 >,
2196 pub xMutexLeave: ::core::option::Option<
2197 unsafe extern "C" fn(arg1: *mut sqlite3_mutex),
2198 >,
2199 pub xMutexHeld: ::core::option::Option<
2200 unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::core::ffi::c_int,
2201 >,
2202 pub xMutexNotheld: ::core::option::Option<
2203 unsafe extern "C" fn(arg1: *mut sqlite3_mutex) -> ::core::ffi::c_int,
2204 >,
2205}
2206extern "C" {
2207 pub fn sqlite3_mutex_held(arg1: *mut sqlite3_mutex) -> ::core::ffi::c_int;
2208}
2209extern "C" {
2210 pub fn sqlite3_mutex_notheld(arg1: *mut sqlite3_mutex) -> ::core::ffi::c_int;
2211}
2212extern "C" {
2213 pub fn sqlite3_db_mutex(arg1: *mut sqlite3) -> *mut sqlite3_mutex;
2214}
2215extern "C" {
2216 pub fn sqlite3_file_control(
2217 arg1: *mut sqlite3,
2218 zDbName: *const ::core::ffi::c_char,
2219 op: ::core::ffi::c_int,
2220 arg2: *mut ::core::ffi::c_void,
2221 ) -> ::core::ffi::c_int;
2222}
2223extern "C" {
2224 pub fn sqlite3_test_control(op: ::core::ffi::c_int, ...) -> ::core::ffi::c_int;
2225}
2226extern "C" {
2227 pub fn sqlite3_keyword_count() -> ::core::ffi::c_int;
2228}
2229extern "C" {
2230 pub fn sqlite3_keyword_name(
2231 arg1: ::core::ffi::c_int,
2232 arg2: *mut *const ::core::ffi::c_char,
2233 arg3: *mut ::core::ffi::c_int,
2234 ) -> ::core::ffi::c_int;
2235}
2236extern "C" {
2237 pub fn sqlite3_keyword_check(
2238 arg1: *const ::core::ffi::c_char,
2239 arg2: ::core::ffi::c_int,
2240 ) -> ::core::ffi::c_int;
2241}
2242#[repr(C)]
2243#[derive(Debug, Copy, Clone)]
2244pub struct sqlite3_str {
2245 _unused: [u8; 0],
2246}
2247extern "C" {
2248 pub fn sqlite3_str_new(arg1: *mut sqlite3) -> *mut sqlite3_str;
2249}
2250extern "C" {
2251 pub fn sqlite3_str_finish(arg1: *mut sqlite3_str) -> *mut ::core::ffi::c_char;
2252}
2253extern "C" {
2254 pub fn sqlite3_str_free(arg1: *mut sqlite3_str);
2255}
2256extern "C" {
2257 pub fn sqlite3_str_appendf(
2258 arg1: *mut sqlite3_str,
2259 zFormat: *const ::core::ffi::c_char,
2260 ...
2261 );
2262}
2263extern "C" {
2264 pub fn sqlite3_str_append(
2265 arg1: *mut sqlite3_str,
2266 zIn: *const ::core::ffi::c_char,
2267 N: ::core::ffi::c_int,
2268 );
2269}
2270extern "C" {
2271 pub fn sqlite3_str_appendall(
2272 arg1: *mut sqlite3_str,
2273 zIn: *const ::core::ffi::c_char,
2274 );
2275}
2276extern "C" {
2277 pub fn sqlite3_str_appendchar(
2278 arg1: *mut sqlite3_str,
2279 N: ::core::ffi::c_int,
2280 C: ::core::ffi::c_char,
2281 );
2282}
2283extern "C" {
2284 pub fn sqlite3_str_reset(arg1: *mut sqlite3_str);
2285}
2286extern "C" {
2287 pub fn sqlite3_str_truncate(arg1: *mut sqlite3_str, N: ::core::ffi::c_int);
2288}
2289extern "C" {
2290 pub fn sqlite3_str_errcode(arg1: *mut sqlite3_str) -> ::core::ffi::c_int;
2291}
2292extern "C" {
2293 pub fn sqlite3_str_length(arg1: *mut sqlite3_str) -> ::core::ffi::c_int;
2294}
2295extern "C" {
2296 pub fn sqlite3_str_value(arg1: *mut sqlite3_str) -> *mut ::core::ffi::c_char;
2297}
2298extern "C" {
2299 pub fn sqlite3_status(
2300 op: ::core::ffi::c_int,
2301 pCurrent: *mut ::core::ffi::c_int,
2302 pHighwater: *mut ::core::ffi::c_int,
2303 resetFlag: ::core::ffi::c_int,
2304 ) -> ::core::ffi::c_int;
2305}
2306extern "C" {
2307 pub fn sqlite3_status64(
2308 op: ::core::ffi::c_int,
2309 pCurrent: *mut sqlite3_int64,
2310 pHighwater: *mut sqlite3_int64,
2311 resetFlag: ::core::ffi::c_int,
2312 ) -> ::core::ffi::c_int;
2313}
2314extern "C" {
2315 pub fn sqlite3_db_status(
2316 arg1: *mut sqlite3,
2317 op: ::core::ffi::c_int,
2318 pCur: *mut ::core::ffi::c_int,
2319 pHiwtr: *mut ::core::ffi::c_int,
2320 resetFlg: ::core::ffi::c_int,
2321 ) -> ::core::ffi::c_int;
2322}
2323extern "C" {
2324 pub fn sqlite3_db_status64(
2325 arg1: *mut sqlite3,
2326 arg2: ::core::ffi::c_int,
2327 arg3: *mut sqlite3_int64,
2328 arg4: *mut sqlite3_int64,
2329 arg5: ::core::ffi::c_int,
2330 ) -> ::core::ffi::c_int;
2331}
2332extern "C" {
2333 pub fn sqlite3_stmt_status(
2334 arg1: *mut sqlite3_stmt,
2335 op: ::core::ffi::c_int,
2336 resetFlg: ::core::ffi::c_int,
2337 ) -> ::core::ffi::c_int;
2338}
2339#[repr(C)]
2340#[derive(Debug, Copy, Clone)]
2341pub struct sqlite3_pcache {
2342 _unused: [u8; 0],
2343}
2344#[repr(C)]
2345#[derive(Debug, Copy, Clone)]
2346pub struct sqlite3_pcache_page {
2347 pub pBuf: *mut ::core::ffi::c_void,
2348 pub pExtra: *mut ::core::ffi::c_void,
2349}
2350#[repr(C)]
2351#[derive(Debug, Copy, Clone)]
2352pub struct sqlite3_pcache_methods2 {
2353 pub iVersion: ::core::ffi::c_int,
2354 pub pArg: *mut ::core::ffi::c_void,
2355 pub xInit: ::core::option::Option<
2356 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
2357 >,
2358 pub xShutdown: ::core::option::Option<
2359 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
2360 >,
2361 pub xCreate: ::core::option::Option<
2362 unsafe extern "C" fn(
2363 szPage: ::core::ffi::c_int,
2364 szExtra: ::core::ffi::c_int,
2365 bPurgeable: ::core::ffi::c_int,
2366 ) -> *mut sqlite3_pcache,
2367 >,
2368 pub xCachesize: ::core::option::Option<
2369 unsafe extern "C" fn(arg1: *mut sqlite3_pcache, nCachesize: ::core::ffi::c_int),
2370 >,
2371 pub xPagecount: ::core::option::Option<
2372 unsafe extern "C" fn(arg1: *mut sqlite3_pcache) -> ::core::ffi::c_int,
2373 >,
2374 pub xFetch: ::core::option::Option<
2375 unsafe extern "C" fn(
2376 arg1: *mut sqlite3_pcache,
2377 key: ::core::ffi::c_uint,
2378 createFlag: ::core::ffi::c_int,
2379 ) -> *mut sqlite3_pcache_page,
2380 >,
2381 pub xUnpin: ::core::option::Option<
2382 unsafe extern "C" fn(
2383 arg1: *mut sqlite3_pcache,
2384 arg2: *mut sqlite3_pcache_page,
2385 discard: ::core::ffi::c_int,
2386 ),
2387 >,
2388 pub xRekey: ::core::option::Option<
2389 unsafe extern "C" fn(
2390 arg1: *mut sqlite3_pcache,
2391 arg2: *mut sqlite3_pcache_page,
2392 oldKey: ::core::ffi::c_uint,
2393 newKey: ::core::ffi::c_uint,
2394 ),
2395 >,
2396 pub xTruncate: ::core::option::Option<
2397 unsafe extern "C" fn(arg1: *mut sqlite3_pcache, iLimit: ::core::ffi::c_uint),
2398 >,
2399 pub xDestroy: ::core::option::Option<
2400 unsafe extern "C" fn(arg1: *mut sqlite3_pcache),
2401 >,
2402 pub xShrink: ::core::option::Option<unsafe extern "C" fn(arg1: *mut sqlite3_pcache)>,
2403}
2404#[repr(C)]
2405#[derive(Debug, Copy, Clone)]
2406pub struct sqlite3_pcache_methods {
2407 pub pArg: *mut ::core::ffi::c_void,
2408 pub xInit: ::core::option::Option<
2409 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void) -> ::core::ffi::c_int,
2410 >,
2411 pub xShutdown: ::core::option::Option<
2412 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
2413 >,
2414 pub xCreate: ::core::option::Option<
2415 unsafe extern "C" fn(
2416 szPage: ::core::ffi::c_int,
2417 bPurgeable: ::core::ffi::c_int,
2418 ) -> *mut sqlite3_pcache,
2419 >,
2420 pub xCachesize: ::core::option::Option<
2421 unsafe extern "C" fn(arg1: *mut sqlite3_pcache, nCachesize: ::core::ffi::c_int),
2422 >,
2423 pub xPagecount: ::core::option::Option<
2424 unsafe extern "C" fn(arg1: *mut sqlite3_pcache) -> ::core::ffi::c_int,
2425 >,
2426 pub xFetch: ::core::option::Option<
2427 unsafe extern "C" fn(
2428 arg1: *mut sqlite3_pcache,
2429 key: ::core::ffi::c_uint,
2430 createFlag: ::core::ffi::c_int,
2431 ) -> *mut ::core::ffi::c_void,
2432 >,
2433 pub xUnpin: ::core::option::Option<
2434 unsafe extern "C" fn(
2435 arg1: *mut sqlite3_pcache,
2436 arg2: *mut ::core::ffi::c_void,
2437 discard: ::core::ffi::c_int,
2438 ),
2439 >,
2440 pub xRekey: ::core::option::Option<
2441 unsafe extern "C" fn(
2442 arg1: *mut sqlite3_pcache,
2443 arg2: *mut ::core::ffi::c_void,
2444 oldKey: ::core::ffi::c_uint,
2445 newKey: ::core::ffi::c_uint,
2446 ),
2447 >,
2448 pub xTruncate: ::core::option::Option<
2449 unsafe extern "C" fn(arg1: *mut sqlite3_pcache, iLimit: ::core::ffi::c_uint),
2450 >,
2451 pub xDestroy: ::core::option::Option<
2452 unsafe extern "C" fn(arg1: *mut sqlite3_pcache),
2453 >,
2454}
2455#[repr(C)]
2456#[derive(Debug, Copy, Clone)]
2457pub struct sqlite3_backup {
2458 _unused: [u8; 0],
2459}
2460extern "C" {
2461 pub fn sqlite3_backup_init(
2462 pDest: *mut sqlite3,
2463 zDestName: *const ::core::ffi::c_char,
2464 pSource: *mut sqlite3,
2465 zSourceName: *const ::core::ffi::c_char,
2466 ) -> *mut sqlite3_backup;
2467}
2468extern "C" {
2469 pub fn sqlite3_backup_step(
2470 p: *mut sqlite3_backup,
2471 nPage: ::core::ffi::c_int,
2472 ) -> ::core::ffi::c_int;
2473}
2474extern "C" {
2475 pub fn sqlite3_backup_finish(p: *mut sqlite3_backup) -> ::core::ffi::c_int;
2476}
2477extern "C" {
2478 pub fn sqlite3_backup_remaining(p: *mut sqlite3_backup) -> ::core::ffi::c_int;
2479}
2480extern "C" {
2481 pub fn sqlite3_backup_pagecount(p: *mut sqlite3_backup) -> ::core::ffi::c_int;
2482}
2483extern "C" {
2484 pub fn sqlite3_unlock_notify(
2485 pBlocked: *mut sqlite3,
2486 xNotify: ::core::option::Option<
2487 unsafe extern "C" fn(
2488 apArg: *mut *mut ::core::ffi::c_void,
2489 nArg: ::core::ffi::c_int,
2490 ),
2491 >,
2492 pNotifyArg: *mut ::core::ffi::c_void,
2493 ) -> ::core::ffi::c_int;
2494}
2495extern "C" {
2496 pub fn sqlite3_stricmp(
2497 arg1: *const ::core::ffi::c_char,
2498 arg2: *const ::core::ffi::c_char,
2499 ) -> ::core::ffi::c_int;
2500}
2501extern "C" {
2502 pub fn sqlite3_strnicmp(
2503 arg1: *const ::core::ffi::c_char,
2504 arg2: *const ::core::ffi::c_char,
2505 arg3: ::core::ffi::c_int,
2506 ) -> ::core::ffi::c_int;
2507}
2508extern "C" {
2509 pub fn sqlite3_strglob(
2510 zGlob: *const ::core::ffi::c_char,
2511 zStr: *const ::core::ffi::c_char,
2512 ) -> ::core::ffi::c_int;
2513}
2514extern "C" {
2515 pub fn sqlite3_strlike(
2516 zGlob: *const ::core::ffi::c_char,
2517 zStr: *const ::core::ffi::c_char,
2518 cEsc: ::core::ffi::c_uint,
2519 ) -> ::core::ffi::c_int;
2520}
2521extern "C" {
2522 pub fn sqlite3_log(
2523 iErrCode: ::core::ffi::c_int,
2524 zFormat: *const ::core::ffi::c_char,
2525 ...
2526 );
2527}
2528extern "C" {
2529 pub fn sqlite3_wal_hook(
2530 arg1: *mut sqlite3,
2531 arg2: ::core::option::Option<
2532 unsafe extern "C" fn(
2533 arg1: *mut ::core::ffi::c_void,
2534 arg2: *mut sqlite3,
2535 arg3: *const ::core::ffi::c_char,
2536 arg4: ::core::ffi::c_int,
2537 ) -> ::core::ffi::c_int,
2538 >,
2539 arg3: *mut ::core::ffi::c_void,
2540 ) -> *mut ::core::ffi::c_void;
2541}
2542extern "C" {
2543 pub fn sqlite3_wal_autocheckpoint(
2544 db: *mut sqlite3,
2545 N: ::core::ffi::c_int,
2546 ) -> ::core::ffi::c_int;
2547}
2548extern "C" {
2549 pub fn sqlite3_wal_checkpoint(
2550 db: *mut sqlite3,
2551 zDb: *const ::core::ffi::c_char,
2552 ) -> ::core::ffi::c_int;
2553}
2554extern "C" {
2555 pub fn sqlite3_wal_checkpoint_v2(
2556 db: *mut sqlite3,
2557 zDb: *const ::core::ffi::c_char,
2558 eMode: ::core::ffi::c_int,
2559 pnLog: *mut ::core::ffi::c_int,
2560 pnCkpt: *mut ::core::ffi::c_int,
2561 ) -> ::core::ffi::c_int;
2562}
2563extern "C" {
2564 pub fn sqlite3_vtab_config(
2565 arg1: *mut sqlite3,
2566 op: ::core::ffi::c_int,
2567 ...
2568 ) -> ::core::ffi::c_int;
2569}
2570extern "C" {
2571 pub fn sqlite3_vtab_on_conflict(arg1: *mut sqlite3) -> ::core::ffi::c_int;
2572}
2573extern "C" {
2574 pub fn sqlite3_vtab_nochange(arg1: *mut sqlite3_context) -> ::core::ffi::c_int;
2575}
2576extern "C" {
2577 pub fn sqlite3_vtab_collation(
2578 arg1: *mut sqlite3_index_info,
2579 arg2: ::core::ffi::c_int,
2580 ) -> *const ::core::ffi::c_char;
2581}
2582extern "C" {
2583 pub fn sqlite3_vtab_distinct(arg1: *mut sqlite3_index_info) -> ::core::ffi::c_int;
2584}
2585extern "C" {
2586 pub fn sqlite3_vtab_in(
2587 arg1: *mut sqlite3_index_info,
2588 iCons: ::core::ffi::c_int,
2589 bHandle: ::core::ffi::c_int,
2590 ) -> ::core::ffi::c_int;
2591}
2592extern "C" {
2593 pub fn sqlite3_vtab_in_first(
2594 pVal: *mut sqlite3_value,
2595 ppOut: *mut *mut sqlite3_value,
2596 ) -> ::core::ffi::c_int;
2597}
2598extern "C" {
2599 pub fn sqlite3_vtab_in_next(
2600 pVal: *mut sqlite3_value,
2601 ppOut: *mut *mut sqlite3_value,
2602 ) -> ::core::ffi::c_int;
2603}
2604extern "C" {
2605 pub fn sqlite3_vtab_rhs_value(
2606 arg1: *mut sqlite3_index_info,
2607 arg2: ::core::ffi::c_int,
2608 ppVal: *mut *mut sqlite3_value,
2609 ) -> ::core::ffi::c_int;
2610}
2611extern "C" {
2612 pub fn sqlite3_stmt_scanstatus(
2613 pStmt: *mut sqlite3_stmt,
2614 idx: ::core::ffi::c_int,
2615 iScanStatusOp: ::core::ffi::c_int,
2616 pOut: *mut ::core::ffi::c_void,
2617 ) -> ::core::ffi::c_int;
2618}
2619extern "C" {
2620 pub fn sqlite3_stmt_scanstatus_v2(
2621 pStmt: *mut sqlite3_stmt,
2622 idx: ::core::ffi::c_int,
2623 iScanStatusOp: ::core::ffi::c_int,
2624 flags: ::core::ffi::c_int,
2625 pOut: *mut ::core::ffi::c_void,
2626 ) -> ::core::ffi::c_int;
2627}
2628extern "C" {
2629 pub fn sqlite3_stmt_scanstatus_reset(arg1: *mut sqlite3_stmt);
2630}
2631extern "C" {
2632 pub fn sqlite3_db_cacheflush(arg1: *mut sqlite3) -> ::core::ffi::c_int;
2633}
2634extern "C" {
2635 pub fn sqlite3_preupdate_hook(
2636 db: *mut sqlite3,
2637 xPreUpdate: ::core::option::Option<
2638 unsafe extern "C" fn(
2639 pCtx: *mut ::core::ffi::c_void,
2640 db: *mut sqlite3,
2641 op: ::core::ffi::c_int,
2642 zDb: *const ::core::ffi::c_char,
2643 zName: *const ::core::ffi::c_char,
2644 iKey1: sqlite3_int64,
2645 iKey2: sqlite3_int64,
2646 ),
2647 >,
2648 arg1: *mut ::core::ffi::c_void,
2649 ) -> *mut ::core::ffi::c_void;
2650}
2651extern "C" {
2652 pub fn sqlite3_preupdate_old(
2653 arg1: *mut sqlite3,
2654 arg2: ::core::ffi::c_int,
2655 arg3: *mut *mut sqlite3_value,
2656 ) -> ::core::ffi::c_int;
2657}
2658extern "C" {
2659 pub fn sqlite3_preupdate_count(arg1: *mut sqlite3) -> ::core::ffi::c_int;
2660}
2661extern "C" {
2662 pub fn sqlite3_preupdate_depth(arg1: *mut sqlite3) -> ::core::ffi::c_int;
2663}
2664extern "C" {
2665 pub fn sqlite3_preupdate_new(
2666 arg1: *mut sqlite3,
2667 arg2: ::core::ffi::c_int,
2668 arg3: *mut *mut sqlite3_value,
2669 ) -> ::core::ffi::c_int;
2670}
2671extern "C" {
2672 pub fn sqlite3_preupdate_blobwrite(arg1: *mut sqlite3) -> ::core::ffi::c_int;
2673}
2674extern "C" {
2675 pub fn sqlite3_system_errno(arg1: *mut sqlite3) -> ::core::ffi::c_int;
2676}
2677#[repr(C)]
2678#[derive(Debug, Copy, Clone)]
2679pub struct sqlite3_snapshot {
2680 pub hidden: [::core::ffi::c_uchar; 48usize],
2681}
2682extern "C" {
2683 pub fn sqlite3_snapshot_get(
2684 db: *mut sqlite3,
2685 zSchema: *const ::core::ffi::c_char,
2686 ppSnapshot: *mut *mut sqlite3_snapshot,
2687 ) -> ::core::ffi::c_int;
2688}
2689extern "C" {
2690 pub fn sqlite3_snapshot_open(
2691 db: *mut sqlite3,
2692 zSchema: *const ::core::ffi::c_char,
2693 pSnapshot: *mut sqlite3_snapshot,
2694 ) -> ::core::ffi::c_int;
2695}
2696extern "C" {
2697 pub fn sqlite3_snapshot_free(arg1: *mut sqlite3_snapshot);
2698}
2699extern "C" {
2700 pub fn sqlite3_snapshot_cmp(
2701 p1: *mut sqlite3_snapshot,
2702 p2: *mut sqlite3_snapshot,
2703 ) -> ::core::ffi::c_int;
2704}
2705extern "C" {
2706 pub fn sqlite3_snapshot_recover(
2707 db: *mut sqlite3,
2708 zDb: *const ::core::ffi::c_char,
2709 ) -> ::core::ffi::c_int;
2710}
2711extern "C" {
2712 pub fn sqlite3_serialize(
2713 db: *mut sqlite3,
2714 zSchema: *const ::core::ffi::c_char,
2715 piSize: *mut sqlite3_int64,
2716 mFlags: ::core::ffi::c_uint,
2717 ) -> *mut ::core::ffi::c_uchar;
2718}
2719extern "C" {
2720 pub fn sqlite3_deserialize(
2721 db: *mut sqlite3,
2722 zSchema: *const ::core::ffi::c_char,
2723 pData: *mut ::core::ffi::c_uchar,
2724 szDb: sqlite3_int64,
2725 szBuf: sqlite3_int64,
2726 mFlags: ::core::ffi::c_uint,
2727 ) -> ::core::ffi::c_int;
2728}
2729extern "C" {
2730 pub fn sqlite3_carray_bind_v2(
2731 pStmt: *mut sqlite3_stmt,
2732 i: ::core::ffi::c_int,
2733 aData: *mut ::core::ffi::c_void,
2734 nData: ::core::ffi::c_int,
2735 mFlags: ::core::ffi::c_int,
2736 xDel: ::core::option::Option<
2737 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
2738 >,
2739 pDel: *mut ::core::ffi::c_void,
2740 ) -> ::core::ffi::c_int;
2741}
2742extern "C" {
2743 pub fn sqlite3_carray_bind(
2744 pStmt: *mut sqlite3_stmt,
2745 i: ::core::ffi::c_int,
2746 aData: *mut ::core::ffi::c_void,
2747 nData: ::core::ffi::c_int,
2748 mFlags: ::core::ffi::c_int,
2749 xDel: ::core::option::Option<
2750 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
2751 >,
2752 ) -> ::core::ffi::c_int;
2753}
2754pub type sqlite3_rtree_dbl = f64;
2755extern "C" {
2756 pub fn sqlite3_rtree_geometry_callback(
2757 db: *mut sqlite3,
2758 zGeom: *const ::core::ffi::c_char,
2759 xGeom: ::core::option::Option<
2760 unsafe extern "C" fn(
2761 arg1: *mut sqlite3_rtree_geometry,
2762 arg2: ::core::ffi::c_int,
2763 arg3: *mut sqlite3_rtree_dbl,
2764 arg4: *mut ::core::ffi::c_int,
2765 ) -> ::core::ffi::c_int,
2766 >,
2767 pContext: *mut ::core::ffi::c_void,
2768 ) -> ::core::ffi::c_int;
2769}
2770#[repr(C)]
2771#[derive(Debug, Copy, Clone)]
2772pub struct sqlite3_rtree_geometry {
2773 pub pContext: *mut ::core::ffi::c_void,
2774 pub nParam: ::core::ffi::c_int,
2775 pub aParam: *mut sqlite3_rtree_dbl,
2776 pub pUser: *mut ::core::ffi::c_void,
2777 pub xDelUser: ::core::option::Option<
2778 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
2779 >,
2780}
2781extern "C" {
2782 pub fn sqlite3_rtree_query_callback(
2783 db: *mut sqlite3,
2784 zQueryFunc: *const ::core::ffi::c_char,
2785 xQueryFunc: ::core::option::Option<
2786 unsafe extern "C" fn(
2787 arg1: *mut sqlite3_rtree_query_info,
2788 ) -> ::core::ffi::c_int,
2789 >,
2790 pContext: *mut ::core::ffi::c_void,
2791 xDestructor: ::core::option::Option<
2792 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
2793 >,
2794 ) -> ::core::ffi::c_int;
2795}
2796#[repr(C)]
2797#[derive(Debug, Copy, Clone)]
2798pub struct sqlite3_rtree_query_info {
2799 pub pContext: *mut ::core::ffi::c_void,
2800 pub nParam: ::core::ffi::c_int,
2801 pub aParam: *mut sqlite3_rtree_dbl,
2802 pub pUser: *mut ::core::ffi::c_void,
2803 pub xDelUser: ::core::option::Option<
2804 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
2805 >,
2806 pub aCoord: *mut sqlite3_rtree_dbl,
2807 pub anQueue: *mut ::core::ffi::c_uint,
2808 pub nCoord: ::core::ffi::c_int,
2809 pub iLevel: ::core::ffi::c_int,
2810 pub mxLevel: ::core::ffi::c_int,
2811 pub iRowid: sqlite3_int64,
2812 pub rParentScore: sqlite3_rtree_dbl,
2813 pub eParentWithin: ::core::ffi::c_int,
2814 pub eWithin: ::core::ffi::c_int,
2815 pub rScore: sqlite3_rtree_dbl,
2816 pub apSqlParam: *mut *mut sqlite3_value,
2817}
2818#[repr(C)]
2819#[derive(Debug, Copy, Clone)]
2820pub struct sqlite3_session {
2821 _unused: [u8; 0],
2822}
2823#[repr(C)]
2824#[derive(Debug, Copy, Clone)]
2825pub struct sqlite3_changeset_iter {
2826 _unused: [u8; 0],
2827}
2828extern "C" {
2829 pub fn sqlite3session_create(
2830 db: *mut sqlite3,
2831 zDb: *const ::core::ffi::c_char,
2832 ppSession: *mut *mut sqlite3_session,
2833 ) -> ::core::ffi::c_int;
2834}
2835extern "C" {
2836 pub fn sqlite3session_delete(pSession: *mut sqlite3_session);
2837}
2838extern "C" {
2839 pub fn sqlite3session_object_config(
2840 arg1: *mut sqlite3_session,
2841 op: ::core::ffi::c_int,
2842 pArg: *mut ::core::ffi::c_void,
2843 ) -> ::core::ffi::c_int;
2844}
2845extern "C" {
2846 pub fn sqlite3session_enable(
2847 pSession: *mut sqlite3_session,
2848 bEnable: ::core::ffi::c_int,
2849 ) -> ::core::ffi::c_int;
2850}
2851extern "C" {
2852 pub fn sqlite3session_indirect(
2853 pSession: *mut sqlite3_session,
2854 bIndirect: ::core::ffi::c_int,
2855 ) -> ::core::ffi::c_int;
2856}
2857extern "C" {
2858 pub fn sqlite3session_attach(
2859 pSession: *mut sqlite3_session,
2860 zTab: *const ::core::ffi::c_char,
2861 ) -> ::core::ffi::c_int;
2862}
2863extern "C" {
2864 pub fn sqlite3session_table_filter(
2865 pSession: *mut sqlite3_session,
2866 xFilter: ::core::option::Option<
2867 unsafe extern "C" fn(
2868 pCtx: *mut ::core::ffi::c_void,
2869 zTab: *const ::core::ffi::c_char,
2870 ) -> ::core::ffi::c_int,
2871 >,
2872 pCtx: *mut ::core::ffi::c_void,
2873 );
2874}
2875extern "C" {
2876 pub fn sqlite3session_changeset(
2877 pSession: *mut sqlite3_session,
2878 pnChangeset: *mut ::core::ffi::c_int,
2879 ppChangeset: *mut *mut ::core::ffi::c_void,
2880 ) -> ::core::ffi::c_int;
2881}
2882extern "C" {
2883 pub fn sqlite3session_changeset_size(
2884 pSession: *mut sqlite3_session,
2885 ) -> sqlite3_int64;
2886}
2887extern "C" {
2888 pub fn sqlite3session_diff(
2889 pSession: *mut sqlite3_session,
2890 zFromDb: *const ::core::ffi::c_char,
2891 zTbl: *const ::core::ffi::c_char,
2892 pzErrMsg: *mut *mut ::core::ffi::c_char,
2893 ) -> ::core::ffi::c_int;
2894}
2895extern "C" {
2896 pub fn sqlite3session_patchset(
2897 pSession: *mut sqlite3_session,
2898 pnPatchset: *mut ::core::ffi::c_int,
2899 ppPatchset: *mut *mut ::core::ffi::c_void,
2900 ) -> ::core::ffi::c_int;
2901}
2902extern "C" {
2903 pub fn sqlite3session_isempty(pSession: *mut sqlite3_session) -> ::core::ffi::c_int;
2904}
2905extern "C" {
2906 pub fn sqlite3session_memory_used(pSession: *mut sqlite3_session) -> sqlite3_int64;
2907}
2908extern "C" {
2909 pub fn sqlite3changeset_start(
2910 pp: *mut *mut sqlite3_changeset_iter,
2911 nChangeset: ::core::ffi::c_int,
2912 pChangeset: *mut ::core::ffi::c_void,
2913 ) -> ::core::ffi::c_int;
2914}
2915extern "C" {
2916 pub fn sqlite3changeset_start_v2(
2917 pp: *mut *mut sqlite3_changeset_iter,
2918 nChangeset: ::core::ffi::c_int,
2919 pChangeset: *mut ::core::ffi::c_void,
2920 flags: ::core::ffi::c_int,
2921 ) -> ::core::ffi::c_int;
2922}
2923extern "C" {
2924 pub fn sqlite3changeset_next(
2925 pIter: *mut sqlite3_changeset_iter,
2926 ) -> ::core::ffi::c_int;
2927}
2928extern "C" {
2929 pub fn sqlite3changeset_op(
2930 pIter: *mut sqlite3_changeset_iter,
2931 pzTab: *mut *const ::core::ffi::c_char,
2932 pnCol: *mut ::core::ffi::c_int,
2933 pOp: *mut ::core::ffi::c_int,
2934 pbIndirect: *mut ::core::ffi::c_int,
2935 ) -> ::core::ffi::c_int;
2936}
2937extern "C" {
2938 pub fn sqlite3changeset_pk(
2939 pIter: *mut sqlite3_changeset_iter,
2940 pabPK: *mut *mut ::core::ffi::c_uchar,
2941 pnCol: *mut ::core::ffi::c_int,
2942 ) -> ::core::ffi::c_int;
2943}
2944extern "C" {
2945 pub fn sqlite3changeset_old(
2946 pIter: *mut sqlite3_changeset_iter,
2947 iVal: ::core::ffi::c_int,
2948 ppValue: *mut *mut sqlite3_value,
2949 ) -> ::core::ffi::c_int;
2950}
2951extern "C" {
2952 pub fn sqlite3changeset_new(
2953 pIter: *mut sqlite3_changeset_iter,
2954 iVal: ::core::ffi::c_int,
2955 ppValue: *mut *mut sqlite3_value,
2956 ) -> ::core::ffi::c_int;
2957}
2958extern "C" {
2959 pub fn sqlite3changeset_conflict(
2960 pIter: *mut sqlite3_changeset_iter,
2961 iVal: ::core::ffi::c_int,
2962 ppValue: *mut *mut sqlite3_value,
2963 ) -> ::core::ffi::c_int;
2964}
2965extern "C" {
2966 pub fn sqlite3changeset_fk_conflicts(
2967 pIter: *mut sqlite3_changeset_iter,
2968 pnOut: *mut ::core::ffi::c_int,
2969 ) -> ::core::ffi::c_int;
2970}
2971extern "C" {
2972 pub fn sqlite3changeset_finalize(
2973 pIter: *mut sqlite3_changeset_iter,
2974 ) -> ::core::ffi::c_int;
2975}
2976extern "C" {
2977 pub fn sqlite3changeset_invert(
2978 nIn: ::core::ffi::c_int,
2979 pIn: *const ::core::ffi::c_void,
2980 pnOut: *mut ::core::ffi::c_int,
2981 ppOut: *mut *mut ::core::ffi::c_void,
2982 ) -> ::core::ffi::c_int;
2983}
2984extern "C" {
2985 pub fn sqlite3changeset_concat(
2986 nA: ::core::ffi::c_int,
2987 pA: *mut ::core::ffi::c_void,
2988 nB: ::core::ffi::c_int,
2989 pB: *mut ::core::ffi::c_void,
2990 pnOut: *mut ::core::ffi::c_int,
2991 ppOut: *mut *mut ::core::ffi::c_void,
2992 ) -> ::core::ffi::c_int;
2993}
2994#[repr(C)]
2995#[derive(Debug, Copy, Clone)]
2996pub struct sqlite3_changegroup {
2997 _unused: [u8; 0],
2998}
2999extern "C" {
3000 pub fn sqlite3changegroup_new(
3001 pp: *mut *mut sqlite3_changegroup,
3002 ) -> ::core::ffi::c_int;
3003}
3004extern "C" {
3005 pub fn sqlite3changegroup_schema(
3006 arg1: *mut sqlite3_changegroup,
3007 arg2: *mut sqlite3,
3008 zDb: *const ::core::ffi::c_char,
3009 ) -> ::core::ffi::c_int;
3010}
3011extern "C" {
3012 pub fn sqlite3changegroup_add(
3013 arg1: *mut sqlite3_changegroup,
3014 nData: ::core::ffi::c_int,
3015 pData: *mut ::core::ffi::c_void,
3016 ) -> ::core::ffi::c_int;
3017}
3018extern "C" {
3019 pub fn sqlite3changegroup_add_change(
3020 arg1: *mut sqlite3_changegroup,
3021 arg2: *mut sqlite3_changeset_iter,
3022 ) -> ::core::ffi::c_int;
3023}
3024extern "C" {
3025 pub fn sqlite3changegroup_output(
3026 arg1: *mut sqlite3_changegroup,
3027 pnData: *mut ::core::ffi::c_int,
3028 ppData: *mut *mut ::core::ffi::c_void,
3029 ) -> ::core::ffi::c_int;
3030}
3031extern "C" {
3032 pub fn sqlite3changegroup_delete(arg1: *mut sqlite3_changegroup);
3033}
3034extern "C" {
3035 pub fn sqlite3changeset_apply(
3036 db: *mut sqlite3,
3037 nChangeset: ::core::ffi::c_int,
3038 pChangeset: *mut ::core::ffi::c_void,
3039 xFilter: ::core::option::Option<
3040 unsafe extern "C" fn(
3041 pCtx: *mut ::core::ffi::c_void,
3042 zTab: *const ::core::ffi::c_char,
3043 ) -> ::core::ffi::c_int,
3044 >,
3045 xConflict: ::core::option::Option<
3046 unsafe extern "C" fn(
3047 pCtx: *mut ::core::ffi::c_void,
3048 eConflict: ::core::ffi::c_int,
3049 p: *mut sqlite3_changeset_iter,
3050 ) -> ::core::ffi::c_int,
3051 >,
3052 pCtx: *mut ::core::ffi::c_void,
3053 ) -> ::core::ffi::c_int;
3054}
3055extern "C" {
3056 pub fn sqlite3changeset_apply_v2(
3057 db: *mut sqlite3,
3058 nChangeset: ::core::ffi::c_int,
3059 pChangeset: *mut ::core::ffi::c_void,
3060 xFilter: ::core::option::Option<
3061 unsafe extern "C" fn(
3062 pCtx: *mut ::core::ffi::c_void,
3063 zTab: *const ::core::ffi::c_char,
3064 ) -> ::core::ffi::c_int,
3065 >,
3066 xConflict: ::core::option::Option<
3067 unsafe extern "C" fn(
3068 pCtx: *mut ::core::ffi::c_void,
3069 eConflict: ::core::ffi::c_int,
3070 p: *mut sqlite3_changeset_iter,
3071 ) -> ::core::ffi::c_int,
3072 >,
3073 pCtx: *mut ::core::ffi::c_void,
3074 ppRebase: *mut *mut ::core::ffi::c_void,
3075 pnRebase: *mut ::core::ffi::c_int,
3076 flags: ::core::ffi::c_int,
3077 ) -> ::core::ffi::c_int;
3078}
3079extern "C" {
3080 pub fn sqlite3changeset_apply_v3(
3081 db: *mut sqlite3,
3082 nChangeset: ::core::ffi::c_int,
3083 pChangeset: *mut ::core::ffi::c_void,
3084 xFilter: ::core::option::Option<
3085 unsafe extern "C" fn(
3086 pCtx: *mut ::core::ffi::c_void,
3087 p: *mut sqlite3_changeset_iter,
3088 ) -> ::core::ffi::c_int,
3089 >,
3090 xConflict: ::core::option::Option<
3091 unsafe extern "C" fn(
3092 pCtx: *mut ::core::ffi::c_void,
3093 eConflict: ::core::ffi::c_int,
3094 p: *mut sqlite3_changeset_iter,
3095 ) -> ::core::ffi::c_int,
3096 >,
3097 pCtx: *mut ::core::ffi::c_void,
3098 ppRebase: *mut *mut ::core::ffi::c_void,
3099 pnRebase: *mut ::core::ffi::c_int,
3100 flags: ::core::ffi::c_int,
3101 ) -> ::core::ffi::c_int;
3102}
3103#[repr(C)]
3104#[derive(Debug, Copy, Clone)]
3105pub struct sqlite3_rebaser {
3106 _unused: [u8; 0],
3107}
3108extern "C" {
3109 pub fn sqlite3rebaser_create(ppNew: *mut *mut sqlite3_rebaser) -> ::core::ffi::c_int;
3110}
3111extern "C" {
3112 pub fn sqlite3rebaser_configure(
3113 arg1: *mut sqlite3_rebaser,
3114 nRebase: ::core::ffi::c_int,
3115 pRebase: *const ::core::ffi::c_void,
3116 ) -> ::core::ffi::c_int;
3117}
3118extern "C" {
3119 pub fn sqlite3rebaser_rebase(
3120 arg1: *mut sqlite3_rebaser,
3121 nIn: ::core::ffi::c_int,
3122 pIn: *const ::core::ffi::c_void,
3123 pnOut: *mut ::core::ffi::c_int,
3124 ppOut: *mut *mut ::core::ffi::c_void,
3125 ) -> ::core::ffi::c_int;
3126}
3127extern "C" {
3128 pub fn sqlite3rebaser_delete(p: *mut sqlite3_rebaser);
3129}
3130extern "C" {
3131 pub fn sqlite3changeset_apply_strm(
3132 db: *mut sqlite3,
3133 xInput: ::core::option::Option<
3134 unsafe extern "C" fn(
3135 pIn: *mut ::core::ffi::c_void,
3136 pData: *mut ::core::ffi::c_void,
3137 pnData: *mut ::core::ffi::c_int,
3138 ) -> ::core::ffi::c_int,
3139 >,
3140 pIn: *mut ::core::ffi::c_void,
3141 xFilter: ::core::option::Option<
3142 unsafe extern "C" fn(
3143 pCtx: *mut ::core::ffi::c_void,
3144 zTab: *const ::core::ffi::c_char,
3145 ) -> ::core::ffi::c_int,
3146 >,
3147 xConflict: ::core::option::Option<
3148 unsafe extern "C" fn(
3149 pCtx: *mut ::core::ffi::c_void,
3150 eConflict: ::core::ffi::c_int,
3151 p: *mut sqlite3_changeset_iter,
3152 ) -> ::core::ffi::c_int,
3153 >,
3154 pCtx: *mut ::core::ffi::c_void,
3155 ) -> ::core::ffi::c_int;
3156}
3157extern "C" {
3158 pub fn sqlite3changeset_apply_v2_strm(
3159 db: *mut sqlite3,
3160 xInput: ::core::option::Option<
3161 unsafe extern "C" fn(
3162 pIn: *mut ::core::ffi::c_void,
3163 pData: *mut ::core::ffi::c_void,
3164 pnData: *mut ::core::ffi::c_int,
3165 ) -> ::core::ffi::c_int,
3166 >,
3167 pIn: *mut ::core::ffi::c_void,
3168 xFilter: ::core::option::Option<
3169 unsafe extern "C" fn(
3170 pCtx: *mut ::core::ffi::c_void,
3171 zTab: *const ::core::ffi::c_char,
3172 ) -> ::core::ffi::c_int,
3173 >,
3174 xConflict: ::core::option::Option<
3175 unsafe extern "C" fn(
3176 pCtx: *mut ::core::ffi::c_void,
3177 eConflict: ::core::ffi::c_int,
3178 p: *mut sqlite3_changeset_iter,
3179 ) -> ::core::ffi::c_int,
3180 >,
3181 pCtx: *mut ::core::ffi::c_void,
3182 ppRebase: *mut *mut ::core::ffi::c_void,
3183 pnRebase: *mut ::core::ffi::c_int,
3184 flags: ::core::ffi::c_int,
3185 ) -> ::core::ffi::c_int;
3186}
3187extern "C" {
3188 pub fn sqlite3changeset_apply_v3_strm(
3189 db: *mut sqlite3,
3190 xInput: ::core::option::Option<
3191 unsafe extern "C" fn(
3192 pIn: *mut ::core::ffi::c_void,
3193 pData: *mut ::core::ffi::c_void,
3194 pnData: *mut ::core::ffi::c_int,
3195 ) -> ::core::ffi::c_int,
3196 >,
3197 pIn: *mut ::core::ffi::c_void,
3198 xFilter: ::core::option::Option<
3199 unsafe extern "C" fn(
3200 pCtx: *mut ::core::ffi::c_void,
3201 p: *mut sqlite3_changeset_iter,
3202 ) -> ::core::ffi::c_int,
3203 >,
3204 xConflict: ::core::option::Option<
3205 unsafe extern "C" fn(
3206 pCtx: *mut ::core::ffi::c_void,
3207 eConflict: ::core::ffi::c_int,
3208 p: *mut sqlite3_changeset_iter,
3209 ) -> ::core::ffi::c_int,
3210 >,
3211 pCtx: *mut ::core::ffi::c_void,
3212 ppRebase: *mut *mut ::core::ffi::c_void,
3213 pnRebase: *mut ::core::ffi::c_int,
3214 flags: ::core::ffi::c_int,
3215 ) -> ::core::ffi::c_int;
3216}
3217extern "C" {
3218 pub fn sqlite3changeset_concat_strm(
3219 xInputA: ::core::option::Option<
3220 unsafe extern "C" fn(
3221 pIn: *mut ::core::ffi::c_void,
3222 pData: *mut ::core::ffi::c_void,
3223 pnData: *mut ::core::ffi::c_int,
3224 ) -> ::core::ffi::c_int,
3225 >,
3226 pInA: *mut ::core::ffi::c_void,
3227 xInputB: ::core::option::Option<
3228 unsafe extern "C" fn(
3229 pIn: *mut ::core::ffi::c_void,
3230 pData: *mut ::core::ffi::c_void,
3231 pnData: *mut ::core::ffi::c_int,
3232 ) -> ::core::ffi::c_int,
3233 >,
3234 pInB: *mut ::core::ffi::c_void,
3235 xOutput: ::core::option::Option<
3236 unsafe extern "C" fn(
3237 pOut: *mut ::core::ffi::c_void,
3238 pData: *const ::core::ffi::c_void,
3239 nData: ::core::ffi::c_int,
3240 ) -> ::core::ffi::c_int,
3241 >,
3242 pOut: *mut ::core::ffi::c_void,
3243 ) -> ::core::ffi::c_int;
3244}
3245extern "C" {
3246 pub fn sqlite3changeset_invert_strm(
3247 xInput: ::core::option::Option<
3248 unsafe extern "C" fn(
3249 pIn: *mut ::core::ffi::c_void,
3250 pData: *mut ::core::ffi::c_void,
3251 pnData: *mut ::core::ffi::c_int,
3252 ) -> ::core::ffi::c_int,
3253 >,
3254 pIn: *mut ::core::ffi::c_void,
3255 xOutput: ::core::option::Option<
3256 unsafe extern "C" fn(
3257 pOut: *mut ::core::ffi::c_void,
3258 pData: *const ::core::ffi::c_void,
3259 nData: ::core::ffi::c_int,
3260 ) -> ::core::ffi::c_int,
3261 >,
3262 pOut: *mut ::core::ffi::c_void,
3263 ) -> ::core::ffi::c_int;
3264}
3265extern "C" {
3266 pub fn sqlite3changeset_start_strm(
3267 pp: *mut *mut sqlite3_changeset_iter,
3268 xInput: ::core::option::Option<
3269 unsafe extern "C" fn(
3270 pIn: *mut ::core::ffi::c_void,
3271 pData: *mut ::core::ffi::c_void,
3272 pnData: *mut ::core::ffi::c_int,
3273 ) -> ::core::ffi::c_int,
3274 >,
3275 pIn: *mut ::core::ffi::c_void,
3276 ) -> ::core::ffi::c_int;
3277}
3278extern "C" {
3279 pub fn sqlite3changeset_start_v2_strm(
3280 pp: *mut *mut sqlite3_changeset_iter,
3281 xInput: ::core::option::Option<
3282 unsafe extern "C" fn(
3283 pIn: *mut ::core::ffi::c_void,
3284 pData: *mut ::core::ffi::c_void,
3285 pnData: *mut ::core::ffi::c_int,
3286 ) -> ::core::ffi::c_int,
3287 >,
3288 pIn: *mut ::core::ffi::c_void,
3289 flags: ::core::ffi::c_int,
3290 ) -> ::core::ffi::c_int;
3291}
3292extern "C" {
3293 pub fn sqlite3session_changeset_strm(
3294 pSession: *mut sqlite3_session,
3295 xOutput: ::core::option::Option<
3296 unsafe extern "C" fn(
3297 pOut: *mut ::core::ffi::c_void,
3298 pData: *const ::core::ffi::c_void,
3299 nData: ::core::ffi::c_int,
3300 ) -> ::core::ffi::c_int,
3301 >,
3302 pOut: *mut ::core::ffi::c_void,
3303 ) -> ::core::ffi::c_int;
3304}
3305extern "C" {
3306 pub fn sqlite3session_patchset_strm(
3307 pSession: *mut sqlite3_session,
3308 xOutput: ::core::option::Option<
3309 unsafe extern "C" fn(
3310 pOut: *mut ::core::ffi::c_void,
3311 pData: *const ::core::ffi::c_void,
3312 nData: ::core::ffi::c_int,
3313 ) -> ::core::ffi::c_int,
3314 >,
3315 pOut: *mut ::core::ffi::c_void,
3316 ) -> ::core::ffi::c_int;
3317}
3318extern "C" {
3319 pub fn sqlite3changegroup_add_strm(
3320 arg1: *mut sqlite3_changegroup,
3321 xInput: ::core::option::Option<
3322 unsafe extern "C" fn(
3323 pIn: *mut ::core::ffi::c_void,
3324 pData: *mut ::core::ffi::c_void,
3325 pnData: *mut ::core::ffi::c_int,
3326 ) -> ::core::ffi::c_int,
3327 >,
3328 pIn: *mut ::core::ffi::c_void,
3329 ) -> ::core::ffi::c_int;
3330}
3331extern "C" {
3332 pub fn sqlite3changegroup_output_strm(
3333 arg1: *mut sqlite3_changegroup,
3334 xOutput: ::core::option::Option<
3335 unsafe extern "C" fn(
3336 pOut: *mut ::core::ffi::c_void,
3337 pData: *const ::core::ffi::c_void,
3338 nData: ::core::ffi::c_int,
3339 ) -> ::core::ffi::c_int,
3340 >,
3341 pOut: *mut ::core::ffi::c_void,
3342 ) -> ::core::ffi::c_int;
3343}
3344extern "C" {
3345 pub fn sqlite3rebaser_rebase_strm(
3346 pRebaser: *mut sqlite3_rebaser,
3347 xInput: ::core::option::Option<
3348 unsafe extern "C" fn(
3349 pIn: *mut ::core::ffi::c_void,
3350 pData: *mut ::core::ffi::c_void,
3351 pnData: *mut ::core::ffi::c_int,
3352 ) -> ::core::ffi::c_int,
3353 >,
3354 pIn: *mut ::core::ffi::c_void,
3355 xOutput: ::core::option::Option<
3356 unsafe extern "C" fn(
3357 pOut: *mut ::core::ffi::c_void,
3358 pData: *const ::core::ffi::c_void,
3359 nData: ::core::ffi::c_int,
3360 ) -> ::core::ffi::c_int,
3361 >,
3362 pOut: *mut ::core::ffi::c_void,
3363 ) -> ::core::ffi::c_int;
3364}
3365extern "C" {
3366 pub fn sqlite3session_config(
3367 op: ::core::ffi::c_int,
3368 pArg: *mut ::core::ffi::c_void,
3369 ) -> ::core::ffi::c_int;
3370}
3371extern "C" {
3372 pub fn sqlite3changegroup_config(
3373 arg1: *mut sqlite3_changegroup,
3374 arg2: ::core::ffi::c_int,
3375 pArg: *mut ::core::ffi::c_void,
3376 ) -> ::core::ffi::c_int;
3377}
3378extern "C" {
3379 pub fn sqlite3changegroup_change_begin(
3380 arg1: *mut sqlite3_changegroup,
3381 eOp: ::core::ffi::c_int,
3382 zTab: *const ::core::ffi::c_char,
3383 bIndirect: ::core::ffi::c_int,
3384 pzErr: *mut *mut ::core::ffi::c_char,
3385 ) -> ::core::ffi::c_int;
3386}
3387extern "C" {
3388 pub fn sqlite3changegroup_change_int64(
3389 arg1: *mut sqlite3_changegroup,
3390 bNew: ::core::ffi::c_int,
3391 iCol: ::core::ffi::c_int,
3392 iVal: sqlite3_int64,
3393 ) -> ::core::ffi::c_int;
3394}
3395extern "C" {
3396 pub fn sqlite3changegroup_change_null(
3397 arg1: *mut sqlite3_changegroup,
3398 arg2: ::core::ffi::c_int,
3399 arg3: ::core::ffi::c_int,
3400 ) -> ::core::ffi::c_int;
3401}
3402extern "C" {
3403 pub fn sqlite3changegroup_change_double(
3404 arg1: *mut sqlite3_changegroup,
3405 arg2: ::core::ffi::c_int,
3406 arg3: ::core::ffi::c_int,
3407 arg4: f64,
3408 ) -> ::core::ffi::c_int;
3409}
3410extern "C" {
3411 pub fn sqlite3changegroup_change_text(
3412 arg1: *mut sqlite3_changegroup,
3413 arg2: ::core::ffi::c_int,
3414 arg3: ::core::ffi::c_int,
3415 pVal: *const ::core::ffi::c_char,
3416 nVal: ::core::ffi::c_int,
3417 ) -> ::core::ffi::c_int;
3418}
3419extern "C" {
3420 pub fn sqlite3changegroup_change_blob(
3421 arg1: *mut sqlite3_changegroup,
3422 arg2: ::core::ffi::c_int,
3423 arg3: ::core::ffi::c_int,
3424 pVal: *const ::core::ffi::c_void,
3425 nVal: ::core::ffi::c_int,
3426 ) -> ::core::ffi::c_int;
3427}
3428extern "C" {
3429 pub fn sqlite3changegroup_change_finish(
3430 arg1: *mut sqlite3_changegroup,
3431 bDiscard: ::core::ffi::c_int,
3432 pzErr: *mut *mut ::core::ffi::c_char,
3433 ) -> ::core::ffi::c_int;
3434}
3435#[repr(C)]
3436#[derive(Debug, Copy, Clone)]
3437pub struct Fts5Context {
3438 _unused: [u8; 0],
3439}
3440pub type fts5_extension_function = ::core::option::Option<
3441 unsafe extern "C" fn(
3442 pApi: *const Fts5ExtensionApi,
3443 pFts: *mut Fts5Context,
3444 pCtx: *mut sqlite3_context,
3445 nVal: ::core::ffi::c_int,
3446 apVal: *mut *mut sqlite3_value,
3447 ),
3448>;
3449#[repr(C)]
3450#[derive(Debug, Copy, Clone)]
3451pub struct Fts5PhraseIter {
3452 pub a: *const ::core::ffi::c_uchar,
3453 pub b: *const ::core::ffi::c_uchar,
3454}
3455#[repr(C)]
3456#[derive(Debug, Copy, Clone)]
3457pub struct Fts5ExtensionApi {
3458 pub iVersion: ::core::ffi::c_int,
3459 pub xUserData: ::core::option::Option<
3460 unsafe extern "C" fn(arg1: *mut Fts5Context) -> *mut ::core::ffi::c_void,
3461 >,
3462 pub xColumnCount: ::core::option::Option<
3463 unsafe extern "C" fn(arg1: *mut Fts5Context) -> ::core::ffi::c_int,
3464 >,
3465 pub xRowCount: ::core::option::Option<
3466 unsafe extern "C" fn(
3467 arg1: *mut Fts5Context,
3468 pnRow: *mut sqlite3_int64,
3469 ) -> ::core::ffi::c_int,
3470 >,
3471 pub xColumnTotalSize: ::core::option::Option<
3472 unsafe extern "C" fn(
3473 arg1: *mut Fts5Context,
3474 iCol: ::core::ffi::c_int,
3475 pnToken: *mut sqlite3_int64,
3476 ) -> ::core::ffi::c_int,
3477 >,
3478 pub xTokenize: ::core::option::Option<
3479 unsafe extern "C" fn(
3480 arg1: *mut Fts5Context,
3481 pText: *const ::core::ffi::c_char,
3482 nText: ::core::ffi::c_int,
3483 pCtx: *mut ::core::ffi::c_void,
3484 xToken: ::core::option::Option<
3485 unsafe extern "C" fn(
3486 arg1: *mut ::core::ffi::c_void,
3487 arg2: ::core::ffi::c_int,
3488 arg3: *const ::core::ffi::c_char,
3489 arg4: ::core::ffi::c_int,
3490 arg5: ::core::ffi::c_int,
3491 arg6: ::core::ffi::c_int,
3492 ) -> ::core::ffi::c_int,
3493 >,
3494 ) -> ::core::ffi::c_int,
3495 >,
3496 pub xPhraseCount: ::core::option::Option<
3497 unsafe extern "C" fn(arg1: *mut Fts5Context) -> ::core::ffi::c_int,
3498 >,
3499 pub xPhraseSize: ::core::option::Option<
3500 unsafe extern "C" fn(
3501 arg1: *mut Fts5Context,
3502 iPhrase: ::core::ffi::c_int,
3503 ) -> ::core::ffi::c_int,
3504 >,
3505 pub xInstCount: ::core::option::Option<
3506 unsafe extern "C" fn(
3507 arg1: *mut Fts5Context,
3508 pnInst: *mut ::core::ffi::c_int,
3509 ) -> ::core::ffi::c_int,
3510 >,
3511 pub xInst: ::core::option::Option<
3512 unsafe extern "C" fn(
3513 arg1: *mut Fts5Context,
3514 iIdx: ::core::ffi::c_int,
3515 piPhrase: *mut ::core::ffi::c_int,
3516 piCol: *mut ::core::ffi::c_int,
3517 piOff: *mut ::core::ffi::c_int,
3518 ) -> ::core::ffi::c_int,
3519 >,
3520 pub xRowid: ::core::option::Option<
3521 unsafe extern "C" fn(arg1: *mut Fts5Context) -> sqlite3_int64,
3522 >,
3523 pub xColumnText: ::core::option::Option<
3524 unsafe extern "C" fn(
3525 arg1: *mut Fts5Context,
3526 iCol: ::core::ffi::c_int,
3527 pz: *mut *const ::core::ffi::c_char,
3528 pn: *mut ::core::ffi::c_int,
3529 ) -> ::core::ffi::c_int,
3530 >,
3531 pub xColumnSize: ::core::option::Option<
3532 unsafe extern "C" fn(
3533 arg1: *mut Fts5Context,
3534 iCol: ::core::ffi::c_int,
3535 pnToken: *mut ::core::ffi::c_int,
3536 ) -> ::core::ffi::c_int,
3537 >,
3538 pub xQueryPhrase: ::core::option::Option<
3539 unsafe extern "C" fn(
3540 arg1: *mut Fts5Context,
3541 iPhrase: ::core::ffi::c_int,
3542 pUserData: *mut ::core::ffi::c_void,
3543 arg2: ::core::option::Option<
3544 unsafe extern "C" fn(
3545 arg1: *const Fts5ExtensionApi,
3546 arg2: *mut Fts5Context,
3547 arg3: *mut ::core::ffi::c_void,
3548 ) -> ::core::ffi::c_int,
3549 >,
3550 ) -> ::core::ffi::c_int,
3551 >,
3552 pub xSetAuxdata: ::core::option::Option<
3553 unsafe extern "C" fn(
3554 arg1: *mut Fts5Context,
3555 pAux: *mut ::core::ffi::c_void,
3556 xDelete: ::core::option::Option<
3557 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
3558 >,
3559 ) -> ::core::ffi::c_int,
3560 >,
3561 pub xGetAuxdata: ::core::option::Option<
3562 unsafe extern "C" fn(
3563 arg1: *mut Fts5Context,
3564 bClear: ::core::ffi::c_int,
3565 ) -> *mut ::core::ffi::c_void,
3566 >,
3567 pub xPhraseFirst: ::core::option::Option<
3568 unsafe extern "C" fn(
3569 arg1: *mut Fts5Context,
3570 iPhrase: ::core::ffi::c_int,
3571 arg2: *mut Fts5PhraseIter,
3572 arg3: *mut ::core::ffi::c_int,
3573 arg4: *mut ::core::ffi::c_int,
3574 ) -> ::core::ffi::c_int,
3575 >,
3576 pub xPhraseNext: ::core::option::Option<
3577 unsafe extern "C" fn(
3578 arg1: *mut Fts5Context,
3579 arg2: *mut Fts5PhraseIter,
3580 piCol: *mut ::core::ffi::c_int,
3581 piOff: *mut ::core::ffi::c_int,
3582 ),
3583 >,
3584 pub xPhraseFirstColumn: ::core::option::Option<
3585 unsafe extern "C" fn(
3586 arg1: *mut Fts5Context,
3587 iPhrase: ::core::ffi::c_int,
3588 arg2: *mut Fts5PhraseIter,
3589 arg3: *mut ::core::ffi::c_int,
3590 ) -> ::core::ffi::c_int,
3591 >,
3592 pub xPhraseNextColumn: ::core::option::Option<
3593 unsafe extern "C" fn(
3594 arg1: *mut Fts5Context,
3595 arg2: *mut Fts5PhraseIter,
3596 piCol: *mut ::core::ffi::c_int,
3597 ),
3598 >,
3599 pub xQueryToken: ::core::option::Option<
3600 unsafe extern "C" fn(
3601 arg1: *mut Fts5Context,
3602 iPhrase: ::core::ffi::c_int,
3603 iToken: ::core::ffi::c_int,
3604 ppToken: *mut *const ::core::ffi::c_char,
3605 pnToken: *mut ::core::ffi::c_int,
3606 ) -> ::core::ffi::c_int,
3607 >,
3608 pub xInstToken: ::core::option::Option<
3609 unsafe extern "C" fn(
3610 arg1: *mut Fts5Context,
3611 iIdx: ::core::ffi::c_int,
3612 iToken: ::core::ffi::c_int,
3613 arg2: *mut *const ::core::ffi::c_char,
3614 arg3: *mut ::core::ffi::c_int,
3615 ) -> ::core::ffi::c_int,
3616 >,
3617 pub xColumnLocale: ::core::option::Option<
3618 unsafe extern "C" fn(
3619 arg1: *mut Fts5Context,
3620 iCol: ::core::ffi::c_int,
3621 pz: *mut *const ::core::ffi::c_char,
3622 pn: *mut ::core::ffi::c_int,
3623 ) -> ::core::ffi::c_int,
3624 >,
3625 pub xTokenize_v2: ::core::option::Option<
3626 unsafe extern "C" fn(
3627 arg1: *mut Fts5Context,
3628 pText: *const ::core::ffi::c_char,
3629 nText: ::core::ffi::c_int,
3630 pLocale: *const ::core::ffi::c_char,
3631 nLocale: ::core::ffi::c_int,
3632 pCtx: *mut ::core::ffi::c_void,
3633 xToken: ::core::option::Option<
3634 unsafe extern "C" fn(
3635 arg1: *mut ::core::ffi::c_void,
3636 arg2: ::core::ffi::c_int,
3637 arg3: *const ::core::ffi::c_char,
3638 arg4: ::core::ffi::c_int,
3639 arg5: ::core::ffi::c_int,
3640 arg6: ::core::ffi::c_int,
3641 ) -> ::core::ffi::c_int,
3642 >,
3643 ) -> ::core::ffi::c_int,
3644 >,
3645}
3646#[repr(C)]
3647#[derive(Debug, Copy, Clone)]
3648pub struct Fts5Tokenizer {
3649 _unused: [u8; 0],
3650}
3651#[repr(C)]
3652#[derive(Debug, Copy, Clone)]
3653pub struct fts5_tokenizer_v2 {
3654 pub iVersion: ::core::ffi::c_int,
3655 pub xCreate: ::core::option::Option<
3656 unsafe extern "C" fn(
3657 arg1: *mut ::core::ffi::c_void,
3658 azArg: *mut *const ::core::ffi::c_char,
3659 nArg: ::core::ffi::c_int,
3660 ppOut: *mut *mut Fts5Tokenizer,
3661 ) -> ::core::ffi::c_int,
3662 >,
3663 pub xDelete: ::core::option::Option<unsafe extern "C" fn(arg1: *mut Fts5Tokenizer)>,
3664 pub xTokenize: ::core::option::Option<
3665 unsafe extern "C" fn(
3666 arg1: *mut Fts5Tokenizer,
3667 pCtx: *mut ::core::ffi::c_void,
3668 flags: ::core::ffi::c_int,
3669 pText: *const ::core::ffi::c_char,
3670 nText: ::core::ffi::c_int,
3671 pLocale: *const ::core::ffi::c_char,
3672 nLocale: ::core::ffi::c_int,
3673 xToken: ::core::option::Option<
3674 unsafe extern "C" fn(
3675 pCtx: *mut ::core::ffi::c_void,
3676 tflags: ::core::ffi::c_int,
3677 pToken: *const ::core::ffi::c_char,
3678 nToken: ::core::ffi::c_int,
3679 iStart: ::core::ffi::c_int,
3680 iEnd: ::core::ffi::c_int,
3681 ) -> ::core::ffi::c_int,
3682 >,
3683 ) -> ::core::ffi::c_int,
3684 >,
3685}
3686#[repr(C)]
3687#[derive(Debug, Copy, Clone)]
3688pub struct fts5_tokenizer {
3689 pub xCreate: ::core::option::Option<
3690 unsafe extern "C" fn(
3691 arg1: *mut ::core::ffi::c_void,
3692 azArg: *mut *const ::core::ffi::c_char,
3693 nArg: ::core::ffi::c_int,
3694 ppOut: *mut *mut Fts5Tokenizer,
3695 ) -> ::core::ffi::c_int,
3696 >,
3697 pub xDelete: ::core::option::Option<unsafe extern "C" fn(arg1: *mut Fts5Tokenizer)>,
3698 pub xTokenize: ::core::option::Option<
3699 unsafe extern "C" fn(
3700 arg1: *mut Fts5Tokenizer,
3701 pCtx: *mut ::core::ffi::c_void,
3702 flags: ::core::ffi::c_int,
3703 pText: *const ::core::ffi::c_char,
3704 nText: ::core::ffi::c_int,
3705 xToken: ::core::option::Option<
3706 unsafe extern "C" fn(
3707 pCtx: *mut ::core::ffi::c_void,
3708 tflags: ::core::ffi::c_int,
3709 pToken: *const ::core::ffi::c_char,
3710 nToken: ::core::ffi::c_int,
3711 iStart: ::core::ffi::c_int,
3712 iEnd: ::core::ffi::c_int,
3713 ) -> ::core::ffi::c_int,
3714 >,
3715 ) -> ::core::ffi::c_int,
3716 >,
3717}
3718#[repr(C)]
3719#[derive(Debug, Copy, Clone)]
3720pub struct fts5_api {
3721 pub iVersion: ::core::ffi::c_int,
3722 pub xCreateTokenizer: ::core::option::Option<
3723 unsafe extern "C" fn(
3724 pApi: *mut fts5_api,
3725 zName: *const ::core::ffi::c_char,
3726 pUserData: *mut ::core::ffi::c_void,
3727 pTokenizer: *mut fts5_tokenizer,
3728 xDestroy: ::core::option::Option<
3729 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
3730 >,
3731 ) -> ::core::ffi::c_int,
3732 >,
3733 pub xFindTokenizer: ::core::option::Option<
3734 unsafe extern "C" fn(
3735 pApi: *mut fts5_api,
3736 zName: *const ::core::ffi::c_char,
3737 ppUserData: *mut *mut ::core::ffi::c_void,
3738 pTokenizer: *mut fts5_tokenizer,
3739 ) -> ::core::ffi::c_int,
3740 >,
3741 pub xCreateFunction: ::core::option::Option<
3742 unsafe extern "C" fn(
3743 pApi: *mut fts5_api,
3744 zName: *const ::core::ffi::c_char,
3745 pUserData: *mut ::core::ffi::c_void,
3746 xFunction: fts5_extension_function,
3747 xDestroy: ::core::option::Option<
3748 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
3749 >,
3750 ) -> ::core::ffi::c_int,
3751 >,
3752 pub xCreateTokenizer_v2: ::core::option::Option<
3753 unsafe extern "C" fn(
3754 pApi: *mut fts5_api,
3755 zName: *const ::core::ffi::c_char,
3756 pUserData: *mut ::core::ffi::c_void,
3757 pTokenizer: *mut fts5_tokenizer_v2,
3758 xDestroy: ::core::option::Option<
3759 unsafe extern "C" fn(arg1: *mut ::core::ffi::c_void),
3760 >,
3761 ) -> ::core::ffi::c_int,
3762 >,
3763 pub xFindTokenizer_v2: ::core::option::Option<
3764 unsafe extern "C" fn(
3765 pApi: *mut fts5_api,
3766 zName: *const ::core::ffi::c_char,
3767 ppUserData: *mut *mut ::core::ffi::c_void,
3768 ppTokenizer: *mut *mut fts5_tokenizer_v2,
3769 ) -> ::core::ffi::c_int,
3770 >,
3771}