Skip to main content

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