1#![allow(non_snake_case, non_camel_case_types)]
2
3pub use self::error::*;
4
5use std::default::Default;
6use std::mem;
7
8mod error;
9
10pub fn SQLITE_STATIC() -> sqlite3_destructor_type {
11 None
12}
13
14pub fn SQLITE_TRANSIENT() -> sqlite3_destructor_type {
15 Some(unsafe { mem::transmute(-1isize) })
16}
17
18#[repr(i32)]
20#[non_exhaustive]
21pub enum Limit {
22 SQLITE_LIMIT_LENGTH = SQLITE_LIMIT_LENGTH,
24 SQLITE_LIMIT_SQL_LENGTH = SQLITE_LIMIT_SQL_LENGTH,
26 SQLITE_LIMIT_COLUMN = SQLITE_LIMIT_COLUMN,
30 SQLITE_LIMIT_EXPR_DEPTH = SQLITE_LIMIT_EXPR_DEPTH,
32 SQLITE_LIMIT_COMPOUND_SELECT = SQLITE_LIMIT_COMPOUND_SELECT,
34 SQLITE_LIMIT_VDBE_OP = SQLITE_LIMIT_VDBE_OP,
37 SQLITE_LIMIT_FUNCTION_ARG = SQLITE_LIMIT_FUNCTION_ARG,
39 SQLITE_LIMIT_ATTACHED = SQLITE_LIMIT_ATTACHED,
41 SQLITE_LIMIT_LIKE_PATTERN_LENGTH = SQLITE_LIMIT_LIKE_PATTERN_LENGTH,
44 SQLITE_LIMIT_VARIABLE_NUMBER = SQLITE_LIMIT_VARIABLE_NUMBER,
46 SQLITE_LIMIT_TRIGGER_DEPTH = 10,
48 SQLITE_LIMIT_WORKER_THREADS = 11,
51}
52
53#[cfg(feature = "loadable_extension_embedded")]
54extern "C" {
58 #[no_mangle]
59 pub static mut sqlite3_api: *mut sqlite3_api_routines;
60}
61
62#[cfg(all(
63 feature = "loadable_extension",
64 not(feature = "loadable_extension_embedded")
65))]
66#[no_mangle]
71pub static mut sqlite3_api: *mut sqlite3_api_routines = 0 as *mut sqlite3_api_routines;
72
73#[allow(clippy::all)]
74mod bindings {
75 include!(concat!(env!("OUT_DIR"), "/bindgen.rs"));
76}
77pub use bindings::*;
78
79pub type sqlite3_index_constraint = sqlite3_index_info_sqlite3_index_constraint;
80pub type sqlite3_index_constraint_usage = sqlite3_index_info_sqlite3_index_constraint_usage;
81
82impl Default for sqlite3_vtab {
83 fn default() -> Self {
84 unsafe { mem::zeroed() }
85 }
86}
87
88impl Default for sqlite3_vtab_cursor {
89 fn default() -> Self {
90 unsafe { mem::zeroed() }
91 }
92}