Skip to main content

sqlite_wasm_rs/bindings/
sqlite3_bindgen.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3extern "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    // SQLITE_ERROR
32    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    // SQLITE_ERROR
39    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;
568unsafe extern "C" {
569    pub static sqlite3_version: [::core::ffi::c_char; 0usize];
570}
571unsafe extern "C" {
572    pub fn sqlite3_libversion() -> *const ::core::ffi::c_char;
573}
574unsafe extern "C" {
575    pub fn sqlite3_sourceid() -> *const ::core::ffi::c_char;
576}
577unsafe extern "C" {
578    pub fn sqlite3_libversion_number() -> ::core::ffi::c_int;
579}
580unsafe extern "C" {
581    pub fn sqlite3_compileoption_used(
582        zOptName: *const ::core::ffi::c_char,
583    ) -> ::core::ffi::c_int;
584}
585unsafe extern "C" {
586    pub fn sqlite3_compileoption_get(
587        N: ::core::ffi::c_int,
588    ) -> *const ::core::ffi::c_char;
589}
590unsafe extern "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;
602unsafe extern "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>;
613unsafe extern "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}
882unsafe extern "C" {
883    pub fn sqlite3_initialize() -> ::core::ffi::c_int;
884}
885unsafe extern "C" {
886    pub fn sqlite3_shutdown() -> ::core::ffi::c_int;
887}
888unsafe extern "C" {
889    pub fn sqlite3_os_init() -> ::core::ffi::c_int;
890}
891unsafe extern "C" {
892    pub fn sqlite3_os_end() -> ::core::ffi::c_int;
893}
894unsafe extern "C" {
895    pub fn sqlite3_config(arg1: ::core::ffi::c_int, ...) -> ::core::ffi::c_int;
896}
897unsafe extern "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}
933unsafe extern "C" {
934    pub fn sqlite3_extended_result_codes(
935        arg1: *mut sqlite3,
936        onoff: ::core::ffi::c_int,
937    ) -> ::core::ffi::c_int;
938}
939unsafe extern "C" {
940    pub fn sqlite3_last_insert_rowid(arg1: *mut sqlite3) -> sqlite3_int64;
941}
942unsafe extern "C" {
943    pub fn sqlite3_set_last_insert_rowid(arg1: *mut sqlite3, arg2: sqlite3_int64);
944}
945unsafe extern "C" {
946    pub fn sqlite3_changes(arg1: *mut sqlite3) -> ::core::ffi::c_int;
947}
948unsafe extern "C" {
949    pub fn sqlite3_changes64(arg1: *mut sqlite3) -> sqlite3_int64;
950}
951unsafe extern "C" {
952    pub fn sqlite3_total_changes(arg1: *mut sqlite3) -> ::core::ffi::c_int;
953}
954unsafe extern "C" {
955    pub fn sqlite3_total_changes64(arg1: *mut sqlite3) -> sqlite3_int64;
956}
957unsafe extern "C" {
958    pub fn sqlite3_interrupt(arg1: *mut sqlite3);
959}
960unsafe extern "C" {
961    pub fn sqlite3_is_interrupted(arg1: *mut sqlite3) -> ::core::ffi::c_int;
962}
963unsafe extern "C" {
964    pub fn sqlite3_complete(sql: *const ::core::ffi::c_char) -> ::core::ffi::c_int;
965}
966unsafe extern "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}
978unsafe extern "C" {
979    pub fn sqlite3_busy_timeout(
980        arg1: *mut sqlite3,
981        ms: ::core::ffi::c_int,
982    ) -> ::core::ffi::c_int;
983}
984unsafe extern "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}
991unsafe extern "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}
1001unsafe extern "C" {
1002    pub fn sqlite3_free_table(result: *mut *mut ::core::ffi::c_char);
1003}
1004unsafe extern "C" {
1005    pub fn sqlite3_mprintf(
1006        arg1: *const ::core::ffi::c_char,
1007        ...
1008    ) -> *mut ::core::ffi::c_char;
1009}
1010unsafe extern "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}
1018unsafe extern "C" {
1019    pub fn sqlite3_malloc(arg1: ::core::ffi::c_int) -> *mut ::core::ffi::c_void;
1020}
1021unsafe extern "C" {
1022    pub fn sqlite3_malloc64(arg1: sqlite3_uint64) -> *mut ::core::ffi::c_void;
1023}
1024unsafe extern "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}
1030unsafe extern "C" {
1031    pub fn sqlite3_realloc64(
1032        arg1: *mut ::core::ffi::c_void,
1033        arg2: sqlite3_uint64,
1034    ) -> *mut ::core::ffi::c_void;
1035}
1036unsafe extern "C" {
1037    pub fn sqlite3_free(arg1: *mut ::core::ffi::c_void);
1038}
1039unsafe extern "C" {
1040    pub fn sqlite3_msize(arg1: *mut ::core::ffi::c_void) -> sqlite3_uint64;
1041}
1042unsafe extern "C" {
1043    pub fn sqlite3_memory_used() -> sqlite3_int64;
1044}
1045unsafe extern "C" {
1046    pub fn sqlite3_memory_highwater(resetFlag: ::core::ffi::c_int) -> sqlite3_int64;
1047}
1048unsafe extern "C" {
1049    pub fn sqlite3_randomness(N: ::core::ffi::c_int, P: *mut ::core::ffi::c_void);
1050}
1051unsafe extern "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}
1067unsafe extern "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}
1082unsafe extern "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}
1092unsafe extern "C" {
1093    pub fn sqlite3_open(
1094        filename: *const ::core::ffi::c_char,
1095        ppDb: *mut *mut sqlite3,
1096    ) -> ::core::ffi::c_int;
1097}
1098unsafe extern "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}
1106unsafe extern "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}
1112unsafe extern "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}
1119unsafe extern "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}
1126unsafe extern "C" {
1127    pub fn sqlite3_uri_key(
1128        z: sqlite3_filename,
1129        N: ::core::ffi::c_int,
1130    ) -> *const ::core::ffi::c_char;
1131}
1132unsafe extern "C" {
1133    pub fn sqlite3_filename_database(
1134        arg1: sqlite3_filename,
1135    ) -> *const ::core::ffi::c_char;
1136}
1137unsafe extern "C" {
1138    pub fn sqlite3_filename_journal(
1139        arg1: sqlite3_filename,
1140    ) -> *const ::core::ffi::c_char;
1141}
1142unsafe extern "C" {
1143    pub fn sqlite3_filename_wal(arg1: sqlite3_filename) -> *const ::core::ffi::c_char;
1144}
1145unsafe extern "C" {
1146    pub fn sqlite3_database_file_object(
1147        arg1: *const ::core::ffi::c_char,
1148    ) -> *mut sqlite3_file;
1149}
1150unsafe extern "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}
1159unsafe extern "C" {
1160    pub fn sqlite3_free_filename(arg1: sqlite3_filename);
1161}
1162unsafe extern "C" {
1163    pub fn sqlite3_errcode(db: *mut sqlite3) -> ::core::ffi::c_int;
1164}
1165unsafe extern "C" {
1166    pub fn sqlite3_extended_errcode(db: *mut sqlite3) -> ::core::ffi::c_int;
1167}
1168unsafe extern "C" {
1169    pub fn sqlite3_errmsg(arg1: *mut sqlite3) -> *const ::core::ffi::c_char;
1170}
1171unsafe extern "C" {
1172    pub fn sqlite3_errstr(arg1: ::core::ffi::c_int) -> *const ::core::ffi::c_char;
1173}
1174unsafe extern "C" {
1175    pub fn sqlite3_error_offset(db: *mut sqlite3) -> ::core::ffi::c_int;
1176}
1177unsafe extern "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}
1189unsafe extern "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}
1196unsafe extern "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}
1205unsafe extern "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}
1215unsafe extern "C" {
1216    pub fn sqlite3_sql(pStmt: *mut sqlite3_stmt) -> *const ::core::ffi::c_char;
1217}
1218unsafe extern "C" {
1219    pub fn sqlite3_expanded_sql(pStmt: *mut sqlite3_stmt) -> *mut ::core::ffi::c_char;
1220}
1221unsafe extern "C" {
1222    pub fn sqlite3_stmt_readonly(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1223}
1224unsafe extern "C" {
1225    pub fn sqlite3_stmt_isexplain(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1226}
1227unsafe extern "C" {
1228    pub fn sqlite3_stmt_explain(
1229        pStmt: *mut sqlite3_stmt,
1230        eMode: ::core::ffi::c_int,
1231    ) -> ::core::ffi::c_int;
1232}
1233unsafe extern "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}
1246unsafe extern "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}
1257unsafe extern "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}
1268unsafe extern "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}
1275unsafe extern "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}
1282unsafe extern "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}
1289unsafe extern "C" {
1290    pub fn sqlite3_bind_null(
1291        arg1: *mut sqlite3_stmt,
1292        arg2: ::core::ffi::c_int,
1293    ) -> ::core::ffi::c_int;
1294}
1295unsafe extern "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}
1306unsafe extern "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}
1318unsafe extern "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}
1325unsafe extern "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}
1336unsafe extern "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}
1343unsafe extern "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}
1350unsafe extern "C" {
1351    pub fn sqlite3_bind_parameter_count(arg1: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1352}
1353unsafe extern "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}
1359unsafe extern "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}
1365unsafe extern "C" {
1366    pub fn sqlite3_clear_bindings(arg1: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1367}
1368unsafe extern "C" {
1369    pub fn sqlite3_column_count(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1370}
1371unsafe extern "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}
1377unsafe extern "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}
1383unsafe extern "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}
1389unsafe extern "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}
1395unsafe extern "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}
1401unsafe extern "C" {
1402    pub fn sqlite3_step(arg1: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1403}
1404unsafe extern "C" {
1405    pub fn sqlite3_data_count(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1406}
1407unsafe extern "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}
1413unsafe extern "C" {
1414    pub fn sqlite3_column_double(
1415        arg1: *mut sqlite3_stmt,
1416        iCol: ::core::ffi::c_int,
1417    ) -> f64;
1418}
1419unsafe extern "C" {
1420    pub fn sqlite3_column_int(
1421        arg1: *mut sqlite3_stmt,
1422        iCol: ::core::ffi::c_int,
1423    ) -> ::core::ffi::c_int;
1424}
1425unsafe extern "C" {
1426    pub fn sqlite3_column_int64(
1427        arg1: *mut sqlite3_stmt,
1428        iCol: ::core::ffi::c_int,
1429    ) -> sqlite3_int64;
1430}
1431unsafe extern "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}
1437unsafe extern "C" {
1438    pub fn sqlite3_column_value(
1439        arg1: *mut sqlite3_stmt,
1440        iCol: ::core::ffi::c_int,
1441    ) -> *mut sqlite3_value;
1442}
1443unsafe extern "C" {
1444    pub fn sqlite3_column_bytes(
1445        arg1: *mut sqlite3_stmt,
1446        iCol: ::core::ffi::c_int,
1447    ) -> ::core::ffi::c_int;
1448}
1449unsafe extern "C" {
1450    pub fn sqlite3_column_type(
1451        arg1: *mut sqlite3_stmt,
1452        iCol: ::core::ffi::c_int,
1453    ) -> ::core::ffi::c_int;
1454}
1455unsafe extern "C" {
1456    pub fn sqlite3_finalize(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1457}
1458unsafe extern "C" {
1459    pub fn sqlite3_reset(pStmt: *mut sqlite3_stmt) -> ::core::ffi::c_int;
1460}
1461unsafe extern "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}
1488unsafe extern "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}
1516unsafe extern "C" {
1517    pub fn sqlite3_value_blob(arg1: *mut sqlite3_value) -> *const ::core::ffi::c_void;
1518}
1519unsafe extern "C" {
1520    pub fn sqlite3_value_double(arg1: *mut sqlite3_value) -> f64;
1521}
1522unsafe extern "C" {
1523    pub fn sqlite3_value_int(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1524}
1525unsafe extern "C" {
1526    pub fn sqlite3_value_int64(arg1: *mut sqlite3_value) -> sqlite3_int64;
1527}
1528unsafe extern "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}
1534unsafe extern "C" {
1535    pub fn sqlite3_value_text(arg1: *mut sqlite3_value) -> *const ::core::ffi::c_uchar;
1536}
1537unsafe extern "C" {
1538    pub fn sqlite3_value_bytes(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1539}
1540unsafe extern "C" {
1541    pub fn sqlite3_value_type(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1542}
1543unsafe extern "C" {
1544    pub fn sqlite3_value_numeric_type(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1545}
1546unsafe extern "C" {
1547    pub fn sqlite3_value_nochange(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1548}
1549unsafe extern "C" {
1550    pub fn sqlite3_value_frombind(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1551}
1552unsafe extern "C" {
1553    pub fn sqlite3_value_encoding(arg1: *mut sqlite3_value) -> ::core::ffi::c_int;
1554}
1555unsafe extern "C" {
1556    pub fn sqlite3_value_subtype(arg1: *mut sqlite3_value) -> ::core::ffi::c_uint;
1557}
1558unsafe extern "C" {
1559    pub fn sqlite3_value_dup(arg1: *const sqlite3_value) -> *mut sqlite3_value;
1560}
1561unsafe extern "C" {
1562    pub fn sqlite3_value_free(arg1: *mut sqlite3_value);
1563}
1564unsafe extern "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}
1570unsafe extern "C" {
1571    pub fn sqlite3_user_data(arg1: *mut sqlite3_context) -> *mut ::core::ffi::c_void;
1572}
1573unsafe extern "C" {
1574    pub fn sqlite3_context_db_handle(arg1: *mut sqlite3_context) -> *mut sqlite3;
1575}
1576unsafe extern "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}
1582unsafe extern "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}
1592unsafe extern "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}
1598unsafe extern "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>;
1611unsafe extern "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}
1621unsafe extern "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}
1631unsafe extern "C" {
1632    pub fn sqlite3_result_double(arg1: *mut sqlite3_context, arg2: f64);
1633}
1634unsafe extern "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}
1641unsafe extern "C" {
1642    pub fn sqlite3_result_error_toobig(arg1: *mut sqlite3_context);
1643}
1644unsafe extern "C" {
1645    pub fn sqlite3_result_error_nomem(arg1: *mut sqlite3_context);
1646}
1647unsafe extern "C" {
1648    pub fn sqlite3_result_error_code(
1649        arg1: *mut sqlite3_context,
1650        arg2: ::core::ffi::c_int,
1651    );
1652}
1653unsafe extern "C" {
1654    pub fn sqlite3_result_int(arg1: *mut sqlite3_context, arg2: ::core::ffi::c_int);
1655}
1656unsafe extern "C" {
1657    pub fn sqlite3_result_int64(arg1: *mut sqlite3_context, arg2: sqlite3_int64);
1658}
1659unsafe extern "C" {
1660    pub fn sqlite3_result_null(arg1: *mut sqlite3_context);
1661}
1662unsafe extern "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}
1672unsafe extern "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}
1683unsafe extern "C" {
1684    pub fn sqlite3_result_value(arg1: *mut sqlite3_context, arg2: *mut sqlite3_value);
1685}
1686unsafe extern "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}
1696unsafe extern "C" {
1697    pub fn sqlite3_result_zeroblob(arg1: *mut sqlite3_context, n: ::core::ffi::c_int);
1698}
1699unsafe extern "C" {
1700    pub fn sqlite3_result_zeroblob64(
1701        arg1: *mut sqlite3_context,
1702        n: sqlite3_uint64,
1703    ) -> ::core::ffi::c_int;
1704}
1705unsafe extern "C" {
1706    pub fn sqlite3_result_subtype(arg1: *mut sqlite3_context, arg2: ::core::ffi::c_uint);
1707}
1708unsafe extern "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}
1728unsafe extern "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}
1742unsafe extern "C" {
1743    pub fn sqlite3_sleep(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int;
1744}
1745unsafe extern "C" {
1746    pub static mut sqlite3_temp_directory: *mut ::core::ffi::c_char;
1747}
1748unsafe extern "C" {
1749    pub static mut sqlite3_data_directory: *mut ::core::ffi::c_char;
1750}
1751unsafe extern "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}
1757unsafe extern "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}
1763unsafe extern "C" {
1764    pub fn sqlite3_get_autocommit(arg1: *mut sqlite3) -> ::core::ffi::c_int;
1765}
1766unsafe extern "C" {
1767    pub fn sqlite3_db_handle(arg1: *mut sqlite3_stmt) -> *mut sqlite3;
1768}
1769unsafe extern "C" {
1770    pub fn sqlite3_db_name(
1771        db: *mut sqlite3,
1772        N: ::core::ffi::c_int,
1773    ) -> *const ::core::ffi::c_char;
1774}
1775unsafe extern "C" {
1776    pub fn sqlite3_db_filename(
1777        db: *mut sqlite3,
1778        zDbName: *const ::core::ffi::c_char,
1779    ) -> sqlite3_filename;
1780}
1781unsafe extern "C" {
1782    pub fn sqlite3_db_readonly(
1783        db: *mut sqlite3,
1784        zDbName: *const ::core::ffi::c_char,
1785    ) -> ::core::ffi::c_int;
1786}
1787unsafe extern "C" {
1788    pub fn sqlite3_txn_state(
1789        arg1: *mut sqlite3,
1790        zSchema: *const ::core::ffi::c_char,
1791    ) -> ::core::ffi::c_int;
1792}
1793unsafe extern "C" {
1794    pub fn sqlite3_next_stmt(
1795        pDb: *mut sqlite3,
1796        pStmt: *mut sqlite3_stmt,
1797    ) -> *mut sqlite3_stmt;
1798}
1799unsafe extern "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}
1808unsafe extern "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}
1817unsafe extern "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}
1835unsafe extern "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}
1850unsafe extern "C" {
1851    pub fn sqlite3_enable_shared_cache(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int;
1852}
1853unsafe extern "C" {
1854    pub fn sqlite3_release_memory(arg1: ::core::ffi::c_int) -> ::core::ffi::c_int;
1855}
1856unsafe extern "C" {
1857    pub fn sqlite3_db_release_memory(arg1: *mut sqlite3) -> ::core::ffi::c_int;
1858}
1859unsafe extern "C" {
1860    pub fn sqlite3_soft_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
1861}
1862unsafe extern "C" {
1863    pub fn sqlite3_hard_heap_limit64(N: sqlite3_int64) -> sqlite3_int64;
1864}
1865unsafe extern "C" {
1866    pub fn sqlite3_soft_heap_limit(N: ::core::ffi::c_int);
1867}
1868unsafe extern "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}
1881unsafe extern "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}
2066unsafe extern "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}
2077unsafe extern "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}
2095unsafe extern "C" {
2096    pub fn sqlite3_declare_vtab(
2097        arg1: *mut sqlite3,
2098        zSQL: *const ::core::ffi::c_char,
2099    ) -> ::core::ffi::c_int;
2100}
2101unsafe extern "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}
2113unsafe extern "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}
2124unsafe extern "C" {
2125    pub fn sqlite3_blob_reopen(
2126        arg1: *mut sqlite3_blob,
2127        arg2: sqlite3_int64,
2128    ) -> ::core::ffi::c_int;
2129}
2130unsafe extern "C" {
2131    pub fn sqlite3_blob_close(arg1: *mut sqlite3_blob) -> ::core::ffi::c_int;
2132}
2133unsafe extern "C" {
2134    pub fn sqlite3_blob_bytes(arg1: *mut sqlite3_blob) -> ::core::ffi::c_int;
2135}
2136unsafe extern "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}
2144unsafe extern "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}
2152unsafe extern "C" {
2153    pub fn sqlite3_vfs_find(zVfsName: *const ::core::ffi::c_char) -> *mut sqlite3_vfs;
2154}
2155unsafe extern "C" {
2156    pub fn sqlite3_vfs_register(
2157        arg1: *mut sqlite3_vfs,
2158        makeDflt: ::core::ffi::c_int,
2159    ) -> ::core::ffi::c_int;
2160}
2161unsafe extern "C" {
2162    pub fn sqlite3_vfs_unregister(arg1: *mut sqlite3_vfs) -> ::core::ffi::c_int;
2163}
2164unsafe extern "C" {
2165    pub fn sqlite3_mutex_alloc(arg1: ::core::ffi::c_int) -> *mut sqlite3_mutex;
2166}
2167unsafe extern "C" {
2168    pub fn sqlite3_mutex_free(arg1: *mut sqlite3_mutex);
2169}
2170unsafe extern "C" {
2171    pub fn sqlite3_mutex_enter(arg1: *mut sqlite3_mutex);
2172}
2173unsafe extern "C" {
2174    pub fn sqlite3_mutex_try(arg1: *mut sqlite3_mutex) -> ::core::ffi::c_int;
2175}
2176unsafe extern "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}
2206unsafe extern "C" {
2207    pub fn sqlite3_mutex_held(arg1: *mut sqlite3_mutex) -> ::core::ffi::c_int;
2208}
2209unsafe extern "C" {
2210    pub fn sqlite3_mutex_notheld(arg1: *mut sqlite3_mutex) -> ::core::ffi::c_int;
2211}
2212unsafe extern "C" {
2213    pub fn sqlite3_db_mutex(arg1: *mut sqlite3) -> *mut sqlite3_mutex;
2214}
2215unsafe extern "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}
2223unsafe extern "C" {
2224    pub fn sqlite3_test_control(op: ::core::ffi::c_int, ...) -> ::core::ffi::c_int;
2225}
2226unsafe extern "C" {
2227    pub fn sqlite3_keyword_count() -> ::core::ffi::c_int;
2228}
2229unsafe extern "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}
2236unsafe extern "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}
2247unsafe extern "C" {
2248    pub fn sqlite3_str_new(arg1: *mut sqlite3) -> *mut sqlite3_str;
2249}
2250unsafe extern "C" {
2251    pub fn sqlite3_str_finish(arg1: *mut sqlite3_str) -> *mut ::core::ffi::c_char;
2252}
2253unsafe extern "C" {
2254    pub fn sqlite3_str_free(arg1: *mut sqlite3_str);
2255}
2256unsafe extern "C" {
2257    pub fn sqlite3_str_appendf(
2258        arg1: *mut sqlite3_str,
2259        zFormat: *const ::core::ffi::c_char,
2260        ...
2261    );
2262}
2263unsafe extern "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}
2270unsafe extern "C" {
2271    pub fn sqlite3_str_appendall(
2272        arg1: *mut sqlite3_str,
2273        zIn: *const ::core::ffi::c_char,
2274    );
2275}
2276unsafe extern "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}
2283unsafe extern "C" {
2284    pub fn sqlite3_str_reset(arg1: *mut sqlite3_str);
2285}
2286unsafe extern "C" {
2287    pub fn sqlite3_str_truncate(arg1: *mut sqlite3_str, N: ::core::ffi::c_int);
2288}
2289unsafe extern "C" {
2290    pub fn sqlite3_str_errcode(arg1: *mut sqlite3_str) -> ::core::ffi::c_int;
2291}
2292unsafe extern "C" {
2293    pub fn sqlite3_str_length(arg1: *mut sqlite3_str) -> ::core::ffi::c_int;
2294}
2295unsafe extern "C" {
2296    pub fn sqlite3_str_value(arg1: *mut sqlite3_str) -> *mut ::core::ffi::c_char;
2297}
2298unsafe extern "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}
2306unsafe extern "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}
2314unsafe extern "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}
2323unsafe extern "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}
2332unsafe extern "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}
2460unsafe extern "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}
2468unsafe extern "C" {
2469    pub fn sqlite3_backup_step(
2470        p: *mut sqlite3_backup,
2471        nPage: ::core::ffi::c_int,
2472    ) -> ::core::ffi::c_int;
2473}
2474unsafe extern "C" {
2475    pub fn sqlite3_backup_finish(p: *mut sqlite3_backup) -> ::core::ffi::c_int;
2476}
2477unsafe extern "C" {
2478    pub fn sqlite3_backup_remaining(p: *mut sqlite3_backup) -> ::core::ffi::c_int;
2479}
2480unsafe extern "C" {
2481    pub fn sqlite3_backup_pagecount(p: *mut sqlite3_backup) -> ::core::ffi::c_int;
2482}
2483unsafe extern "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}
2495unsafe extern "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}
2501unsafe extern "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}
2508unsafe extern "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}
2514unsafe extern "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}
2521unsafe extern "C" {
2522    pub fn sqlite3_log(
2523        iErrCode: ::core::ffi::c_int,
2524        zFormat: *const ::core::ffi::c_char,
2525        ...
2526    );
2527}
2528unsafe extern "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}
2542unsafe extern "C" {
2543    pub fn sqlite3_wal_autocheckpoint(
2544        db: *mut sqlite3,
2545        N: ::core::ffi::c_int,
2546    ) -> ::core::ffi::c_int;
2547}
2548unsafe extern "C" {
2549    pub fn sqlite3_wal_checkpoint(
2550        db: *mut sqlite3,
2551        zDb: *const ::core::ffi::c_char,
2552    ) -> ::core::ffi::c_int;
2553}
2554unsafe extern "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}
2563unsafe extern "C" {
2564    pub fn sqlite3_vtab_config(
2565        arg1: *mut sqlite3,
2566        op: ::core::ffi::c_int,
2567        ...
2568    ) -> ::core::ffi::c_int;
2569}
2570unsafe extern "C" {
2571    pub fn sqlite3_vtab_on_conflict(arg1: *mut sqlite3) -> ::core::ffi::c_int;
2572}
2573unsafe extern "C" {
2574    pub fn sqlite3_vtab_nochange(arg1: *mut sqlite3_context) -> ::core::ffi::c_int;
2575}
2576unsafe extern "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}
2582unsafe extern "C" {
2583    pub fn sqlite3_vtab_distinct(arg1: *mut sqlite3_index_info) -> ::core::ffi::c_int;
2584}
2585unsafe extern "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}
2592unsafe extern "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}
2598unsafe extern "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}
2604unsafe extern "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}
2611unsafe extern "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}
2619unsafe extern "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}
2628unsafe extern "C" {
2629    pub fn sqlite3_stmt_scanstatus_reset(arg1: *mut sqlite3_stmt);
2630}
2631unsafe extern "C" {
2632    pub fn sqlite3_db_cacheflush(arg1: *mut sqlite3) -> ::core::ffi::c_int;
2633}
2634unsafe extern "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}
2651unsafe extern "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}
2658unsafe extern "C" {
2659    pub fn sqlite3_preupdate_count(arg1: *mut sqlite3) -> ::core::ffi::c_int;
2660}
2661unsafe extern "C" {
2662    pub fn sqlite3_preupdate_depth(arg1: *mut sqlite3) -> ::core::ffi::c_int;
2663}
2664unsafe extern "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}
2671unsafe extern "C" {
2672    pub fn sqlite3_preupdate_blobwrite(arg1: *mut sqlite3) -> ::core::ffi::c_int;
2673}
2674unsafe extern "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}
2682unsafe extern "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}
2689unsafe extern "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}
2696unsafe extern "C" {
2697    pub fn sqlite3_snapshot_free(arg1: *mut sqlite3_snapshot);
2698}
2699unsafe extern "C" {
2700    pub fn sqlite3_snapshot_cmp(
2701        p1: *mut sqlite3_snapshot,
2702        p2: *mut sqlite3_snapshot,
2703    ) -> ::core::ffi::c_int;
2704}
2705unsafe extern "C" {
2706    pub fn sqlite3_snapshot_recover(
2707        db: *mut sqlite3,
2708        zDb: *const ::core::ffi::c_char,
2709    ) -> ::core::ffi::c_int;
2710}
2711unsafe extern "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}
2719unsafe extern "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}
2729unsafe extern "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}
2742unsafe extern "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;
2755unsafe extern "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}
2781unsafe extern "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}
2828unsafe extern "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}
2835unsafe extern "C" {
2836    pub fn sqlite3session_delete(pSession: *mut sqlite3_session);
2837}
2838unsafe extern "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}
2845unsafe extern "C" {
2846    pub fn sqlite3session_enable(
2847        pSession: *mut sqlite3_session,
2848        bEnable: ::core::ffi::c_int,
2849    ) -> ::core::ffi::c_int;
2850}
2851unsafe extern "C" {
2852    pub fn sqlite3session_indirect(
2853        pSession: *mut sqlite3_session,
2854        bIndirect: ::core::ffi::c_int,
2855    ) -> ::core::ffi::c_int;
2856}
2857unsafe extern "C" {
2858    pub fn sqlite3session_attach(
2859        pSession: *mut sqlite3_session,
2860        zTab: *const ::core::ffi::c_char,
2861    ) -> ::core::ffi::c_int;
2862}
2863unsafe extern "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}
2875unsafe extern "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}
2882unsafe extern "C" {
2883    pub fn sqlite3session_changeset_size(
2884        pSession: *mut sqlite3_session,
2885    ) -> sqlite3_int64;
2886}
2887unsafe extern "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}
2895unsafe extern "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}
2902unsafe extern "C" {
2903    pub fn sqlite3session_isempty(pSession: *mut sqlite3_session) -> ::core::ffi::c_int;
2904}
2905unsafe extern "C" {
2906    pub fn sqlite3session_memory_used(pSession: *mut sqlite3_session) -> sqlite3_int64;
2907}
2908unsafe extern "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}
2915unsafe extern "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}
2923unsafe extern "C" {
2924    pub fn sqlite3changeset_next(
2925        pIter: *mut sqlite3_changeset_iter,
2926    ) -> ::core::ffi::c_int;
2927}
2928unsafe extern "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}
2937unsafe extern "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}
2944unsafe extern "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}
2951unsafe extern "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}
2958unsafe extern "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}
2965unsafe extern "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}
2971unsafe extern "C" {
2972    pub fn sqlite3changeset_finalize(
2973        pIter: *mut sqlite3_changeset_iter,
2974    ) -> ::core::ffi::c_int;
2975}
2976unsafe extern "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}
2984unsafe extern "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}
2999unsafe extern "C" {
3000    pub fn sqlite3changegroup_new(
3001        pp: *mut *mut sqlite3_changegroup,
3002    ) -> ::core::ffi::c_int;
3003}
3004unsafe extern "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}
3011unsafe extern "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}
3018unsafe extern "C" {
3019    pub fn sqlite3changegroup_add_change(
3020        arg1: *mut sqlite3_changegroup,
3021        arg2: *mut sqlite3_changeset_iter,
3022    ) -> ::core::ffi::c_int;
3023}
3024unsafe extern "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}
3031unsafe extern "C" {
3032    pub fn sqlite3changegroup_delete(arg1: *mut sqlite3_changegroup);
3033}
3034unsafe extern "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}
3055unsafe extern "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}
3079unsafe extern "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}
3108unsafe extern "C" {
3109    pub fn sqlite3rebaser_create(ppNew: *mut *mut sqlite3_rebaser) -> ::core::ffi::c_int;
3110}
3111unsafe extern "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}
3118unsafe extern "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}
3127unsafe extern "C" {
3128    pub fn sqlite3rebaser_delete(p: *mut sqlite3_rebaser);
3129}
3130unsafe extern "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}
3157unsafe extern "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}
3187unsafe extern "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}
3217unsafe extern "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}
3245unsafe extern "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}
3265unsafe extern "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}
3278unsafe extern "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}
3292unsafe extern "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}
3305unsafe extern "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}
3318unsafe extern "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}
3331unsafe extern "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}
3344unsafe extern "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}
3365unsafe extern "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}
3371unsafe extern "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}
3378unsafe extern "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}
3387unsafe extern "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}
3395unsafe extern "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}
3402unsafe extern "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}
3410unsafe extern "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}
3419unsafe extern "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}
3428unsafe extern "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}