sqlite_wasm_rs/libsqlite3/
sqlite3_bindgen.rs

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