squire_sqlite3_sys/bindings/default/
connection.rs

1use core::ffi::{c_char, c_int};
2
3/// A database [connection handle][].
4///
5/// [connection handle]: https://sqlite.org/c3ref/sqlite3.html
6#[repr(C)]
7pub struct sqlite3 {
8    _unused: [u8; 0],
9}
10
11unsafe extern "C" {
12    /// [Open][open] a [database connection][].
13    ///
14    /// [open]: https://sqlite.org/c3ref/open.html
15    /// [database connection]: https://sqlite.org/c3ref/sqlite3.html
16    pub fn sqlite3_open_v2(
17        filename: *const c_char,
18        ppDb: *mut *mut sqlite3,
19        flags: c_int,
20        zVfs: *const c_char,
21    ) -> c_int;
22
23    /// [Close][close] a [database connection][].
24    ///
25    /// [close]: https://sqlite.org/c3ref/close.html
26    /// [database connection]: https://sqlite.org/c3ref/sqlite3.html
27    pub fn sqlite3_close(pDb: *mut sqlite3) -> c_int;
28}
29
30pub const SQLITE_OPEN_READONLY: i32 = 0x00000001;
31pub const SQLITE_OPEN_READWRITE: i32 = 0x00000002;
32pub const SQLITE_OPEN_CREATE: i32 = 0x00000004;
33pub const SQLITE_OPEN_DELETEONCLOSE: i32 = 0x00000008;
34pub const SQLITE_OPEN_EXCLUSIVE: i32 = 0x00000010;
35pub const SQLITE_OPEN_AUTOPROXY: i32 = 0x00000020;
36pub const SQLITE_OPEN_URI: i32 = 0x00000040;
37pub const SQLITE_OPEN_MEMORY: i32 = 0x00000080;
38pub const SQLITE_OPEN_MAIN_DB: i32 = 0x00000100;
39pub const SQLITE_OPEN_TEMP_DB: i32 = 0x00000200;
40pub const SQLITE_OPEN_TRANSIENT_DB: i32 = 0x00000400;
41pub const SQLITE_OPEN_MAIN_JOURNAL: i32 = 0x00000800;
42pub const SQLITE_OPEN_TEMP_JOURNAL: i32 = 0x00001000;
43pub const SQLITE_OPEN_SUBJOURNAL: i32 = 0x00002000;
44pub const SQLITE_OPEN_SUPER_JOURNAL: i32 = 0x00004000;
45pub const SQLITE_OPEN_NOMUTEX: i32 = 0x00008000;
46pub const SQLITE_OPEN_FULLMUTEX: i32 = 0x00010000;
47pub const SQLITE_OPEN_SHAREDCACHE: i32 = 0x00020000;
48pub const SQLITE_OPEN_PRIVATECACHE: i32 = 0x00040000;
49pub const SQLITE_OPEN_WAL: i32 = 0x00080000;
50pub const SQLITE_OPEN_NOFOLLOW: i32 = 0x01000000;
51pub const SQLITE_OPEN_EXRESCODE: i32 = 0x02000000;