sqlite_wasm_rs/libsqlite3/
sqlite3_bindgen.rs

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