From 161ac2bf0ac4f7f0fbdc723ce97b46f4e31f0131 Mon Sep 17 00:00:00 2001 From: John Gallagher Date: Tue, 7 Feb 2017 20:37:52 -0500 Subject: [PATCH] Update libsqlite3-sys to run bindgen at build time --- libsqlite3-sys/Cargo.toml | 3 +- libsqlite3-sys/build.rs | 75 +- libsqlite3-sys/src/bindgen.rs | 1957 --------------------------------- libsqlite3-sys/src/lib.rs | 20 +- libsqlite3-sys/wrapper.h | 1 + 5 files changed, 65 insertions(+), 1991 deletions(-) delete mode 100644 libsqlite3-sys/src/bindgen.rs create mode 100644 libsqlite3-sys/wrapper.h diff --git a/libsqlite3-sys/Cargo.toml b/libsqlite3-sys/Cargo.toml index daba536..64b9ba5 100644 --- a/libsqlite3-sys/Cargo.toml +++ b/libsqlite3-sys/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "libsqlite3-sys" -version = "0.6.2" +version = "0.7.0" authors = ["John Gallagher "] repository = "https://github.com/jgallagher/rusqlite" description = "Native bindings to the libsqlite3 library" @@ -12,6 +12,7 @@ build = "build.rs" bundled = [] [build-dependencies] +bindgen = "0.21" pkg-config = "0.3" gcc = "0.3" diff --git a/libsqlite3-sys/build.rs b/libsqlite3-sys/build.rs index 28a0b9e..e4153bb 100644 --- a/libsqlite3-sys/build.rs +++ b/libsqlite3-sys/build.rs @@ -1,31 +1,74 @@ +extern crate bindgen; extern crate gcc; extern crate pkg_config; +use std::env; +use bindgen::chooser::{TypeChooser, IntKind}; +use std::path::Path; + +#[derive(Debug)] +struct SqliteTypeChooser; + +impl TypeChooser for SqliteTypeChooser { + fn int_macro(&self, _name: &str, value: i64) -> Option { + if value >= i32::min_value() as i64 && value <= i32::max_value() as i64 { + Some(IntKind::I32) + } else { + None + } + } +} + +fn run_bindgen>(header: T) { + let out_dir = env::var("OUT_DIR").unwrap(); + let header = header.into(); + let _ = bindgen::builder() + .header(header.clone()) + .ctypes_prefix("::libc") + .type_chooser(Box::new(SqliteTypeChooser)) + .generate() + .expect(&format!("could not run bindgen on header {}", header)) + .write_to_file(Path::new(&out_dir).join("bindgen.rs")); +} + #[cfg(not(feature = "bundled"))] fn main() { - use std::env; - // Allow users to specify where to find SQLite. - match env::var("SQLITE3_LIB_DIR") { - Ok(dir) => { - println!("cargo:rustc-link-lib=sqlite3"); - println!("cargo:rustc-link-search={}", dir); - } - Err(_) => { - // See if pkg-config can do everything for us. - if !pkg_config::Config::new().print_system_libs(false).probe("sqlite3").is_ok() { - // No env var set and pkg-config couldn't help; just output the link-lib - // request and hope that the library exists on the system paths. We used to - // output /usr/lib explicitly, but that can introduce other linking problems; see - // https://github.com/jgallagher/rusqlite/issues/207. - println!("cargo:rustc-link-lib=sqlite3"); + if let Ok(dir) = env::var("SQLITE3_LIB_DIR") { + let mut header = env::var("SQLITE3_INCLUDE_DIR") + .expect("SQLITE3_INCLUDE_DIR must be set if SQLITE3_LIB_DIR is set"); + header.push_str("/sqlite3.h"); + run_bindgen(header); + println!("cargo:rustc-link-lib=sqlite3"); + println!("cargo:rustc-link-search={}", dir); + return; + } + + // See if pkg-config can do everything for us. + match pkg_config::Config::new().print_system_libs(false).probe("sqlite3") { + Ok(mut lib) => { + if let Some(mut header) = lib.include_paths.pop() { + header.push("sqlite3.h"); + run_bindgen(header.to_string_lossy()); + } else { + run_bindgen("wrapper.h"); } } - }; + Err(_) => { + // No env var set and pkg-config couldn't help; just output the link-lib + // request and hope that the library exists on the system paths. We used to + // output /usr/lib explicitly, but that can introduce other linking problems; see + // https://github.com/jgallagher/rusqlite/issues/207. + println!("cargo:rustc-link-lib=sqlite3"); + run_bindgen("wrapper.h"); + } + } } #[cfg(feature = "bundled")] fn main() { + run_bindgen("sqlite3/sqlite3.h"); + gcc::Config::new() .file("sqlite3/sqlite3.c") .flag("-DSQLITE_CORE") diff --git a/libsqlite3-sys/src/bindgen.rs b/libsqlite3-sys/src/bindgen.rs deleted file mode 100644 index 812a393..0000000 --- a/libsqlite3-sys/src/bindgen.rs +++ /dev/null @@ -1,1957 +0,0 @@ -/* automatically generated by rust-bindgen */ - -#![allow(dead_code, - non_camel_case_types, - non_upper_case_globals, - non_snake_case)] -pub type __gnuc_va_list = __builtin_va_list; -pub type va_list = __gnuc_va_list; -pub enum sqlite3 { } -//Manually inserted to minimize file changes -pub type Struct_sqlite3 = sqlite3; -pub type sqlite_int64 = ::libc::c_longlong; -pub type sqlite_uint64 = ::libc::c_ulonglong; -pub type sqlite3_int64 = sqlite_int64; -pub type sqlite3_uint64 = sqlite_uint64; -pub type sqlite3_callback = - ::std::option::Option ::libc::c_int>; -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_file { - pub pMethods: *const sqlite3_io_methods, -} -impl ::std::default::Default for sqlite3_file { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_io_methods { - pub iVersion: ::libc::c_int, - pub xClose: ::std::option::Option ::libc::c_int>, - pub xRead: ::std::option::Option ::libc::c_int>, - pub xWrite: ::std::option::Option ::libc::c_int>, - pub xTruncate: ::std::option::Option ::libc::c_int>, - pub xSync: ::std::option::Option ::libc::c_int>, - pub xFileSize: ::std::option::Option ::libc::c_int>, - pub xLock: ::std::option::Option ::libc::c_int>, - pub xUnlock: ::std::option::Option ::libc::c_int>, - pub xCheckReservedLock: ::std::option::Option - ::libc::c_int>, - pub xFileControl: ::std::option::Option ::libc::c_int>, - pub xSectorSize: ::std::option::Option ::libc::c_int>, - pub xDeviceCharacteristics: ::std::option::Option - ::libc::c_int>, - pub xShmMap: ::std::option::Option ::libc::c_int>, - pub xShmLock: ::std::option::Option ::libc::c_int>, - pub xShmBarrier: ::std::option::Option, - pub xShmUnmap: ::std::option::Option ::libc::c_int>, - pub xFetch: ::std::option::Option ::libc::c_int>, - pub xUnfetch: ::std::option::Option ::libc::c_int>, -} -impl ::std::default::Default for sqlite3_io_methods { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -pub enum sqlite3_mutex { } -pub type sqlite3_syscall_ptr = ::std::option::Option; -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_vfs { - pub iVersion: ::libc::c_int, - pub szOsFile: ::libc::c_int, - pub mxPathname: ::libc::c_int, - pub pNext: *mut sqlite3_vfs, - pub zName: *const ::libc::c_char, - pub pAppData: *mut ::libc::c_void, - pub xOpen: ::std::option::Option ::libc::c_int>, - pub xDelete: ::std::option::Option ::libc::c_int>, - pub xAccess: ::std::option::Option ::libc::c_int>, - pub xFullPathname: ::std::option::Option ::libc::c_int>, - pub xDlOpen: ::std::option::Option *mut ::libc::c_void>, - pub xDlError: ::std::option::Option, - pub xDlSym: ::std::option::Option - ::std::option::Option>, - pub xDlClose: ::std::option::Option, - pub xRandomness: ::std::option::Option ::libc::c_int>, - pub xSleep: ::std::option::Option ::libc::c_int>, - pub xCurrentTime: ::std::option::Option ::libc::c_int>, - pub xGetLastError: ::std::option::Option ::libc::c_int>, - pub xCurrentTimeInt64: ::std::option::Option - ::libc::c_int>, - pub xSetSystemCall: ::std::option::Option ::libc::c_int>, - pub xGetSystemCall: ::std::option::Option sqlite3_syscall_ptr>, - pub xNextSystemCall: ::std::option::Option - *const ::libc::c_char>, -} -impl ::std::default::Default for sqlite3_vfs { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_mem_methods { - pub xMalloc: ::std::option::Option *mut ::libc::c_void>, - pub xFree: ::std::option::Option, - pub xRealloc: ::std::option::Option *mut ::libc::c_void>, - pub xSize: ::std::option::Option ::libc::c_int>, - pub xRoundup: ::std::option::Option ::libc::c_int>, - pub xInit: ::std::option::Option ::libc::c_int>, - pub xShutdown: ::std::option::Option, - pub pAppData: *mut ::libc::c_void, -} -impl ::std::default::Default for sqlite3_mem_methods { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -pub enum sqlite3_stmt { } -pub enum Mem { } -pub type sqlite3_value = Mem; -pub enum sqlite3_context { } -pub type sqlite3_destructor_type = - ::std::option::Option; -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_module { - pub iVersion: ::libc::c_int, - pub xCreate: ::std::option::Option ::libc::c_int>, - pub xConnect: ::std::option::Option ::libc::c_int>, - pub xBestIndex: ::std::option::Option ::libc::c_int>, - pub xDisconnect: ::std::option::Option ::libc::c_int>, - pub xDestroy: ::std::option::Option ::libc::c_int>, - pub xOpen: ::std::option::Option ::libc::c_int>, - pub xClose: ::std::option::Option ::libc::c_int>, - pub xFilter: ::std::option::Option ::libc::c_int>, - pub xNext: ::std::option::Option ::libc::c_int>, - pub xEof: ::std::option::Option ::libc::c_int>, - pub xColumn: ::std::option::Option ::libc::c_int>, - pub xRowid: ::std::option::Option ::libc::c_int>, - pub xUpdate: ::std::option::Option ::libc::c_int>, - pub xBegin: ::std::option::Option ::libc::c_int>, - pub xSync: ::std::option::Option ::libc::c_int>, - pub xCommit: ::std::option::Option ::libc::c_int>, - pub xRollback: ::std::option::Option ::libc::c_int>, - pub xFindFunction: ::std::option::Option, - ppArg: - *mut *mut ::libc::c_void) - -> ::libc::c_int>, - pub xRename: ::std::option::Option ::libc::c_int>, - pub xSavepoint: ::std::option::Option ::libc::c_int>, - pub xRelease: ::std::option::Option ::libc::c_int>, - pub xRollbackTo: ::std::option::Option ::libc::c_int>, -} -impl ::std::default::Default for sqlite3_module { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_index_info { - pub nConstraint: ::libc::c_int, - pub aConstraint: *mut sqlite3_index_constraint, - pub nOrderBy: ::libc::c_int, - pub aOrderBy: *mut sqlite3_index_orderby, - pub aConstraintUsage: *mut sqlite3_index_constraint_usage, - pub idxNum: ::libc::c_int, - pub idxStr: *mut ::libc::c_char, - pub needToFreeIdxStr: ::libc::c_int, - pub orderByConsumed: ::libc::c_int, - pub estimatedCost: f64, - pub estimatedRows: sqlite3_int64, - pub idxFlags: ::libc::c_int, - pub colUsed: sqlite3_uint64, -} -impl ::std::default::Default for sqlite3_index_info { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_index_constraint { - pub iColumn: ::libc::c_int, - pub op: ::libc::c_uchar, - pub usable: ::libc::c_uchar, - pub iTermOffset: ::libc::c_int, -} -impl ::std::default::Default for sqlite3_index_constraint { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_index_orderby { - pub iColumn: ::libc::c_int, - pub desc: ::libc::c_uchar, - _bindgen_padding_0_: [u8; 3usize], -} -impl ::std::default::Default for sqlite3_index_orderby { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_index_constraint_usage { - pub argvIndex: ::libc::c_int, - pub omit: ::libc::c_uchar, - _bindgen_padding_0_: [u8; 3usize], -} -impl ::std::default::Default for sqlite3_index_constraint_usage { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_vtab { - pub pModule: *const sqlite3_module, - pub nRef: ::libc::c_int, - pub zErrMsg: *mut ::libc::c_char, -} -impl ::std::default::Default for sqlite3_vtab { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_vtab_cursor { - pub pVtab: *mut sqlite3_vtab, -} -impl ::std::default::Default for sqlite3_vtab_cursor { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -pub enum sqlite3_blob { } -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_mutex_methods { - pub xMutexInit: ::std::option::Option ::libc::c_int>, - pub xMutexEnd: ::std::option::Option ::libc::c_int>, - pub xMutexAlloc: ::std::option::Option *mut sqlite3_mutex>, - pub xMutexFree: ::std::option::Option, - pub xMutexEnter: ::std::option::Option, - pub xMutexTry: ::std::option::Option ::libc::c_int>, - pub xMutexLeave: ::std::option::Option, - pub xMutexHeld: ::std::option::Option ::libc::c_int>, - pub xMutexNotheld: ::std::option::Option ::libc::c_int>, -} -impl ::std::default::Default for sqlite3_mutex_methods { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -pub enum sqlite3_pcache { } -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_pcache_page { - pub pBuf: *mut ::libc::c_void, - pub pExtra: *mut ::libc::c_void, -} -impl ::std::default::Default for sqlite3_pcache_page { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_pcache_methods2 { - pub iVersion: ::libc::c_int, - pub pArg: *mut ::libc::c_void, - pub xInit: ::std::option::Option ::libc::c_int>, - pub xShutdown: ::std::option::Option, - pub xCreate: ::std::option::Option *mut sqlite3_pcache>, - pub xCachesize: ::std::option::Option, - pub xPagecount: ::std::option::Option ::libc::c_int>, - pub xFetch: ::std::option::Option *mut sqlite3_pcache_page>, - pub xUnpin: ::std::option::Option, - pub xRekey: ::std::option::Option, - pub xTruncate: ::std::option::Option, - pub xDestroy: ::std::option::Option, - pub xShrink: ::std::option::Option, -} -impl ::std::default::Default for sqlite3_pcache_methods2 { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_pcache_methods { - pub pArg: *mut ::libc::c_void, - pub xInit: ::std::option::Option ::libc::c_int>, - pub xShutdown: ::std::option::Option, - pub xCreate: ::std::option::Option *mut sqlite3_pcache>, - pub xCachesize: ::std::option::Option, - pub xPagecount: ::std::option::Option ::libc::c_int>, - pub xFetch: ::std::option::Option *mut ::libc::c_void>, - pub xUnpin: ::std::option::Option, - pub xRekey: ::std::option::Option, - pub xTruncate: ::std::option::Option, - pub xDestroy: ::std::option::Option, -} -impl ::std::default::Default for sqlite3_pcache_methods { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -pub enum sqlite3_backup { } -pub enum sqlite3_snapshot { } -pub type sqlite3_rtree_dbl = f64; -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_rtree_geometry { - pub pContext: *mut ::libc::c_void, - pub nParam: ::libc::c_int, - pub aParam: *mut sqlite3_rtree_dbl, - pub pUser: *mut ::libc::c_void, - pub xDelUser: ::std::option::Option, -} -impl ::std::default::Default for sqlite3_rtree_geometry { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct sqlite3_rtree_query_info { - pub pContext: *mut ::libc::c_void, - pub nParam: ::libc::c_int, - pub aParam: *mut sqlite3_rtree_dbl, - pub pUser: *mut ::libc::c_void, - pub xDelUser: ::std::option::Option, - pub aCoord: *mut sqlite3_rtree_dbl, - pub anQueue: *mut ::libc::c_uint, - pub nCoord: ::libc::c_int, - pub iLevel: ::libc::c_int, - pub mxLevel: ::libc::c_int, - pub iRowid: sqlite3_int64, - pub rParentScore: sqlite3_rtree_dbl, - pub eParentWithin: ::libc::c_int, - pub eWithin: ::libc::c_int, - pub rScore: sqlite3_rtree_dbl, - pub apSqlParam: *mut *mut sqlite3_value, -} -impl ::std::default::Default for sqlite3_rtree_query_info { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -pub enum Fts5Context { } -pub type fts5_extension_function = - ::std::option::Option; -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct Fts5PhraseIter { - pub a: *const ::libc::c_uchar, - pub b: *const ::libc::c_uchar, -} -impl ::std::default::Default for Fts5PhraseIter { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct Fts5ExtensionApi { - pub iVersion: ::libc::c_int, - pub xUserData: ::std::option::Option *mut ::libc::c_void>, - pub xColumnCount: ::std::option::Option ::libc::c_int>, - pub xRowCount: ::std::option::Option ::libc::c_int>, - pub xColumnTotalSize: ::std::option::Option ::libc::c_int>, - pub xTokenize: ::std::option::Option - ::libc::c_int>) - -> ::libc::c_int>, - pub xPhraseCount: ::std::option::Option ::libc::c_int>, - pub xPhraseSize: ::std::option::Option ::libc::c_int>, - pub xInstCount: ::std::option::Option ::libc::c_int>, - pub xInst: ::std::option::Option ::libc::c_int>, - pub xRowid: ::std::option::Option sqlite3_int64>, - pub xColumnText: ::std::option::Option ::libc::c_int>, - pub xColumnSize: ::std::option::Option ::libc::c_int>, - pub xQueryPhrase: ::std::option::Option - ::libc::c_int>) - -> ::libc::c_int>, - pub xSetAuxdata: ::std::option::Option) - -> ::libc::c_int>, - pub xGetAuxdata: ::std::option::Option - *mut ::libc::c_void>, - pub xPhraseFirst: ::std::option::Option ::libc::c_int>, - pub xPhraseNext: ::std::option::Option, - pub xPhraseFirstColumn: ::std::option::Option - ::libc::c_int>, - pub xPhraseNextColumn: ::std::option::Option, -} -impl ::std::default::Default for Fts5ExtensionApi { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -pub enum Fts5Tokenizer { } -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct fts5_tokenizer { - pub xCreate: ::std::option::Option ::libc::c_int>, - pub xDelete: ::std::option::Option, - pub xTokenize: ::std::option::Option - ::libc::c_int>) - -> ::libc::c_int>, -} -impl ::std::default::Default for fts5_tokenizer { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct fts5_api { - pub iVersion: ::libc::c_int, - pub xCreateTokenizer: ::std::option::Option) - -> ::libc::c_int>, - pub xFindTokenizer: ::std::option::Option ::libc::c_int>, - pub xCreateFunction: ::std::option::Option) - -> ::libc::c_int>, -} -impl ::std::default::Default for fts5_api { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -pub type __builtin_va_list = [__va_list_tag; 1usize]; -#[repr(C)] -#[derive(Copy, Clone)] -#[derive(Debug)] -pub struct __va_list_tag { - pub gp_offset: ::libc::c_uint, - pub fp_offset: ::libc::c_uint, - pub overflow_arg_area: *mut ::libc::c_void, - pub reg_save_area: *mut ::libc::c_void, -} -impl ::std::default::Default for __va_list_tag { - fn default() -> Self { unsafe { ::std::mem::zeroed() } } -} -#[link(name = "sqlite3", kind = "dylib")] -extern "C" { - pub static mut sqlite3_version: [::libc::c_char; 0usize]; - pub static mut sqlite3_temp_directory: *mut ::libc::c_char; - pub static mut sqlite3_data_directory: *mut ::libc::c_char; -} -#[link(name = "sqlite3", kind = "dylib")] -extern "C" { - pub fn sqlite3_libversion() -> *const ::libc::c_char; - pub fn sqlite3_sourceid() -> *const ::libc::c_char; - pub fn sqlite3_libversion_number() -> ::libc::c_int; - pub fn sqlite3_compileoption_used(zOptName: *const ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_compileoption_get(N: ::libc::c_int) - -> *const ::libc::c_char; - pub fn sqlite3_threadsafe() -> ::libc::c_int; - pub fn sqlite3_close(arg1: *mut sqlite3) -> ::libc::c_int; - pub fn sqlite3_close_v2(arg1: *mut sqlite3) -> ::libc::c_int; - pub fn sqlite3_exec(arg1: *mut sqlite3, - sql: *const ::libc::c_char, - callback: - ::std::option::Option - ::libc::c_int>, - arg2: *mut ::libc::c_void, - errmsg: *mut *mut ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_initialize() -> ::libc::c_int; - pub fn sqlite3_shutdown() -> ::libc::c_int; - pub fn sqlite3_os_init() -> ::libc::c_int; - pub fn sqlite3_os_end() -> ::libc::c_int; - pub fn sqlite3_config(arg1: ::libc::c_int, ...) - -> ::libc::c_int; - pub fn sqlite3_db_config(arg1: *mut sqlite3, - op: ::libc::c_int, ...) - -> ::libc::c_int; - pub fn sqlite3_extended_result_codes(arg1: *mut sqlite3, - onoff: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_last_insert_rowid(arg1: *mut sqlite3) -> sqlite3_int64; - pub fn sqlite3_changes(arg1: *mut sqlite3) -> ::libc::c_int; - pub fn sqlite3_total_changes(arg1: *mut sqlite3) -> ::libc::c_int; - pub fn sqlite3_interrupt(arg1: *mut sqlite3); - pub fn sqlite3_complete(sql: *const ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_complete16(sql: *const ::libc::c_void) - -> ::libc::c_int; - pub fn sqlite3_busy_handler(arg1: *mut sqlite3, - arg2: - ::std::option::Option - ::libc::c_int>, - arg3: *mut ::libc::c_void) - -> ::libc::c_int; - pub fn sqlite3_busy_timeout(arg1: *mut sqlite3, ms: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_get_table(db: *mut sqlite3, - zSql: *const ::libc::c_char, - pazResult: *mut *mut *mut ::libc::c_char, - pnRow: *mut ::libc::c_int, - pnColumn: *mut ::libc::c_int, - pzErrmsg: *mut *mut ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_free_table(result: *mut *mut ::libc::c_char); - pub fn sqlite3_mprintf(arg1: *const ::libc::c_char, ...) - -> *mut ::libc::c_char; - pub fn sqlite3_vmprintf(arg1: *const ::libc::c_char, - arg2: va_list) -> *mut ::libc::c_char; - pub fn sqlite3_snprintf(arg1: ::libc::c_int, - arg2: *mut ::libc::c_char, - arg3: *const ::libc::c_char, ...) - -> *mut ::libc::c_char; - pub fn sqlite3_vsnprintf(arg1: ::libc::c_int, - arg2: *mut ::libc::c_char, - arg3: *const ::libc::c_char, - arg4: va_list) -> *mut ::libc::c_char; - pub fn sqlite3_malloc(arg1: ::libc::c_int) - -> *mut ::libc::c_void; - pub fn sqlite3_malloc64(arg1: sqlite3_uint64) - -> *mut ::libc::c_void; - pub fn sqlite3_realloc(arg1: *mut ::libc::c_void, - arg2: ::libc::c_int) - -> *mut ::libc::c_void; - pub fn sqlite3_realloc64(arg1: *mut ::libc::c_void, - arg2: sqlite3_uint64) - -> *mut ::libc::c_void; - pub fn sqlite3_free(arg1: *mut ::libc::c_void); - pub fn sqlite3_msize(arg1: *mut ::libc::c_void) -> sqlite3_uint64; - pub fn sqlite3_memory_used() -> sqlite3_int64; - pub fn sqlite3_memory_highwater(resetFlag: ::libc::c_int) - -> sqlite3_int64; - pub fn sqlite3_randomness(N: ::libc::c_int, - P: *mut ::libc::c_void); - pub fn sqlite3_set_authorizer(arg1: *mut sqlite3, - xAuth: - ::std::option::Option - ::libc::c_int>, - pUserData: *mut ::libc::c_void) - -> ::libc::c_int; - pub fn sqlite3_trace(arg1: *mut sqlite3, - xTrace: - ::std::option::Option, - arg2: *mut ::libc::c_void) - -> *mut ::libc::c_void; - pub fn sqlite3_profile(arg1: *mut sqlite3, - xProfile: - ::std::option::Option, - arg2: *mut ::libc::c_void) - -> *mut ::libc::c_void; - pub fn sqlite3_progress_handler(arg1: *mut sqlite3, - arg2: ::libc::c_int, - arg3: - ::std::option::Option - ::libc::c_int>, - arg4: *mut ::libc::c_void); - pub fn sqlite3_open(filename: *const ::libc::c_char, - ppDb: *mut *mut sqlite3) -> ::libc::c_int; - pub fn sqlite3_open16(filename: *const ::libc::c_void, - ppDb: *mut *mut sqlite3) -> ::libc::c_int; - pub fn sqlite3_open_v2(filename: *const ::libc::c_char, - ppDb: *mut *mut sqlite3, - flags: ::libc::c_int, - zVfs: *const ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_uri_parameter(zFilename: *const ::libc::c_char, - zParam: *const ::libc::c_char) - -> *const ::libc::c_char; - pub fn sqlite3_uri_boolean(zFile: *const ::libc::c_char, - zParam: *const ::libc::c_char, - bDefault: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_uri_int64(arg1: *const ::libc::c_char, - arg2: *const ::libc::c_char, - arg3: sqlite3_int64) -> sqlite3_int64; - pub fn sqlite3_errcode(db: *mut sqlite3) -> ::libc::c_int; - pub fn sqlite3_extended_errcode(db: *mut sqlite3) - -> ::libc::c_int; - pub fn sqlite3_errmsg(arg1: *mut sqlite3) - -> *const ::libc::c_char; - pub fn sqlite3_errmsg16(arg1: *mut sqlite3) - -> *const ::libc::c_void; - pub fn sqlite3_errstr(arg1: ::libc::c_int) - -> *const ::libc::c_char; - pub fn sqlite3_limit(arg1: *mut sqlite3, id: ::libc::c_int, - newVal: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_prepare(db: *mut sqlite3, - zSql: *const ::libc::c_char, - nByte: ::libc::c_int, - ppStmt: *mut *mut sqlite3_stmt, - pzTail: *mut *const ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_prepare_v2(db: *mut sqlite3, - zSql: *const ::libc::c_char, - nByte: ::libc::c_int, - ppStmt: *mut *mut sqlite3_stmt, - pzTail: *mut *const ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_prepare16(db: *mut sqlite3, - zSql: *const ::libc::c_void, - nByte: ::libc::c_int, - ppStmt: *mut *mut sqlite3_stmt, - pzTail: *mut *const ::libc::c_void) - -> ::libc::c_int; - pub fn sqlite3_prepare16_v2(db: *mut sqlite3, - zSql: *const ::libc::c_void, - nByte: ::libc::c_int, - ppStmt: *mut *mut sqlite3_stmt, - pzTail: *mut *const ::libc::c_void) - -> ::libc::c_int; - pub fn sqlite3_sql(pStmt: *mut sqlite3_stmt) - -> *const ::libc::c_char; - pub fn sqlite3_stmt_readonly(pStmt: *mut sqlite3_stmt) - -> ::libc::c_int; - pub fn sqlite3_stmt_busy(arg1: *mut sqlite3_stmt) - -> ::libc::c_int; - pub fn sqlite3_bind_blob(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int, - arg3: *const ::libc::c_void, - n: ::libc::c_int, - arg4: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_bind_blob64(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int, - arg3: *const ::libc::c_void, - arg4: sqlite3_uint64, - arg5: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_bind_double(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int, arg3: f64) - -> ::libc::c_int; - pub fn sqlite3_bind_int(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int, - arg3: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_bind_int64(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int, - arg3: sqlite3_int64) -> ::libc::c_int; - pub fn sqlite3_bind_null(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_bind_text(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int, - arg3: *const ::libc::c_char, - arg4: ::libc::c_int, - arg5: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_bind_text16(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int, - arg3: *const ::libc::c_void, - arg4: ::libc::c_int, - arg5: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_bind_text64(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int, - arg3: *const ::libc::c_char, - arg4: sqlite3_uint64, - arg5: - ::std::option::Option, - encoding: ::libc::c_uchar) - -> ::libc::c_int; - pub fn sqlite3_bind_value(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int, - arg3: *const sqlite3_value) - -> ::libc::c_int; - pub fn sqlite3_bind_zeroblob(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int, - n: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_bind_zeroblob64(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int, - arg3: sqlite3_uint64) - -> ::libc::c_int; - pub fn sqlite3_bind_parameter_count(arg1: *mut sqlite3_stmt) - -> ::libc::c_int; - pub fn sqlite3_bind_parameter_name(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int) - -> *const ::libc::c_char; - pub fn sqlite3_bind_parameter_index(arg1: *mut sqlite3_stmt, - zName: *const ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_clear_bindings(arg1: *mut sqlite3_stmt) - -> ::libc::c_int; - pub fn sqlite3_column_count(pStmt: *mut sqlite3_stmt) - -> ::libc::c_int; - pub fn sqlite3_column_name(arg1: *mut sqlite3_stmt, - N: ::libc::c_int) - -> *const ::libc::c_char; - pub fn sqlite3_column_name16(arg1: *mut sqlite3_stmt, - N: ::libc::c_int) - -> *const ::libc::c_void; - pub fn sqlite3_column_database_name(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int) - -> *const ::libc::c_char; - pub fn sqlite3_column_database_name16(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int) - -> *const ::libc::c_void; - pub fn sqlite3_column_table_name(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int) - -> *const ::libc::c_char; - pub fn sqlite3_column_table_name16(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int) - -> *const ::libc::c_void; - pub fn sqlite3_column_origin_name(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int) - -> *const ::libc::c_char; - pub fn sqlite3_column_origin_name16(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int) - -> *const ::libc::c_void; - pub fn sqlite3_column_decltype(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int) - -> *const ::libc::c_char; - pub fn sqlite3_column_decltype16(arg1: *mut sqlite3_stmt, - arg2: ::libc::c_int) - -> *const ::libc::c_void; - pub fn sqlite3_step(arg1: *mut sqlite3_stmt) -> ::libc::c_int; - pub fn sqlite3_data_count(pStmt: *mut sqlite3_stmt) - -> ::libc::c_int; - pub fn sqlite3_column_blob(arg1: *mut sqlite3_stmt, - iCol: ::libc::c_int) - -> *const ::libc::c_void; - pub fn sqlite3_column_bytes(arg1: *mut sqlite3_stmt, - iCol: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_column_bytes16(arg1: *mut sqlite3_stmt, - iCol: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_column_double(arg1: *mut sqlite3_stmt, - iCol: ::libc::c_int) -> f64; - pub fn sqlite3_column_int(arg1: *mut sqlite3_stmt, - iCol: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_column_int64(arg1: *mut sqlite3_stmt, - iCol: ::libc::c_int) -> sqlite3_int64; - pub fn sqlite3_column_text(arg1: *mut sqlite3_stmt, - iCol: ::libc::c_int) - -> *const ::libc::c_uchar; - pub fn sqlite3_column_text16(arg1: *mut sqlite3_stmt, - iCol: ::libc::c_int) - -> *const ::libc::c_void; - pub fn sqlite3_column_type(arg1: *mut sqlite3_stmt, - iCol: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_column_value(arg1: *mut sqlite3_stmt, - iCol: ::libc::c_int) - -> *mut sqlite3_value; - pub fn sqlite3_finalize(pStmt: *mut sqlite3_stmt) - -> ::libc::c_int; - pub fn sqlite3_reset(pStmt: *mut sqlite3_stmt) -> ::libc::c_int; - pub fn sqlite3_create_function(db: *mut sqlite3, - zFunctionName: - *const ::libc::c_char, - nArg: ::libc::c_int, - eTextRep: ::libc::c_int, - pApp: *mut ::libc::c_void, - xFunc: - ::std::option::Option, - xStep: - ::std::option::Option, - xFinal: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_create_function16(db: *mut sqlite3, - zFunctionName: - *const ::libc::c_void, - nArg: ::libc::c_int, - eTextRep: ::libc::c_int, - pApp: *mut ::libc::c_void, - xFunc: - ::std::option::Option, - xStep: - ::std::option::Option, - xFinal: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_create_function_v2(db: *mut sqlite3, - zFunctionName: - *const ::libc::c_char, - nArg: ::libc::c_int, - eTextRep: ::libc::c_int, - pApp: *mut ::libc::c_void, - xFunc: - ::std::option::Option, - xStep: - ::std::option::Option, - xFinal: - ::std::option::Option, - xDestroy: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_aggregate_count(arg1: *mut sqlite3_context) - -> ::libc::c_int; - pub fn sqlite3_expired(arg1: *mut sqlite3_stmt) -> ::libc::c_int; - pub fn sqlite3_transfer_bindings(arg1: *mut sqlite3_stmt, - arg2: *mut sqlite3_stmt) - -> ::libc::c_int; - pub fn sqlite3_global_recover() -> ::libc::c_int; - pub fn sqlite3_thread_cleanup(); - pub fn sqlite3_memory_alarm(arg1: - ::std::option::Option, - arg2: *mut ::libc::c_void, - arg3: sqlite3_int64) -> ::libc::c_int; - pub fn sqlite3_value_blob(arg1: *mut sqlite3_value) - -> *const ::libc::c_void; - pub fn sqlite3_value_bytes(arg1: *mut sqlite3_value) - -> ::libc::c_int; - pub fn sqlite3_value_bytes16(arg1: *mut sqlite3_value) - -> ::libc::c_int; - pub fn sqlite3_value_double(arg1: *mut sqlite3_value) -> f64; - pub fn sqlite3_value_int(arg1: *mut sqlite3_value) - -> ::libc::c_int; - pub fn sqlite3_value_int64(arg1: *mut sqlite3_value) -> sqlite3_int64; - pub fn sqlite3_value_text(arg1: *mut sqlite3_value) - -> *const ::libc::c_uchar; - pub fn sqlite3_value_text16(arg1: *mut sqlite3_value) - -> *const ::libc::c_void; - pub fn sqlite3_value_text16le(arg1: *mut sqlite3_value) - -> *const ::libc::c_void; - pub fn sqlite3_value_text16be(arg1: *mut sqlite3_value) - -> *const ::libc::c_void; - pub fn sqlite3_value_type(arg1: *mut sqlite3_value) - -> ::libc::c_int; - pub fn sqlite3_value_numeric_type(arg1: *mut sqlite3_value) - -> ::libc::c_int; - pub fn sqlite3_value_subtype(arg1: *mut sqlite3_value) - -> ::libc::c_uint; - pub fn sqlite3_value_dup(arg1: *const sqlite3_value) - -> *mut sqlite3_value; - pub fn sqlite3_value_free(arg1: *mut sqlite3_value); - pub fn sqlite3_aggregate_context(arg1: *mut sqlite3_context, - nBytes: ::libc::c_int) - -> *mut ::libc::c_void; - pub fn sqlite3_user_data(arg1: *mut sqlite3_context) - -> *mut ::libc::c_void; - pub fn sqlite3_context_db_handle(arg1: *mut sqlite3_context) - -> *mut sqlite3; - pub fn sqlite3_get_auxdata(arg1: *mut sqlite3_context, - N: ::libc::c_int) - -> *mut ::libc::c_void; - pub fn sqlite3_set_auxdata(arg1: *mut sqlite3_context, - N: ::libc::c_int, - arg2: *mut ::libc::c_void, - arg3: - ::std::option::Option); - pub fn sqlite3_result_blob(arg1: *mut sqlite3_context, - arg2: *const ::libc::c_void, - arg3: ::libc::c_int, - arg4: - ::std::option::Option); - pub fn sqlite3_result_blob64(arg1: *mut sqlite3_context, - arg2: *const ::libc::c_void, - arg3: sqlite3_uint64, - arg4: - ::std::option::Option); - pub fn sqlite3_result_double(arg1: *mut sqlite3_context, arg2: f64); - pub fn sqlite3_result_error(arg1: *mut sqlite3_context, - arg2: *const ::libc::c_char, - arg3: ::libc::c_int); - pub fn sqlite3_result_error16(arg1: *mut sqlite3_context, - arg2: *const ::libc::c_void, - arg3: ::libc::c_int); - pub fn sqlite3_result_error_toobig(arg1: *mut sqlite3_context); - pub fn sqlite3_result_error_nomem(arg1: *mut sqlite3_context); - pub fn sqlite3_result_error_code(arg1: *mut sqlite3_context, - arg2: ::libc::c_int); - pub fn sqlite3_result_int(arg1: *mut sqlite3_context, - arg2: ::libc::c_int); - pub fn sqlite3_result_int64(arg1: *mut sqlite3_context, - arg2: sqlite3_int64); - pub fn sqlite3_result_null(arg1: *mut sqlite3_context); - pub fn sqlite3_result_text(arg1: *mut sqlite3_context, - arg2: *const ::libc::c_char, - arg3: ::libc::c_int, - arg4: - ::std::option::Option); - pub fn sqlite3_result_text64(arg1: *mut sqlite3_context, - arg2: *const ::libc::c_char, - arg3: sqlite3_uint64, - arg4: - ::std::option::Option, - encoding: ::libc::c_uchar); - pub fn sqlite3_result_text16(arg1: *mut sqlite3_context, - arg2: *const ::libc::c_void, - arg3: ::libc::c_int, - arg4: - ::std::option::Option); - pub fn sqlite3_result_text16le(arg1: *mut sqlite3_context, - arg2: *const ::libc::c_void, - arg3: ::libc::c_int, - arg4: - ::std::option::Option); - pub fn sqlite3_result_text16be(arg1: *mut sqlite3_context, - arg2: *const ::libc::c_void, - arg3: ::libc::c_int, - arg4: - ::std::option::Option); - pub fn sqlite3_result_value(arg1: *mut sqlite3_context, - arg2: *mut sqlite3_value); - pub fn sqlite3_result_zeroblob(arg1: *mut sqlite3_context, - n: ::libc::c_int); - pub fn sqlite3_result_zeroblob64(arg1: *mut sqlite3_context, - n: sqlite3_uint64) - -> ::libc::c_int; - pub fn sqlite3_result_subtype(arg1: *mut sqlite3_context, - arg2: ::libc::c_uint); - pub fn sqlite3_create_collation(arg1: *mut sqlite3, - zName: *const ::libc::c_char, - eTextRep: ::libc::c_int, - pArg: *mut ::libc::c_void, - xCompare: - ::std::option::Option - ::libc::c_int>) - -> ::libc::c_int; - pub fn sqlite3_create_collation_v2(arg1: *mut sqlite3, - zName: *const ::libc::c_char, - eTextRep: ::libc::c_int, - pArg: *mut ::libc::c_void, - xCompare: - ::std::option::Option - ::libc::c_int>, - xDestroy: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_create_collation16(arg1: *mut sqlite3, - zName: *const ::libc::c_void, - eTextRep: ::libc::c_int, - pArg: *mut ::libc::c_void, - xCompare: - ::std::option::Option - ::libc::c_int>) - -> ::libc::c_int; - pub fn sqlite3_collation_needed(arg1: *mut sqlite3, - arg2: *mut ::libc::c_void, - arg3: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_collation_needed16(arg1: *mut sqlite3, - arg2: *mut ::libc::c_void, - arg3: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_sleep(arg1: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_get_autocommit(arg1: *mut sqlite3) - -> ::libc::c_int; - pub fn sqlite3_db_handle(arg1: *mut sqlite3_stmt) -> *mut sqlite3; - pub fn sqlite3_db_filename(db: *mut sqlite3, - zDbName: *const ::libc::c_char) - -> *const ::libc::c_char; - pub fn sqlite3_db_readonly(db: *mut sqlite3, - zDbName: *const ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_next_stmt(pDb: *mut sqlite3, pStmt: *mut sqlite3_stmt) - -> *mut sqlite3_stmt; - pub fn sqlite3_commit_hook(arg1: *mut sqlite3, - arg2: - ::std::option::Option - ::libc::c_int>, - arg3: *mut ::libc::c_void) - -> *mut ::libc::c_void; - pub fn sqlite3_rollback_hook(arg1: *mut sqlite3, - arg2: - ::std::option::Option, - arg3: *mut ::libc::c_void) - -> *mut ::libc::c_void; - pub fn sqlite3_update_hook(arg1: *mut sqlite3, - arg2: - ::std::option::Option, - arg3: *mut ::libc::c_void) - -> *mut ::libc::c_void; - pub fn sqlite3_enable_shared_cache(arg1: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_release_memory(arg1: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_db_release_memory(arg1: *mut sqlite3) - -> ::libc::c_int; - pub fn sqlite3_soft_heap_limit64(N: sqlite3_int64) -> sqlite3_int64; - pub fn sqlite3_soft_heap_limit(N: ::libc::c_int); - pub fn sqlite3_table_column_metadata(db: *mut sqlite3, - zDbName: - *const ::libc::c_char, - zTableName: - *const ::libc::c_char, - zColumnName: - *const ::libc::c_char, - pzDataType: - *mut *const ::libc::c_char, - pzCollSeq: - *mut *const ::libc::c_char, - pNotNull: *mut ::libc::c_int, - pPrimaryKey: - *mut ::libc::c_int, - pAutoinc: *mut ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_load_extension(db: *mut sqlite3, - zFile: *const ::libc::c_char, - zProc: *const ::libc::c_char, - pzErrMsg: *mut *mut ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_enable_load_extension(db: *mut sqlite3, - onoff: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_auto_extension(xEntryPoint: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_cancel_auto_extension(xEntryPoint: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_reset_auto_extension(); - pub fn sqlite3_create_module(db: *mut sqlite3, - zName: *const ::libc::c_char, - p: *const sqlite3_module, - pClientData: *mut ::libc::c_void) - -> ::libc::c_int; - pub fn sqlite3_create_module_v2(db: *mut sqlite3, - zName: *const ::libc::c_char, - p: *const sqlite3_module, - pClientData: *mut ::libc::c_void, - xDestroy: - ::std::option::Option) - -> ::libc::c_int; - pub fn sqlite3_declare_vtab(arg1: *mut sqlite3, - zSQL: *const ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_overload_function(arg1: *mut sqlite3, - zFuncName: *const ::libc::c_char, - nArg: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_blob_open(arg1: *mut sqlite3, - zDb: *const ::libc::c_char, - zTable: *const ::libc::c_char, - zColumn: *const ::libc::c_char, - iRow: sqlite3_int64, - flags: ::libc::c_int, - ppBlob: *mut *mut sqlite3_blob) - -> ::libc::c_int; - pub fn sqlite3_blob_reopen(arg1: *mut sqlite3_blob, arg2: sqlite3_int64) - -> ::libc::c_int; - pub fn sqlite3_blob_close(arg1: *mut sqlite3_blob) - -> ::libc::c_int; - pub fn sqlite3_blob_bytes(arg1: *mut sqlite3_blob) - -> ::libc::c_int; - pub fn sqlite3_blob_read(arg1: *mut sqlite3_blob, - Z: *mut ::libc::c_void, - N: ::libc::c_int, - iOffset: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_blob_write(arg1: *mut sqlite3_blob, - z: *const ::libc::c_void, - n: ::libc::c_int, - iOffset: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_vfs_find(zVfsName: *const ::libc::c_char) - -> *mut sqlite3_vfs; - pub fn sqlite3_vfs_register(arg1: *mut sqlite3_vfs, - makeDflt: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_vfs_unregister(arg1: *mut sqlite3_vfs) - -> ::libc::c_int; - pub fn sqlite3_mutex_alloc(arg1: ::libc::c_int) - -> *mut sqlite3_mutex; - pub fn sqlite3_mutex_free(arg1: *mut sqlite3_mutex); - pub fn sqlite3_mutex_enter(arg1: *mut sqlite3_mutex); - pub fn sqlite3_mutex_try(arg1: *mut sqlite3_mutex) - -> ::libc::c_int; - pub fn sqlite3_mutex_leave(arg1: *mut sqlite3_mutex); - pub fn sqlite3_mutex_held(arg1: *mut sqlite3_mutex) - -> ::libc::c_int; - pub fn sqlite3_mutex_notheld(arg1: *mut sqlite3_mutex) - -> ::libc::c_int; - pub fn sqlite3_db_mutex(arg1: *mut sqlite3) -> *mut sqlite3_mutex; - pub fn sqlite3_file_control(arg1: *mut sqlite3, - zDbName: *const ::libc::c_char, - op: ::libc::c_int, - arg2: *mut ::libc::c_void) - -> ::libc::c_int; - pub fn sqlite3_test_control(op: ::libc::c_int, ...) - -> ::libc::c_int; - pub fn sqlite3_status(op: ::libc::c_int, - pCurrent: *mut ::libc::c_int, - pHighwater: *mut ::libc::c_int, - resetFlag: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_status64(op: ::libc::c_int, - pCurrent: *mut sqlite3_int64, - pHighwater: *mut sqlite3_int64, - resetFlag: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_db_status(arg1: *mut sqlite3, op: ::libc::c_int, - pCur: *mut ::libc::c_int, - pHiwtr: *mut ::libc::c_int, - resetFlg: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_stmt_status(arg1: *mut sqlite3_stmt, - op: ::libc::c_int, - resetFlg: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_backup_init(pDest: *mut sqlite3, - zDestName: *const ::libc::c_char, - pSource: *mut sqlite3, - zSourceName: *const ::libc::c_char) - -> *mut sqlite3_backup; - pub fn sqlite3_backup_step(p: *mut sqlite3_backup, - nPage: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_backup_finish(p: *mut sqlite3_backup) - -> ::libc::c_int; - pub fn sqlite3_backup_remaining(p: *mut sqlite3_backup) - -> ::libc::c_int; - pub fn sqlite3_backup_pagecount(p: *mut sqlite3_backup) - -> ::libc::c_int; - pub fn sqlite3_unlock_notify(pBlocked: *mut sqlite3, - xNotify: - ::std::option::Option, - pNotifyArg: *mut ::libc::c_void) - -> ::libc::c_int; - pub fn sqlite3_stricmp(arg1: *const ::libc::c_char, - arg2: *const ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_strnicmp(arg1: *const ::libc::c_char, - arg2: *const ::libc::c_char, - arg3: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_strglob(zGlob: *const ::libc::c_char, - zStr: *const ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_strlike(zGlob: *const ::libc::c_char, - zStr: *const ::libc::c_char, - cEsc: ::libc::c_uint) - -> ::libc::c_int; - pub fn sqlite3_log(iErrCode: ::libc::c_int, - zFormat: *const ::libc::c_char, ...); - pub fn sqlite3_wal_hook(arg1: *mut sqlite3, - arg2: - ::std::option::Option - ::libc::c_int>, - arg3: *mut ::libc::c_void) - -> *mut ::libc::c_void; - pub fn sqlite3_wal_autocheckpoint(db: *mut sqlite3, - N: ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_wal_checkpoint(db: *mut sqlite3, - zDb: *const ::libc::c_char) - -> ::libc::c_int; - pub fn sqlite3_wal_checkpoint_v2(db: *mut sqlite3, - zDb: *const ::libc::c_char, - eMode: ::libc::c_int, - pnLog: *mut ::libc::c_int, - pnCkpt: *mut ::libc::c_int) - -> ::libc::c_int; - pub fn sqlite3_vtab_config(arg1: *mut sqlite3, - op: ::libc::c_int, ...) - -> ::libc::c_int; - pub fn sqlite3_vtab_on_conflict(arg1: *mut sqlite3) - -> ::libc::c_int; - pub fn sqlite3_stmt_scanstatus(pStmt: *mut sqlite3_stmt, - idx: ::libc::c_int, - iScanStatusOp: ::libc::c_int, - pOut: *mut ::libc::c_void) - -> ::libc::c_int; - pub fn sqlite3_stmt_scanstatus_reset(arg1: *mut sqlite3_stmt); - pub fn sqlite3_db_cacheflush(arg1: *mut sqlite3) -> ::libc::c_int; - pub fn sqlite3_preupdate_hook(db: *mut sqlite3, - xPreUpdate: - ::std::option::Option, - arg1: *mut ::libc::c_void) - -> *mut ::libc::c_void; - pub fn sqlite3_preupdate_old(arg1: *mut sqlite3, - arg2: ::libc::c_int, - arg3: *mut *mut sqlite3_value) - -> ::libc::c_int; - pub fn sqlite3_preupdate_count(arg1: *mut sqlite3) - -> ::libc::c_int; - pub fn sqlite3_preupdate_depth(arg1: *mut sqlite3) - -> ::libc::c_int; - pub fn sqlite3_preupdate_new(arg1: *mut sqlite3, - arg2: ::libc::c_int, - arg3: *mut *mut sqlite3_value) - -> ::libc::c_int; - pub fn sqlite3_system_errno(arg1: *mut sqlite3) -> ::libc::c_int; - pub fn sqlite3_snapshot_get(db: *mut sqlite3, - zSchema: *const ::libc::c_char, - ppSnapshot: *mut *mut sqlite3_snapshot) - -> ::libc::c_int; - pub fn sqlite3_snapshot_open(db: *mut sqlite3, - zSchema: *const ::libc::c_char, - pSnapshot: *mut sqlite3_snapshot) - -> ::libc::c_int; - pub fn sqlite3_snapshot_free(arg1: *mut sqlite3_snapshot); - pub fn sqlite3_snapshot_cmp(p1: *mut sqlite3_snapshot, - p2: *mut sqlite3_snapshot) - -> ::libc::c_int; - pub fn sqlite3_rtree_geometry_callback(db: *mut sqlite3, - zGeom: - *const ::libc::c_char, - xGeom: - ::std::option::Option - ::libc::c_int>, - pContext: - *mut ::libc::c_void) - -> ::libc::c_int; - pub fn sqlite3_rtree_query_callback(db: *mut sqlite3, - zQueryFunc: - *const ::libc::c_char, - xQueryFunc: - ::std::option::Option - ::libc::c_int>, - pContext: *mut ::libc::c_void, - xDestructor: - ::std::option::Option) - -> ::libc::c_int; -} diff --git a/libsqlite3-sys/src/lib.rs b/libsqlite3-sys/src/lib.rs index 85c3b64..4a228cb 100644 --- a/libsqlite3-sys/src/lib.rs +++ b/libsqlite3-sys/src/lib.rs @@ -1,25 +1,13 @@ -// bindgen.rs was created with bindgen 0.15.0 against sqlite3 3.8.10 - -#![allow(non_snake_case)] +#![allow(non_snake_case, non_camel_case_types)] extern crate libc; -pub use self::bindgen::*; pub use self::error::*; use std::mem; -use libc::c_int; -mod bindgen; mod error; -// SQLite datatype constants. -pub const SQLITE_INTEGER : c_int = 1; -pub const SQLITE_FLOAT : c_int = 2; -pub const SQLITE_TEXT : c_int = 3; -pub const SQLITE_BLOB : c_int = 4; -pub const SQLITE_NULL : c_int = 5; - pub fn SQLITE_STATIC() -> sqlite3_destructor_type { Some(unsafe { mem::transmute(0isize) }) } @@ -28,10 +16,6 @@ pub fn SQLITE_TRANSIENT() -> sqlite3_destructor_type { Some(unsafe { mem::transmute(-1isize) }) } -pub const SQLITE_CONFIG_LOG: c_int = 16; -pub const SQLITE_UTF8: c_int = 1; -pub const SQLITE_DETERMINISTIC: c_int = 0x800; - /// Run-Time Limit Categories #[repr(C)] pub enum Limit { @@ -61,3 +45,5 @@ pub enum Limit { /// The maximum number of auxiliary worker threads that a single prepared statement may start. SQLITE_LIMIT_WORKER_THREADS = 11, } + +include!(concat!(env!("OUT_DIR"), "/bindgen.rs")); diff --git a/libsqlite3-sys/wrapper.h b/libsqlite3-sys/wrapper.h new file mode 100644 index 0000000..b5e2c60 --- /dev/null +++ b/libsqlite3-sys/wrapper.h @@ -0,0 +1 @@ +#include "sqlite3.h"