libsqlite3_sys/builds/ark-bitcoin/bark/rustdocs/debug/build/libsqlite3-sys-4bd59dfbf7ef825d/out/
bindgen.rs

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