sqlite_wasm_rs/libsqlite3/
sqlite3_bindgen.rs

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