libsqlite3_sys/home/runner/work/diesel/diesel/target/debug/build/libsqlite3-sys-f3779e57a35a6980/out/
bindgen.rs

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