squire_sqlite3_sys/bindings/default/
value.rs

1use core::ffi::{c_char, c_int, c_uchar, c_uint, c_void};
2
3use super::types::sqlite3_int64;
4
5/// A dynamically-typed [value object].
6///
7/// [value object]: https://sqlite.org/c3ref/value.html
8#[repr(C)]
9pub struct sqlite3_value {
10    _unused: [u8; 0],
11}
12
13unsafe extern "C" {
14    pub fn sqlite3_value_blob(value: *mut sqlite3_value) -> *const c_void;
15    pub fn sqlite3_value_double(value: *mut sqlite3_value) -> f64;
16    pub fn sqlite3_value_int(value: *mut sqlite3_value) -> c_int;
17    pub fn sqlite3_value_int64(value: *mut sqlite3_value) -> sqlite3_int64;
18    pub fn sqlite3_value_pointer(value: *mut sqlite3_value, arg2: *const c_char) -> *mut c_void;
19    pub fn sqlite3_value_text(value: *mut sqlite3_value) -> *const c_uchar;
20    pub fn sqlite3_value_bytes(value: *mut sqlite3_value) -> c_int;
21    pub fn sqlite3_value_type(value: *mut sqlite3_value) -> c_int;
22    pub fn sqlite3_value_numeric_type(value: *mut sqlite3_value) -> c_int;
23    pub fn sqlite3_value_nochange(value: *mut sqlite3_value) -> c_int;
24    pub fn sqlite3_value_frombind(value: *mut sqlite3_value) -> c_int;
25    pub fn sqlite3_value_encoding(value: *mut sqlite3_value) -> c_int;
26    pub fn sqlite3_value_subtype(value: *mut sqlite3_value) -> c_uint;
27    pub fn sqlite3_value_dup(value: *const sqlite3_value) -> *mut sqlite3_value;
28    pub fn sqlite3_value_free(value: *mut sqlite3_value);
29}