1#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
10
11use std::os::raw::{c_char, c_int, c_void, c_double};
12
13pub enum sqlite3 {}
15pub enum sqlite3_stmt {}
16pub enum sqlite3_context {}
17pub enum sqlite3_value {}
18
19extern "C" {
21 pub fn sqlite3_open(filename: *const c_char, ppDb: *mut *mut sqlite3) -> c_int;
22 pub fn sqlite3_open_v2(
23 filename: *const c_char,
24 ppDb: *mut *mut sqlite3,
25 flags: c_int,
26 zVfs: *const c_char,
27 ) -> c_int;
28 pub fn sqlite3_close(db: *mut sqlite3) -> c_int;
29 pub fn sqlite3_close_v2(db: *mut sqlite3) -> c_int;
30
31 pub fn sqlite3_exec(
32 db: *mut sqlite3,
33 sql: *const c_char,
34 callback: Option<extern "C" fn(*mut c_void, c_int, *mut *mut c_char, *mut *mut c_char) -> c_int>,
35 arg: *mut c_void,
36 errmsg: *mut *mut c_char,
37 ) -> c_int;
38
39 pub fn sqlite3_prepare_v2(
40 db: *mut sqlite3,
41 sql: *const c_char,
42 nByte: c_int,
43 ppStmt: *mut *mut sqlite3_stmt,
44 pzTail: *mut *const c_char,
45 ) -> c_int;
46
47 pub fn sqlite3_step(stmt: *mut sqlite3_stmt) -> c_int;
48 pub fn sqlite3_finalize(stmt: *mut sqlite3_stmt) -> c_int;
49 pub fn sqlite3_reset(stmt: *mut sqlite3_stmt) -> c_int;
50
51 pub fn sqlite3_column_count(stmt: *mut sqlite3_stmt) -> c_int;
52 pub fn sqlite3_column_type(stmt: *mut sqlite3_stmt, iCol: c_int) -> c_int;
53 pub fn sqlite3_column_int(stmt: *mut sqlite3_stmt, iCol: c_int) -> c_int;
54 pub fn sqlite3_column_int64(stmt: *mut sqlite3_stmt, iCol: c_int) -> i64;
55 pub fn sqlite3_column_double(stmt: *mut sqlite3_stmt, iCol: c_int) -> c_double;
56 pub fn sqlite3_column_text(stmt: *mut sqlite3_stmt, iCol: c_int) -> *const c_char;
57 pub fn sqlite3_column_blob(stmt: *mut sqlite3_stmt, iCol: c_int) -> *const c_void;
58 pub fn sqlite3_column_bytes(stmt: *mut sqlite3_stmt, iCol: c_int) -> c_int;
59
60 pub fn sqlite3_bind_int(stmt: *mut sqlite3_stmt, idx: c_int, val: c_int) -> c_int;
61 pub fn sqlite3_bind_int64(stmt: *mut sqlite3_stmt, idx: c_int, val: i64) -> c_int;
62 pub fn sqlite3_bind_double(stmt: *mut sqlite3_stmt, idx: c_int, val: c_double) -> c_int;
63 pub fn sqlite3_bind_text(
64 stmt: *mut sqlite3_stmt,
65 idx: c_int,
66 val: *const c_char,
67 n: c_int,
68 destructor: Option<extern "C" fn(*mut c_void)>,
69 ) -> c_int;
70 pub fn sqlite3_bind_blob(
71 stmt: *mut sqlite3_stmt,
72 idx: c_int,
73 val: *const c_void,
74 n: c_int,
75 destructor: Option<extern "C" fn(*mut c_void)>,
76 ) -> c_int;
77 pub fn sqlite3_bind_null(stmt: *mut sqlite3_stmt, idx: c_int) -> c_int;
78
79 pub fn sqlite3_errmsg(db: *mut sqlite3) -> *const c_char;
80 pub fn sqlite3_errcode(db: *mut sqlite3) -> c_int;
81 pub fn sqlite3_libversion() -> *const c_char;
82 pub fn sqlite3_free(ptr: *mut c_void);
83}
84
85pub const SQLITE_OK: c_int = 0;
87pub const SQLITE_ERROR: c_int = 1;
88pub const SQLITE_ROW: c_int = 100;
89pub const SQLITE_DONE: c_int = 101;
90pub const SQLITE_OPEN_READWRITE: c_int = 0x00000002;
91pub const SQLITE_OPEN_CREATE: c_int = 0x00000004;
92pub const SQLITE_OPEN_URI: c_int = 0x00000040;
93pub const SQLITE_TRANSIENT: Option<extern "C" fn(*mut c_void)> = None; pub const SQLITE_INTEGER: c_int = 1;
96pub const SQLITE_FLOAT: c_int = 2;
97pub const SQLITE_TEXT: c_int = 3;
98pub const SQLITE_BLOB: c_int = 4;
99pub const SQLITE_NULL: c_int = 5;