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