sqlite_wasm_rs/bindings/
mod.rs

1//! This module is codegen from build.rs. Avoid manual edits.
2
3#[cfg(all(not(feature = "bindgen"), feature = "sqlite3mc"))]
4mod sqlite3mc_bindgen;
5
6#[cfg(all(not(feature = "bindgen"), not(feature = "sqlite3mc")))]
7mod sqlite3_bindgen;
8
9mod bindgen {
10    #[cfg(feature = "bindgen")]
11    include!(concat!(env!("OUT_DIR"), "/bindgen.rs"));
12
13    #[cfg(all(not(feature = "bindgen"), feature = "sqlite3mc"))]
14    pub use super::sqlite3mc_bindgen::*;
15
16    #[cfg(all(not(feature = "bindgen"), not(feature = "sqlite3mc")))]
17    pub use super::sqlite3_bindgen::*;
18}
19
20mod error;
21
22pub use bindgen::*;
23pub use error::*;
24
25use core::mem;
26
27#[must_use]
28pub fn SQLITE_STATIC() -> sqlite3_destructor_type {
29    None
30}
31
32#[must_use]
33pub fn SQLITE_TRANSIENT() -> sqlite3_destructor_type {
34    // SQLite uses -1 as a sentinel for "make your own copy".
35    Some(unsafe {
36        mem::transmute::<isize, unsafe extern "C" fn(*mut core::ffi::c_void)>(-1_isize)
37    })
38}
39
40impl Default for sqlite3_vtab {
41    fn default() -> Self {
42        // C expects zero-initialized vtab structs.
43        unsafe { mem::zeroed() }
44    }
45}
46
47impl Default for sqlite3_vtab_cursor {
48    fn default() -> Self {
49        // C expects zero-initialized vtab cursor structs.
50        unsafe { mem::zeroed() }
51    }
52}