/* automatically generated by rust-bindgen */

pub const __GNUC_VA_LIST: i32 = 1;
pub const SQLITE_VERSION: &'static [u8; 7usize] = b"3.6.23\x00";
pub const SQLITE_VERSION_NUMBER: i32 = 3006023;
pub const SQLITE_SOURCE_ID: &'static [u8; 61usize] =
    b"2010-03-09 19:31:43 4ae453ea7be69018d8c16eb8dabe05617397dc4d\x00";
pub const SQLITE_OK: i32 = 0;
pub const SQLITE_ERROR: i32 = 1;
pub const SQLITE_INTERNAL: i32 = 2;
pub const SQLITE_PERM: i32 = 3;
pub const SQLITE_ABORT: i32 = 4;
pub const SQLITE_BUSY: i32 = 5;
pub const SQLITE_LOCKED: i32 = 6;
pub const SQLITE_NOMEM: i32 = 7;
pub const SQLITE_READONLY: i32 = 8;
pub const SQLITE_INTERRUPT: i32 = 9;
pub const SQLITE_IOERR: i32 = 10;
pub const SQLITE_CORRUPT: i32 = 11;
pub const SQLITE_NOTFOUND: i32 = 12;
pub const SQLITE_FULL: i32 = 13;
pub const SQLITE_CANTOPEN: i32 = 14;
pub const SQLITE_PROTOCOL: i32 = 15;
pub const SQLITE_EMPTY: i32 = 16;
pub const SQLITE_SCHEMA: i32 = 17;
pub const SQLITE_TOOBIG: i32 = 18;
pub const SQLITE_CONSTRAINT: i32 = 19;
pub const SQLITE_MISMATCH: i32 = 20;
pub const SQLITE_MISUSE: i32 = 21;
pub const SQLITE_NOLFS: i32 = 22;
pub const SQLITE_AUTH: i32 = 23;
pub const SQLITE_FORMAT: i32 = 24;
pub const SQLITE_RANGE: i32 = 25;
pub const SQLITE_NOTADB: i32 = 26;
pub const SQLITE_ROW: i32 = 100;
pub const SQLITE_DONE: i32 = 101;
pub const SQLITE_IOERR_READ: i32 = 266;
pub const SQLITE_IOERR_SHORT_READ: i32 = 522;
pub const SQLITE_IOERR_WRITE: i32 = 778;
pub const SQLITE_IOERR_FSYNC: i32 = 1034;
pub const SQLITE_IOERR_DIR_FSYNC: i32 = 1290;
pub const SQLITE_IOERR_TRUNCATE: i32 = 1546;
pub const SQLITE_IOERR_FSTAT: i32 = 1802;
pub const SQLITE_IOERR_UNLOCK: i32 = 2058;
pub const SQLITE_IOERR_RDLOCK: i32 = 2314;
pub const SQLITE_IOERR_DELETE: i32 = 2570;
pub const SQLITE_IOERR_BLOCKED: i32 = 2826;
pub const SQLITE_IOERR_NOMEM: i32 = 3082;
pub const SQLITE_IOERR_ACCESS: i32 = 3338;
pub const SQLITE_IOERR_CHECKRESERVEDLOCK: i32 = 3594;
pub const SQLITE_IOERR_LOCK: i32 = 3850;
pub const SQLITE_IOERR_CLOSE: i32 = 4106;
pub const SQLITE_IOERR_DIR_CLOSE: i32 = 4362;
pub const SQLITE_LOCKED_SHAREDCACHE: i32 = 262;
pub const SQLITE_OPEN_READONLY: i32 = 1;
pub const SQLITE_OPEN_READWRITE: i32 = 2;
pub const SQLITE_OPEN_CREATE: i32 = 4;
pub const SQLITE_OPEN_DELETEONCLOSE: i32 = 8;
pub const SQLITE_OPEN_EXCLUSIVE: i32 = 16;
pub const SQLITE_OPEN_AUTOPROXY: i32 = 32;
pub const SQLITE_OPEN_MAIN_DB: i32 = 256;
pub const SQLITE_OPEN_TEMP_DB: i32 = 512;
pub const SQLITE_OPEN_TRANSIENT_DB: i32 = 1024;
pub const SQLITE_OPEN_MAIN_JOURNAL: i32 = 2048;
pub const SQLITE_OPEN_TEMP_JOURNAL: i32 = 4096;
pub const SQLITE_OPEN_SUBJOURNAL: i32 = 8192;
pub const SQLITE_OPEN_MASTER_JOURNAL: i32 = 16384;
pub const SQLITE_OPEN_NOMUTEX: i32 = 32768;
pub const SQLITE_OPEN_FULLMUTEX: i32 = 65536;
pub const SQLITE_OPEN_SHAREDCACHE: i32 = 131072;
pub const SQLITE_OPEN_PRIVATECACHE: i32 = 262144;
pub const SQLITE_IOCAP_ATOMIC: i32 = 1;
pub const SQLITE_IOCAP_ATOMIC512: i32 = 2;
pub const SQLITE_IOCAP_ATOMIC1K: i32 = 4;
pub const SQLITE_IOCAP_ATOMIC2K: i32 = 8;
pub const SQLITE_IOCAP_ATOMIC4K: i32 = 16;
pub const SQLITE_IOCAP_ATOMIC8K: i32 = 32;
pub const SQLITE_IOCAP_ATOMIC16K: i32 = 64;
pub const SQLITE_IOCAP_ATOMIC32K: i32 = 128;
pub const SQLITE_IOCAP_ATOMIC64K: i32 = 256;
pub const SQLITE_IOCAP_SAFE_APPEND: i32 = 512;
pub const SQLITE_IOCAP_SEQUENTIAL: i32 = 1024;
pub const SQLITE_LOCK_NONE: i32 = 0;
pub const SQLITE_LOCK_SHARED: i32 = 1;
pub const SQLITE_LOCK_RESERVED: i32 = 2;
pub const SQLITE_LOCK_PENDING: i32 = 3;
pub const SQLITE_LOCK_EXCLUSIVE: i32 = 4;
pub const SQLITE_SYNC_NORMAL: i32 = 2;
pub const SQLITE_SYNC_FULL: i32 = 3;
pub const SQLITE_SYNC_DATAONLY: i32 = 16;
pub const SQLITE_FCNTL_LOCKSTATE: i32 = 1;
pub const SQLITE_GET_LOCKPROXYFILE: i32 = 2;
pub const SQLITE_SET_LOCKPROXYFILE: i32 = 3;
pub const SQLITE_LAST_ERRNO: i32 = 4;
pub const SQLITE_ACCESS_EXISTS: i32 = 0;
pub const SQLITE_ACCESS_READWRITE: i32 = 1;
pub const SQLITE_ACCESS_READ: i32 = 2;
pub const SQLITE_CONFIG_SINGLETHREAD: i32 = 1;
pub const SQLITE_CONFIG_MULTITHREAD: i32 = 2;
pub const SQLITE_CONFIG_SERIALIZED: i32 = 3;
pub const SQLITE_CONFIG_MALLOC: i32 = 4;
pub const SQLITE_CONFIG_GETMALLOC: i32 = 5;
pub const SQLITE_CONFIG_SCRATCH: i32 = 6;
pub const SQLITE_CONFIG_PAGECACHE: i32 = 7;
pub const SQLITE_CONFIG_HEAP: i32 = 8;
pub const SQLITE_CONFIG_MEMSTATUS: i32 = 9;
pub const SQLITE_CONFIG_MUTEX: i32 = 10;
pub const SQLITE_CONFIG_GETMUTEX: i32 = 11;
pub const SQLITE_CONFIG_LOOKASIDE: i32 = 13;
pub const SQLITE_CONFIG_PCACHE: i32 = 14;
pub const SQLITE_CONFIG_GETPCACHE: i32 = 15;
pub const SQLITE_CONFIG_LOG: i32 = 16;
pub const SQLITE_DBCONFIG_LOOKASIDE: i32 = 1001;
pub const SQLITE_DENY: i32 = 1;
pub const SQLITE_IGNORE: i32 = 2;
pub const SQLITE_CREATE_INDEX: i32 = 1;
pub const SQLITE_CREATE_TABLE: i32 = 2;
pub const SQLITE_CREATE_TEMP_INDEX: i32 = 3;
pub const SQLITE_CREATE_TEMP_TABLE: i32 = 4;
pub const SQLITE_CREATE_TEMP_TRIGGER: i32 = 5;
pub const SQLITE_CREATE_TEMP_VIEW: i32 = 6;
pub const SQLITE_CREATE_TRIGGER: i32 = 7;
pub const SQLITE_CREATE_VIEW: i32 = 8;
pub const SQLITE_DELETE: i32 = 9;
pub const SQLITE_DROP_INDEX: i32 = 10;
pub const SQLITE_DROP_TABLE: i32 = 11;
pub const SQLITE_DROP_TEMP_INDEX: i32 = 12;
pub const SQLITE_DROP_TEMP_TABLE: i32 = 13;
pub const SQLITE_DROP_TEMP_TRIGGER: i32 = 14;
pub const SQLITE_DROP_TEMP_VIEW: i32 = 15;
pub const SQLITE_DROP_TRIGGER: i32 = 16;
pub const SQLITE_DROP_VIEW: i32 = 17;
pub const SQLITE_INSERT: i32 = 18;
pub const SQLITE_PRAGMA: i32 = 19;
pub const SQLITE_READ: i32 = 20;
pub const SQLITE_SELECT: i32 = 21;
pub const SQLITE_TRANSACTION: i32 = 22;
pub const SQLITE_UPDATE: i32 = 23;
pub const SQLITE_ATTACH: i32 = 24;
pub const SQLITE_DETACH: i32 = 25;
pub const SQLITE_ALTER_TABLE: i32 = 26;
pub const SQLITE_REINDEX: i32 = 27;
pub const SQLITE_ANALYZE: i32 = 28;
pub const SQLITE_CREATE_VTABLE: i32 = 29;
pub const SQLITE_DROP_VTABLE: i32 = 30;
pub const SQLITE_FUNCTION: i32 = 31;
pub const SQLITE_SAVEPOINT: i32 = 32;
pub const SQLITE_COPY: i32 = 0;
pub const SQLITE_LIMIT_LENGTH: i32 = 0;
pub const SQLITE_LIMIT_SQL_LENGTH: i32 = 1;
pub const SQLITE_LIMIT_COLUMN: i32 = 2;
pub const SQLITE_LIMIT_EXPR_DEPTH: i32 = 3;
pub const SQLITE_LIMIT_COMPOUND_SELECT: i32 = 4;
pub const SQLITE_LIMIT_VDBE_OP: i32 = 5;
pub const SQLITE_LIMIT_FUNCTION_ARG: i32 = 6;
pub const SQLITE_LIMIT_ATTACHED: i32 = 7;
pub const SQLITE_LIMIT_LIKE_PATTERN_LENGTH: i32 = 8;
pub const SQLITE_LIMIT_VARIABLE_NUMBER: i32 = 9;
pub const SQLITE_LIMIT_TRIGGER_DEPTH: i32 = 10;
pub const SQLITE_INTEGER: i32 = 1;
pub const SQLITE_FLOAT: i32 = 2;
pub const SQLITE_BLOB: i32 = 4;
pub const SQLITE_NULL: i32 = 5;
pub const SQLITE_TEXT: i32 = 3;
pub const SQLITE3_TEXT: i32 = 3;
pub const SQLITE_UTF8: i32 = 1;
pub const SQLITE_UTF16LE: i32 = 2;
pub const SQLITE_UTF16BE: i32 = 3;
pub const SQLITE_UTF16: i32 = 4;
pub const SQLITE_ANY: i32 = 5;
pub const SQLITE_UTF16_ALIGNED: i32 = 8;
pub const SQLITE_INDEX_CONSTRAINT_EQ: i32 = 2;
pub const SQLITE_INDEX_CONSTRAINT_GT: i32 = 4;
pub const SQLITE_INDEX_CONSTRAINT_LE: i32 = 8;
pub const SQLITE_INDEX_CONSTRAINT_LT: i32 = 16;
pub const SQLITE_INDEX_CONSTRAINT_GE: i32 = 32;
pub const SQLITE_INDEX_CONSTRAINT_MATCH: i32 = 64;
pub const SQLITE_MUTEX_FAST: i32 = 0;
pub const SQLITE_MUTEX_RECURSIVE: i32 = 1;
pub const SQLITE_MUTEX_STATIC_MASTER: i32 = 2;
pub const SQLITE_MUTEX_STATIC_MEM: i32 = 3;
pub const SQLITE_MUTEX_STATIC_MEM2: i32 = 4;
pub const SQLITE_MUTEX_STATIC_OPEN: i32 = 4;
pub const SQLITE_MUTEX_STATIC_PRNG: i32 = 5;
pub const SQLITE_MUTEX_STATIC_LRU: i32 = 6;
pub const SQLITE_MUTEX_STATIC_LRU2: i32 = 7;
pub const SQLITE_TESTCTRL_FIRST: i32 = 5;
pub const SQLITE_TESTCTRL_PRNG_SAVE: i32 = 5;
pub const SQLITE_TESTCTRL_PRNG_RESTORE: i32 = 6;
pub const SQLITE_TESTCTRL_PRNG_RESET: i32 = 7;
pub const SQLITE_TESTCTRL_BITVEC_TEST: i32 = 8;
pub const SQLITE_TESTCTRL_FAULT_INSTALL: i32 = 9;
pub const SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS: i32 = 10;
pub const SQLITE_TESTCTRL_PENDING_BYTE: i32 = 11;
pub const SQLITE_TESTCTRL_ASSERT: i32 = 12;
pub const SQLITE_TESTCTRL_ALWAYS: i32 = 13;
pub const SQLITE_TESTCTRL_RESERVE: i32 = 14;
pub const SQLITE_TESTCTRL_OPTIMIZATIONS: i32 = 15;
pub const SQLITE_TESTCTRL_ISKEYWORD: i32 = 16;
pub const SQLITE_TESTCTRL_LAST: i32 = 16;
pub const SQLITE_STATUS_MEMORY_USED: i32 = 0;
pub const SQLITE_STATUS_PAGECACHE_USED: i32 = 1;
pub const SQLITE_STATUS_PAGECACHE_OVERFLOW: i32 = 2;
pub const SQLITE_STATUS_SCRATCH_USED: i32 = 3;
pub const SQLITE_STATUS_SCRATCH_OVERFLOW: i32 = 4;
pub const SQLITE_STATUS_MALLOC_SIZE: i32 = 5;
pub const SQLITE_STATUS_PARSER_STACK: i32 = 6;
pub const SQLITE_STATUS_PAGECACHE_SIZE: i32 = 7;
pub const SQLITE_STATUS_SCRATCH_SIZE: i32 = 8;
pub const SQLITE_DBSTATUS_LOOKASIDE_USED: i32 = 0;
pub const SQLITE_STMTSTATUS_FULLSCAN_STEP: i32 = 1;
pub const SQLITE_STMTSTATUS_SORT: i32 = 2;
pub type va_list = __builtin_va_list;
pub type __gnuc_va_list = __builtin_va_list;
extern "C" {
    #[link_name = "sqlite3_version"]
    pub static mut sqlite3_version: [::std::os::raw::c_char; 0usize];
}
extern "C" {
    pub fn sqlite3_libversion() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_sourceid() -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_libversion_number() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_compileoption_used(zOptName: *const ::std::os::raw::c_char)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_compileoption_get(N: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_threadsafe() -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sqlite3([u8; 0]);
pub type sqlite_int64 = ::std::os::raw::c_longlong;
pub type sqlite_uint64 = ::std::os::raw::c_ulonglong;
pub type sqlite3_int64 = sqlite_int64;
pub type sqlite3_uint64 = sqlite_uint64;
extern "C" {
    pub fn sqlite3_close(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
}
pub type sqlite3_callback =
    ::std::option::Option<unsafe extern "C" fn(arg1:
                                                   *mut ::std::os::raw::c_void,
                                               arg2: ::std::os::raw::c_int,
                                               arg3:
                                                   *mut *mut ::std::os::raw::c_char,
                                               arg4:
                                                   *mut *mut ::std::os::raw::c_char)
                              -> ::std::os::raw::c_int>;
extern "C" {
    pub fn sqlite3_exec(arg1: *mut sqlite3,
                        sql: *const ::std::os::raw::c_char,
                        callback:
                            ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                           *mut ::std::os::raw::c_void,
                                                                       arg2:
                                                                           ::std::os::raw::c_int,
                                                                       arg3:
                                                                           *mut *mut ::std::os::raw::c_char,
                                                                       arg4:
                                                                           *mut *mut ::std::os::raw::c_char)
                                                      ->
                                                          ::std::os::raw::c_int>,
                        arg2: *mut ::std::os::raw::c_void,
                        errmsg: *mut *mut ::std::os::raw::c_char)
     -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_file {
    pub pMethods: *const sqlite3_file_sqlite3_io_methods,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_file_sqlite3_io_methods {
    pub iVersion: ::std::os::raw::c_int,
    pub xClose: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                               *mut sqlite3_file)
                                          -> ::std::os::raw::c_int>,
    pub xRead: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                              *mut sqlite3_file,
                                                          arg2:
                                                              *mut ::std::os::raw::c_void,
                                                          iAmt:
                                                              ::std::os::raw::c_int,
                                                          iOfst:
                                                              sqlite3_int64)
                                         -> ::std::os::raw::c_int>,
    pub xWrite: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                               *mut sqlite3_file,
                                                           arg2:
                                                               *const ::std::os::raw::c_void,
                                                           iAmt:
                                                               ::std::os::raw::c_int,
                                                           iOfst:
                                                               sqlite3_int64)
                                          -> ::std::os::raw::c_int>,
    pub xTruncate: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                  *mut sqlite3_file,
                                                              size:
                                                                  sqlite3_int64)
                                             -> ::std::os::raw::c_int>,
    pub xSync: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                              *mut sqlite3_file,
                                                          flags:
                                                              ::std::os::raw::c_int)
                                         -> ::std::os::raw::c_int>,
    pub xFileSize: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                  *mut sqlite3_file,
                                                              pSize:
                                                                  *mut sqlite3_int64)
                                             -> ::std::os::raw::c_int>,
    pub xLock: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                              *mut sqlite3_file,
                                                          arg2:
                                                              ::std::os::raw::c_int)
                                         -> ::std::os::raw::c_int>,
    pub xUnlock: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                *mut sqlite3_file,
                                                            arg2:
                                                                ::std::os::raw::c_int)
                                           -> ::std::os::raw::c_int>,
    pub xCheckReservedLock: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                           *mut sqlite3_file,
                                                                       pResOut:
                                                                           *mut ::std::os::raw::c_int)
                                                      ->
                                                          ::std::os::raw::c_int>,
    pub xFileControl: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                     *mut sqlite3_file,
                                                                 op:
                                                                     ::std::os::raw::c_int,
                                                                 pArg:
                                                                     *mut ::std::os::raw::c_void)
                                                -> ::std::os::raw::c_int>,
    pub xSectorSize: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                    *mut sqlite3_file)
                                               -> ::std::os::raw::c_int>,
    pub xDeviceCharacteristics: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                               *mut sqlite3_file)
                                                          ->
                                                              ::std::os::raw::c_int>,
}
#[test]
fn bindgen_test_layout_sqlite3_file_sqlite3_io_methods() {
    assert_eq!(::std::mem::size_of::<sqlite3_file_sqlite3_io_methods>() ,
               104usize);
    assert_eq!(::std::mem::align_of::<sqlite3_file_sqlite3_io_methods>() ,
               8usize);
}
impl Clone for sqlite3_file_sqlite3_io_methods {
    fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_sqlite3_file() {
    assert_eq!(::std::mem::size_of::<sqlite3_file>() , 8usize);
    assert_eq!(::std::mem::align_of::<sqlite3_file>() , 8usize);
}
impl Clone for sqlite3_file {
    fn clone(&self) -> Self { *self }
}
pub type sqlite3_io_methods = sqlite3_file_sqlite3_io_methods;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sqlite3_mutex([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_vfs {
    pub iVersion: ::std::os::raw::c_int,
    pub szOsFile: ::std::os::raw::c_int,
    pub mxPathname: ::std::os::raw::c_int,
    pub pNext: *mut sqlite3_vfs,
    pub zName: *const ::std::os::raw::c_char,
    pub pAppData: *mut ::std::os::raw::c_void,
    pub xOpen: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                              *mut sqlite3_vfs,
                                                          zName:
                                                              *const ::std::os::raw::c_char,
                                                          arg2:
                                                              *mut sqlite3_file,
                                                          flags:
                                                              ::std::os::raw::c_int,
                                                          pOutFlags:
                                                              *mut ::std::os::raw::c_int)
                                         -> ::std::os::raw::c_int>,
    pub xDelete: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                *mut sqlite3_vfs,
                                                            zName:
                                                                *const ::std::os::raw::c_char,
                                                            syncDir:
                                                                ::std::os::raw::c_int)
                                           -> ::std::os::raw::c_int>,
    pub xAccess: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                *mut sqlite3_vfs,
                                                            zName:
                                                                *const ::std::os::raw::c_char,
                                                            flags:
                                                                ::std::os::raw::c_int,
                                                            pResOut:
                                                                *mut ::std::os::raw::c_int)
                                           -> ::std::os::raw::c_int>,
    pub xFullPathname: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                      *mut sqlite3_vfs,
                                                                  zName:
                                                                      *const ::std::os::raw::c_char,
                                                                  nOut:
                                                                      ::std::os::raw::c_int,
                                                                  zOut:
                                                                      *mut ::std::os::raw::c_char)
                                                 -> ::std::os::raw::c_int>,
    pub xDlOpen: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                *mut sqlite3_vfs,
                                                            zFilename:
                                                                *const ::std::os::raw::c_char)
                                           -> *mut ::std::os::raw::c_void>,
    pub xDlError: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                 *mut sqlite3_vfs,
                                                             nByte:
                                                                 ::std::os::raw::c_int,
                                                             zErrMsg:
                                                                 *mut ::std::os::raw::c_char)>,
    pub xDlSym: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                               *mut sqlite3_vfs,
                                                           arg2:
                                                               *mut ::std::os::raw::c_void,
                                                           zSymbol:
                                                               *const ::std::os::raw::c_char)
                                          ->
                                              ::std::option::Option<unsafe extern "C" fn()>>,
    pub xDlClose: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                 *mut sqlite3_vfs,
                                                             arg2:
                                                                 *mut ::std::os::raw::c_void)>,
    pub xRandomness: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                    *mut sqlite3_vfs,
                                                                nByte:
                                                                    ::std::os::raw::c_int,
                                                                zOut:
                                                                    *mut ::std::os::raw::c_char)
                                               -> ::std::os::raw::c_int>,
    pub xSleep: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                               *mut sqlite3_vfs,
                                                           microseconds:
                                                               ::std::os::raw::c_int)
                                          -> ::std::os::raw::c_int>,
    pub xCurrentTime: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                     *mut sqlite3_vfs,
                                                                 arg2:
                                                                     *mut f64)
                                                -> ::std::os::raw::c_int>,
    pub xGetLastError: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                      *mut sqlite3_vfs,
                                                                  arg2:
                                                                      ::std::os::raw::c_int,
                                                                  arg3:
                                                                      *mut ::std::os::raw::c_char)
                                                 -> ::std::os::raw::c_int>,
}
#[test]
fn bindgen_test_layout_sqlite3_vfs() {
    assert_eq!(::std::mem::size_of::<sqlite3_vfs>() , 136usize);
    assert_eq!(::std::mem::align_of::<sqlite3_vfs>() , 8usize);
}
impl Clone for sqlite3_vfs {
    fn clone(&self) -> Self { *self }
}
extern "C" {
    pub fn sqlite3_initialize() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_shutdown() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_os_init() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_os_end() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_config(arg1: ::std::os::raw::c_int, ...)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_db_config(arg1: *mut sqlite3,
                             op: ::std::os::raw::c_int, ...)
     -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_mem_methods {
    pub xMalloc: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                ::std::os::raw::c_int)
                                           -> *mut ::std::os::raw::c_void>,
    pub xFree: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                              *mut ::std::os::raw::c_void)>,
    pub xRealloc: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                 *mut ::std::os::raw::c_void,
                                                             arg2:
                                                                 ::std::os::raw::c_int)
                                            -> *mut ::std::os::raw::c_void>,
    pub xSize: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                              *mut ::std::os::raw::c_void)
                                         -> ::std::os::raw::c_int>,
    pub xRoundup: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                 ::std::os::raw::c_int)
                                            -> ::std::os::raw::c_int>,
    pub xInit: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                              *mut ::std::os::raw::c_void)
                                         -> ::std::os::raw::c_int>,
    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                  *mut ::std::os::raw::c_void)>,
    pub pAppData: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout_sqlite3_mem_methods() {
    assert_eq!(::std::mem::size_of::<sqlite3_mem_methods>() , 64usize);
    assert_eq!(::std::mem::align_of::<sqlite3_mem_methods>() , 8usize);
}
impl Clone for sqlite3_mem_methods {
    fn clone(&self) -> Self { *self }
}
extern "C" {
    pub fn sqlite3_extended_result_codes(arg1: *mut sqlite3,
                                         onoff: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_last_insert_rowid(arg1: *mut sqlite3) -> sqlite3_int64;
}
extern "C" {
    pub fn sqlite3_changes(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_total_changes(arg1: *mut sqlite3) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_interrupt(arg1: *mut sqlite3);
}
extern "C" {
    pub fn sqlite3_complete(sql: *const ::std::os::raw::c_char)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_complete16(sql: *const ::std::os::raw::c_void)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_busy_handler(arg1: *mut sqlite3,
                                arg2:
                                    ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                   *mut ::std::os::raw::c_void,
                                                                               arg2:
                                                                                   ::std::os::raw::c_int)
                                                              ->
                                                                  ::std::os::raw::c_int>,
                                arg3: *mut ::std::os::raw::c_void)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_busy_timeout(arg1: *mut sqlite3, ms: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_get_table(db: *mut sqlite3,
                             zSql: *const ::std::os::raw::c_char,
                             pazResult: *mut *mut *mut ::std::os::raw::c_char,
                             pnRow: *mut ::std::os::raw::c_int,
                             pnColumn: *mut ::std::os::raw::c_int,
                             pzErrmsg: *mut *mut ::std::os::raw::c_char)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_free_table(result: *mut *mut ::std::os::raw::c_char);
}
extern "C" {
    pub fn sqlite3_mprintf(arg1: *const ::std::os::raw::c_char, ...)
     -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_vmprintf(arg1: *const ::std::os::raw::c_char,
                            arg2: *mut __va_list_tag)
     -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_snprintf(arg1: ::std::os::raw::c_int,
                            arg2: *mut ::std::os::raw::c_char,
                            arg3: *const ::std::os::raw::c_char, ...)
     -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_malloc(arg1: ::std::os::raw::c_int)
     -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_realloc(arg1: *mut ::std::os::raw::c_void,
                           arg2: ::std::os::raw::c_int)
     -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_free(arg1: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn sqlite3_memory_used() -> sqlite3_int64;
}
extern "C" {
    pub fn sqlite3_memory_highwater(resetFlag: ::std::os::raw::c_int)
     -> sqlite3_int64;
}
extern "C" {
    pub fn sqlite3_randomness(N: ::std::os::raw::c_int,
                              P: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn sqlite3_set_authorizer(arg1: *mut sqlite3,
                                  xAuth:
                                      ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                     *mut ::std::os::raw::c_void,
                                                                                 arg2:
                                                                                     ::std::os::raw::c_int,
                                                                                 arg3:
                                                                                     *const ::std::os::raw::c_char,
                                                                                 arg4:
                                                                                     *const ::std::os::raw::c_char,
                                                                                 arg5:
                                                                                     *const ::std::os::raw::c_char,
                                                                                 arg6:
                                                                                     *const ::std::os::raw::c_char)
                                                                ->
                                                                    ::std::os::raw::c_int>,
                                  pUserData: *mut ::std::os::raw::c_void)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_trace(arg1: *mut sqlite3,
                         xTrace:
                             ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                            *mut ::std::os::raw::c_void,
                                                                        arg2:
                                                                            *const ::std::os::raw::c_char)>,
                         arg2: *mut ::std::os::raw::c_void)
     -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_profile(arg1: *mut sqlite3,
                           xProfile:
                               ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                              *mut ::std::os::raw::c_void,
                                                                          arg2:
                                                                              *const ::std::os::raw::c_char,
                                                                          arg3:
                                                                              sqlite3_uint64)>,
                           arg2: *mut ::std::os::raw::c_void)
     -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_progress_handler(arg1: *mut sqlite3,
                                    arg2: ::std::os::raw::c_int,
                                    arg3:
                                        ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                       *mut ::std::os::raw::c_void)
                                                                  ->
                                                                      ::std::os::raw::c_int>,
                                    arg4: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn sqlite3_open(filename: *const ::std::os::raw::c_char,
                        ppDb: *mut *mut sqlite3) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_open16(filename: *const ::std::os::raw::c_void,
                          ppDb: *mut *mut sqlite3) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_open_v2(filename: *const ::std::os::raw::c_char,
                           ppDb: *mut *mut sqlite3,
                           flags: ::std::os::raw::c_int,
                           zVfs: *const ::std::os::raw::c_char)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_errcode(db: *mut sqlite3) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_extended_errcode(db: *mut sqlite3)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_errmsg(arg1: *mut sqlite3)
     -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_errmsg16(arg1: *mut sqlite3)
     -> *const ::std::os::raw::c_void;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sqlite3_stmt([u8; 0]);
extern "C" {
    pub fn sqlite3_limit(arg1: *mut sqlite3, id: ::std::os::raw::c_int,
                         newVal: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_prepare(db: *mut sqlite3,
                           zSql: *const ::std::os::raw::c_char,
                           nByte: ::std::os::raw::c_int,
                           ppStmt: *mut *mut sqlite3_stmt,
                           pzTail: *mut *const ::std::os::raw::c_char)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_prepare_v2(db: *mut sqlite3,
                              zSql: *const ::std::os::raw::c_char,
                              nByte: ::std::os::raw::c_int,
                              ppStmt: *mut *mut sqlite3_stmt,
                              pzTail: *mut *const ::std::os::raw::c_char)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_prepare16(db: *mut sqlite3,
                             zSql: *const ::std::os::raw::c_void,
                             nByte: ::std::os::raw::c_int,
                             ppStmt: *mut *mut sqlite3_stmt,
                             pzTail: *mut *const ::std::os::raw::c_void)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_prepare16_v2(db: *mut sqlite3,
                                zSql: *const ::std::os::raw::c_void,
                                nByte: ::std::os::raw::c_int,
                                ppStmt: *mut *mut sqlite3_stmt,
                                pzTail: *mut *const ::std::os::raw::c_void)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_sql(pStmt: *mut sqlite3_stmt)
     -> *const ::std::os::raw::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct Mem([u8; 0]);
pub type sqlite3_value = Mem;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sqlite3_context([u8; 0]);
extern "C" {
    pub fn sqlite3_bind_blob(arg1: *mut sqlite3_stmt,
                             arg2: ::std::os::raw::c_int,
                             arg3: *const ::std::os::raw::c_void,
                             n: ::std::os::raw::c_int,
                             arg4:
                                 ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                *mut ::std::os::raw::c_void)>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_bind_double(arg1: *mut sqlite3_stmt,
                               arg2: ::std::os::raw::c_int, arg3: f64)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_bind_int(arg1: *mut sqlite3_stmt,
                            arg2: ::std::os::raw::c_int,
                            arg3: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_bind_int64(arg1: *mut sqlite3_stmt,
                              arg2: ::std::os::raw::c_int,
                              arg3: sqlite3_int64) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_bind_null(arg1: *mut sqlite3_stmt,
                             arg2: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_bind_text(arg1: *mut sqlite3_stmt,
                             arg2: ::std::os::raw::c_int,
                             arg3: *const ::std::os::raw::c_char,
                             n: ::std::os::raw::c_int,
                             arg4:
                                 ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                *mut ::std::os::raw::c_void)>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_bind_text16(arg1: *mut sqlite3_stmt,
                               arg2: ::std::os::raw::c_int,
                               arg3: *const ::std::os::raw::c_void,
                               arg4: ::std::os::raw::c_int,
                               arg5:
                                   ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                  *mut ::std::os::raw::c_void)>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_bind_value(arg1: *mut sqlite3_stmt,
                              arg2: ::std::os::raw::c_int,
                              arg3: *const sqlite3_value)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_bind_zeroblob(arg1: *mut sqlite3_stmt,
                                 arg2: ::std::os::raw::c_int,
                                 n: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_bind_parameter_count(arg1: *mut sqlite3_stmt)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_bind_parameter_name(arg1: *mut sqlite3_stmt,
                                       arg2: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_bind_parameter_index(arg1: *mut sqlite3_stmt,
                                        zName: *const ::std::os::raw::c_char)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_clear_bindings(arg1: *mut sqlite3_stmt)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_column_count(pStmt: *mut sqlite3_stmt)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_column_name(arg1: *mut sqlite3_stmt,
                               N: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_column_name16(arg1: *mut sqlite3_stmt,
                                 N: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_column_database_name(arg1: *mut sqlite3_stmt,
                                        arg2: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_column_database_name16(arg1: *mut sqlite3_stmt,
                                          arg2: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_column_table_name(arg1: *mut sqlite3_stmt,
                                     arg2: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_column_table_name16(arg1: *mut sqlite3_stmt,
                                       arg2: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_column_origin_name(arg1: *mut sqlite3_stmt,
                                      arg2: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_column_origin_name16(arg1: *mut sqlite3_stmt,
                                        arg2: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_column_decltype(arg1: *mut sqlite3_stmt,
                                   arg2: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_column_decltype16(arg1: *mut sqlite3_stmt,
                                     arg2: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_step(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_data_count(pStmt: *mut sqlite3_stmt)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_column_blob(arg1: *mut sqlite3_stmt,
                               iCol: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_column_bytes(arg1: *mut sqlite3_stmt,
                                iCol: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_column_bytes16(arg1: *mut sqlite3_stmt,
                                  iCol: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_column_double(arg1: *mut sqlite3_stmt,
                                 iCol: ::std::os::raw::c_int) -> f64;
}
extern "C" {
    pub fn sqlite3_column_int(arg1: *mut sqlite3_stmt,
                              iCol: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_column_int64(arg1: *mut sqlite3_stmt,
                                iCol: ::std::os::raw::c_int) -> sqlite3_int64;
}
extern "C" {
    pub fn sqlite3_column_text(arg1: *mut sqlite3_stmt,
                               iCol: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_uchar;
}
extern "C" {
    pub fn sqlite3_column_text16(arg1: *mut sqlite3_stmt,
                                 iCol: ::std::os::raw::c_int)
     -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_column_type(arg1: *mut sqlite3_stmt,
                               iCol: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_column_value(arg1: *mut sqlite3_stmt,
                                iCol: ::std::os::raw::c_int)
     -> *mut sqlite3_value;
}
extern "C" {
    pub fn sqlite3_finalize(pStmt: *mut sqlite3_stmt)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_reset(pStmt: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_create_function(db: *mut sqlite3,
                                   zFunctionName:
                                       *const ::std::os::raw::c_char,
                                   nArg: ::std::os::raw::c_int,
                                   eTextRep: ::std::os::raw::c_int,
                                   pApp: *mut ::std::os::raw::c_void,
                                   xFunc:
                                       ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                      *mut sqlite3_context,
                                                                                  arg2:
                                                                                      ::std::os::raw::c_int,
                                                                                  arg3:
                                                                                      *mut *mut sqlite3_value)>,
                                   xStep:
                                       ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                      *mut sqlite3_context,
                                                                                  arg2:
                                                                                      ::std::os::raw::c_int,
                                                                                  arg3:
                                                                                      *mut *mut sqlite3_value)>,
                                   xFinal:
                                       ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                      *mut sqlite3_context)>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_create_function16(db: *mut sqlite3,
                                     zFunctionName:
                                         *const ::std::os::raw::c_void,
                                     nArg: ::std::os::raw::c_int,
                                     eTextRep: ::std::os::raw::c_int,
                                     pApp: *mut ::std::os::raw::c_void,
                                     xFunc:
                                         ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                        *mut sqlite3_context,
                                                                                    arg2:
                                                                                        ::std::os::raw::c_int,
                                                                                    arg3:
                                                                                        *mut *mut sqlite3_value)>,
                                     xStep:
                                         ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                        *mut sqlite3_context,
                                                                                    arg2:
                                                                                        ::std::os::raw::c_int,
                                                                                    arg3:
                                                                                        *mut *mut sqlite3_value)>,
                                     xFinal:
                                         ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                        *mut sqlite3_context)>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_aggregate_count(arg1: *mut sqlite3_context)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_expired(arg1: *mut sqlite3_stmt) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_transfer_bindings(arg1: *mut sqlite3_stmt,
                                     arg2: *mut sqlite3_stmt)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_global_recover() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_thread_cleanup();
}
extern "C" {
    pub fn sqlite3_memory_alarm(arg1:
                                    ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                   *mut ::std::os::raw::c_void,
                                                                               arg2:
                                                                                   sqlite3_int64,
                                                                               arg3:
                                                                                   ::std::os::raw::c_int)>,
                                arg2: *mut ::std::os::raw::c_void,
                                arg3: sqlite3_int64) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_value_blob(arg1: *mut sqlite3_value)
     -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_value_bytes(arg1: *mut sqlite3_value)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_value_bytes16(arg1: *mut sqlite3_value)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_value_double(arg1: *mut sqlite3_value) -> f64;
}
extern "C" {
    pub fn sqlite3_value_int(arg1: *mut sqlite3_value)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_value_int64(arg1: *mut sqlite3_value) -> sqlite3_int64;
}
extern "C" {
    pub fn sqlite3_value_text(arg1: *mut sqlite3_value)
     -> *const ::std::os::raw::c_uchar;
}
extern "C" {
    pub fn sqlite3_value_text16(arg1: *mut sqlite3_value)
     -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_value_text16le(arg1: *mut sqlite3_value)
     -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_value_text16be(arg1: *mut sqlite3_value)
     -> *const ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_value_type(arg1: *mut sqlite3_value)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_value_numeric_type(arg1: *mut sqlite3_value)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_aggregate_context(arg1: *mut sqlite3_context,
                                     nBytes: ::std::os::raw::c_int)
     -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_user_data(arg1: *mut sqlite3_context)
     -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_context_db_handle(arg1: *mut sqlite3_context)
     -> *mut sqlite3;
}
extern "C" {
    pub fn sqlite3_get_auxdata(arg1: *mut sqlite3_context,
                               N: ::std::os::raw::c_int)
     -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_set_auxdata(arg1: *mut sqlite3_context,
                               N: ::std::os::raw::c_int,
                               arg2: *mut ::std::os::raw::c_void,
                               arg3:
                                   ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                  *mut ::std::os::raw::c_void)>);
}
pub type sqlite3_destructor_type =
    ::std::option::Option<unsafe extern "C" fn(arg1:
                                                   *mut ::std::os::raw::c_void)>;
extern "C" {
    pub fn sqlite3_result_blob(arg1: *mut sqlite3_context,
                               arg2: *const ::std::os::raw::c_void,
                               arg3: ::std::os::raw::c_int,
                               arg4:
                                   ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                  *mut ::std::os::raw::c_void)>);
}
extern "C" {
    pub fn sqlite3_result_double(arg1: *mut sqlite3_context, arg2: f64);
}
extern "C" {
    pub fn sqlite3_result_error(arg1: *mut sqlite3_context,
                                arg2: *const ::std::os::raw::c_char,
                                arg3: ::std::os::raw::c_int);
}
extern "C" {
    pub fn sqlite3_result_error16(arg1: *mut sqlite3_context,
                                  arg2: *const ::std::os::raw::c_void,
                                  arg3: ::std::os::raw::c_int);
}
extern "C" {
    pub fn sqlite3_result_error_toobig(arg1: *mut sqlite3_context);
}
extern "C" {
    pub fn sqlite3_result_error_nomem(arg1: *mut sqlite3_context);
}
extern "C" {
    pub fn sqlite3_result_error_code(arg1: *mut sqlite3_context,
                                     arg2: ::std::os::raw::c_int);
}
extern "C" {
    pub fn sqlite3_result_int(arg1: *mut sqlite3_context,
                              arg2: ::std::os::raw::c_int);
}
extern "C" {
    pub fn sqlite3_result_int64(arg1: *mut sqlite3_context,
                                arg2: sqlite3_int64);
}
extern "C" {
    pub fn sqlite3_result_null(arg1: *mut sqlite3_context);
}
extern "C" {
    pub fn sqlite3_result_text(arg1: *mut sqlite3_context,
                               arg2: *const ::std::os::raw::c_char,
                               arg3: ::std::os::raw::c_int,
                               arg4:
                                   ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                  *mut ::std::os::raw::c_void)>);
}
extern "C" {
    pub fn sqlite3_result_text16(arg1: *mut sqlite3_context,
                                 arg2: *const ::std::os::raw::c_void,
                                 arg3: ::std::os::raw::c_int,
                                 arg4:
                                     ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                    *mut ::std::os::raw::c_void)>);
}
extern "C" {
    pub fn sqlite3_result_text16le(arg1: *mut sqlite3_context,
                                   arg2: *const ::std::os::raw::c_void,
                                   arg3: ::std::os::raw::c_int,
                                   arg4:
                                       ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                      *mut ::std::os::raw::c_void)>);
}
extern "C" {
    pub fn sqlite3_result_text16be(arg1: *mut sqlite3_context,
                                   arg2: *const ::std::os::raw::c_void,
                                   arg3: ::std::os::raw::c_int,
                                   arg4:
                                       ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                      *mut ::std::os::raw::c_void)>);
}
extern "C" {
    pub fn sqlite3_result_value(arg1: *mut sqlite3_context,
                                arg2: *mut sqlite3_value);
}
extern "C" {
    pub fn sqlite3_result_zeroblob(arg1: *mut sqlite3_context,
                                   n: ::std::os::raw::c_int);
}
extern "C" {
    pub fn sqlite3_create_collation(arg1: *mut sqlite3,
                                    zName: *const ::std::os::raw::c_char,
                                    eTextRep: ::std::os::raw::c_int,
                                    arg2: *mut ::std::os::raw::c_void,
                                    xCompare:
                                        ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                       *mut ::std::os::raw::c_void,
                                                                                   arg2:
                                                                                       ::std::os::raw::c_int,
                                                                                   arg3:
                                                                                       *const ::std::os::raw::c_void,
                                                                                   arg4:
                                                                                       ::std::os::raw::c_int,
                                                                                   arg5:
                                                                                       *const ::std::os::raw::c_void)
                                                                  ->
                                                                      ::std::os::raw::c_int>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_create_collation_v2(arg1: *mut sqlite3,
                                       zName: *const ::std::os::raw::c_char,
                                       eTextRep: ::std::os::raw::c_int,
                                       arg2: *mut ::std::os::raw::c_void,
                                       xCompare:
                                           ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                          *mut ::std::os::raw::c_void,
                                                                                      arg2:
                                                                                          ::std::os::raw::c_int,
                                                                                      arg3:
                                                                                          *const ::std::os::raw::c_void,
                                                                                      arg4:
                                                                                          ::std::os::raw::c_int,
                                                                                      arg5:
                                                                                          *const ::std::os::raw::c_void)
                                                                     ->
                                                                         ::std::os::raw::c_int>,
                                       xDestroy:
                                           ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                          *mut ::std::os::raw::c_void)>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_create_collation16(arg1: *mut sqlite3,
                                      zName: *const ::std::os::raw::c_void,
                                      eTextRep: ::std::os::raw::c_int,
                                      arg2: *mut ::std::os::raw::c_void,
                                      xCompare:
                                          ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                         *mut ::std::os::raw::c_void,
                                                                                     arg2:
                                                                                         ::std::os::raw::c_int,
                                                                                     arg3:
                                                                                         *const ::std::os::raw::c_void,
                                                                                     arg4:
                                                                                         ::std::os::raw::c_int,
                                                                                     arg5:
                                                                                         *const ::std::os::raw::c_void)
                                                                    ->
                                                                        ::std::os::raw::c_int>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_collation_needed(arg1: *mut sqlite3,
                                    arg2: *mut ::std::os::raw::c_void,
                                    arg3:
                                        ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                       *mut ::std::os::raw::c_void,
                                                                                   arg2:
                                                                                       *mut sqlite3,
                                                                                   eTextRep:
                                                                                       ::std::os::raw::c_int,
                                                                                   arg3:
                                                                                       *const ::std::os::raw::c_char)>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_collation_needed16(arg1: *mut sqlite3,
                                      arg2: *mut ::std::os::raw::c_void,
                                      arg3:
                                          ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                         *mut ::std::os::raw::c_void,
                                                                                     arg2:
                                                                                         *mut sqlite3,
                                                                                     eTextRep:
                                                                                         ::std::os::raw::c_int,
                                                                                     arg3:
                                                                                         *const ::std::os::raw::c_void)>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_sleep(arg1: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    #[link_name = "sqlite3_temp_directory"]
    pub static mut sqlite3_temp_directory: *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn sqlite3_get_autocommit(arg1: *mut sqlite3)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_db_handle(arg1: *mut sqlite3_stmt) -> *mut sqlite3;
}
extern "C" {
    pub fn sqlite3_next_stmt(pDb: *mut sqlite3, pStmt: *mut sqlite3_stmt)
     -> *mut sqlite3_stmt;
}
extern "C" {
    pub fn sqlite3_commit_hook(arg1: *mut sqlite3,
                               arg2:
                                   ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                  *mut ::std::os::raw::c_void)
                                                             ->
                                                                 ::std::os::raw::c_int>,
                               arg3: *mut ::std::os::raw::c_void)
     -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_rollback_hook(arg1: *mut sqlite3,
                                 arg2:
                                     ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                    *mut ::std::os::raw::c_void)>,
                                 arg3: *mut ::std::os::raw::c_void)
     -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_update_hook(arg1: *mut sqlite3,
                               arg2:
                                   ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                  *mut ::std::os::raw::c_void,
                                                                              arg2:
                                                                                  ::std::os::raw::c_int,
                                                                              arg3:
                                                                                  *const ::std::os::raw::c_char,
                                                                              arg4:
                                                                                  *const ::std::os::raw::c_char,
                                                                              arg5:
                                                                                  sqlite3_int64)>,
                               arg3: *mut ::std::os::raw::c_void)
     -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn sqlite3_enable_shared_cache(arg1: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_release_memory(arg1: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_soft_heap_limit(arg1: ::std::os::raw::c_int);
}
extern "C" {
    pub fn sqlite3_table_column_metadata(db: *mut sqlite3,
                                         zDbName:
                                             *const ::std::os::raw::c_char,
                                         zTableName:
                                             *const ::std::os::raw::c_char,
                                         zColumnName:
                                             *const ::std::os::raw::c_char,
                                         pzDataType:
                                             *mut *const ::std::os::raw::c_char,
                                         pzCollSeq:
                                             *mut *const ::std::os::raw::c_char,
                                         pNotNull: *mut ::std::os::raw::c_int,
                                         pPrimaryKey:
                                             *mut ::std::os::raw::c_int,
                                         pAutoinc: *mut ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_load_extension(db: *mut sqlite3,
                                  zFile: *const ::std::os::raw::c_char,
                                  zProc: *const ::std::os::raw::c_char,
                                  pzErrMsg: *mut *mut ::std::os::raw::c_char)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_enable_load_extension(db: *mut sqlite3,
                                         onoff: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_auto_extension(xEntryPoint:
                                      ::std::option::Option<unsafe extern "C" fn()>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_reset_auto_extension();
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_vtab {
    pub pModule: *const sqlite3_module,
    pub nRef: ::std::os::raw::c_int,
    pub zErrMsg: *mut ::std::os::raw::c_char,
}
#[test]
fn bindgen_test_layout_sqlite3_vtab() {
    assert_eq!(::std::mem::size_of::<sqlite3_vtab>() , 24usize);
    assert_eq!(::std::mem::align_of::<sqlite3_vtab>() , 8usize);
}
impl Clone for sqlite3_vtab {
    fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_index_info {
    pub nConstraint: ::std::os::raw::c_int,
    pub aConstraint: *mut sqlite3_index_info_sqlite3_index_constraint,
    pub nOrderBy: ::std::os::raw::c_int,
    pub aOrderBy: *mut sqlite3_index_info_sqlite3_index_orderby,
    pub aConstraintUsage: *mut sqlite3_index_info_sqlite3_index_constraint_usage,
    pub idxNum: ::std::os::raw::c_int,
    pub idxStr: *mut ::std::os::raw::c_char,
    pub needToFreeIdxStr: ::std::os::raw::c_int,
    pub orderByConsumed: ::std::os::raw::c_int,
    pub estimatedCost: f64,
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_index_info_sqlite3_index_constraint {
    pub iColumn: ::std::os::raw::c_int,
    pub op: ::std::os::raw::c_uchar,
    pub usable: ::std::os::raw::c_uchar,
    pub iTermOffset: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint() {
    assert_eq!(::std::mem::size_of::<sqlite3_index_info_sqlite3_index_constraint>()
               , 12usize);
    assert_eq!(::std::mem::align_of::<sqlite3_index_info_sqlite3_index_constraint>()
               , 4usize);
}
impl Clone for sqlite3_index_info_sqlite3_index_constraint {
    fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_index_info_sqlite3_index_orderby {
    pub iColumn: ::std::os::raw::c_int,
    pub desc: ::std::os::raw::c_uchar,
}
#[test]
fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_orderby() {
    assert_eq!(::std::mem::size_of::<sqlite3_index_info_sqlite3_index_orderby>()
               , 8usize);
    assert_eq!(::std::mem::align_of::<sqlite3_index_info_sqlite3_index_orderby>()
               , 4usize);
}
impl Clone for sqlite3_index_info_sqlite3_index_orderby {
    fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_index_info_sqlite3_index_constraint_usage {
    pub argvIndex: ::std::os::raw::c_int,
    pub omit: ::std::os::raw::c_uchar,
}
#[test]
fn bindgen_test_layout_sqlite3_index_info_sqlite3_index_constraint_usage() {
    assert_eq!(::std::mem::size_of::<sqlite3_index_info_sqlite3_index_constraint_usage>()
               , 8usize);
    assert_eq!(::std::mem::align_of::<sqlite3_index_info_sqlite3_index_constraint_usage>()
               , 4usize);
}
impl Clone for sqlite3_index_info_sqlite3_index_constraint_usage {
    fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_sqlite3_index_info() {
    assert_eq!(::std::mem::size_of::<sqlite3_index_info>() , 72usize);
    assert_eq!(::std::mem::align_of::<sqlite3_index_info>() , 8usize);
}
impl Clone for sqlite3_index_info {
    fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_vtab_cursor {
    pub pVtab: *mut sqlite3_vtab,
}
#[test]
fn bindgen_test_layout_sqlite3_vtab_cursor() {
    assert_eq!(::std::mem::size_of::<sqlite3_vtab_cursor>() , 8usize);
    assert_eq!(::std::mem::align_of::<sqlite3_vtab_cursor>() , 8usize);
}
impl Clone for sqlite3_vtab_cursor {
    fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_module {
    pub iVersion: ::std::os::raw::c_int,
    pub xCreate: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                *mut sqlite3,
                                                            pAux:
                                                                *mut ::std::os::raw::c_void,
                                                            argc:
                                                                ::std::os::raw::c_int,
                                                            argv:
                                                                *const *const ::std::os::raw::c_char,
                                                            ppVTab:
                                                                *mut *mut sqlite3_vtab,
                                                            arg2:
                                                                *mut *mut ::std::os::raw::c_char)
                                           -> ::std::os::raw::c_int>,
    pub xConnect: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                 *mut sqlite3,
                                                             pAux:
                                                                 *mut ::std::os::raw::c_void,
                                                             argc:
                                                                 ::std::os::raw::c_int,
                                                             argv:
                                                                 *const *const ::std::os::raw::c_char,
                                                             ppVTab:
                                                                 *mut *mut sqlite3_vtab,
                                                             arg2:
                                                                 *mut *mut ::std::os::raw::c_char)
                                            -> ::std::os::raw::c_int>,
    pub xBestIndex: ::std::option::Option<unsafe extern "C" fn(pVTab:
                                                                   *mut sqlite3_vtab,
                                                               arg1:
                                                                   *mut sqlite3_index_info)
                                              -> ::std::os::raw::c_int>,
    pub xDisconnect: ::std::option::Option<unsafe extern "C" fn(pVTab:
                                                                    *mut sqlite3_vtab)
                                               -> ::std::os::raw::c_int>,
    pub xDestroy: ::std::option::Option<unsafe extern "C" fn(pVTab:
                                                                 *mut sqlite3_vtab)
                                            -> ::std::os::raw::c_int>,
    pub xOpen: ::std::option::Option<unsafe extern "C" fn(pVTab:
                                                              *mut sqlite3_vtab,
                                                          ppCursor:
                                                              *mut *mut sqlite3_vtab_cursor)
                                         -> ::std::os::raw::c_int>,
    pub xClose: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                               *mut sqlite3_vtab_cursor)
                                          -> ::std::os::raw::c_int>,
    pub xFilter: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                *mut sqlite3_vtab_cursor,
                                                            idxNum:
                                                                ::std::os::raw::c_int,
                                                            idxStr:
                                                                *const ::std::os::raw::c_char,
                                                            argc:
                                                                ::std::os::raw::c_int,
                                                            argv:
                                                                *mut *mut sqlite3_value)
                                           -> ::std::os::raw::c_int>,
    pub xNext: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                              *mut sqlite3_vtab_cursor)
                                         -> ::std::os::raw::c_int>,
    pub xEof: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                             *mut sqlite3_vtab_cursor)
                                        -> ::std::os::raw::c_int>,
    pub xColumn: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                *mut sqlite3_vtab_cursor,
                                                            arg2:
                                                                *mut sqlite3_context,
                                                            arg3:
                                                                ::std::os::raw::c_int)
                                           -> ::std::os::raw::c_int>,
    pub xRowid: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                               *mut sqlite3_vtab_cursor,
                                                           pRowid:
                                                               *mut sqlite3_int64)
                                          -> ::std::os::raw::c_int>,
    pub xUpdate: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                *mut sqlite3_vtab,
                                                            arg2:
                                                                ::std::os::raw::c_int,
                                                            arg3:
                                                                *mut *mut sqlite3_value,
                                                            arg4:
                                                                *mut sqlite3_int64)
                                           -> ::std::os::raw::c_int>,
    pub xBegin: ::std::option::Option<unsafe extern "C" fn(pVTab:
                                                               *mut sqlite3_vtab)
                                          -> ::std::os::raw::c_int>,
    pub xSync: ::std::option::Option<unsafe extern "C" fn(pVTab:
                                                              *mut sqlite3_vtab)
                                         -> ::std::os::raw::c_int>,
    pub xCommit: ::std::option::Option<unsafe extern "C" fn(pVTab:
                                                                *mut sqlite3_vtab)
                                           -> ::std::os::raw::c_int>,
    pub xRollback: ::std::option::Option<unsafe extern "C" fn(pVTab:
                                                                  *mut sqlite3_vtab)
                                             -> ::std::os::raw::c_int>,
    pub xFindFunction: ::std::option::Option<unsafe extern "C" fn(pVtab:
                                                                      *mut sqlite3_vtab,
                                                                  nArg:
                                                                      ::std::os::raw::c_int,
                                                                  zName:
                                                                      *const ::std::os::raw::c_char,
                                                                  pxFunc:
                                                                      *mut ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                                                          *mut sqlite3_context,
                                                                                                                      arg2:
                                                                                                                          ::std::os::raw::c_int,
                                                                                                                      arg3:
                                                                                                                          *mut *mut sqlite3_value)>,
                                                                  ppArg:
                                                                      *mut *mut ::std::os::raw::c_void)
                                                 -> ::std::os::raw::c_int>,
    pub xRename: ::std::option::Option<unsafe extern "C" fn(pVtab:
                                                                *mut sqlite3_vtab,
                                                            zNew:
                                                                *const ::std::os::raw::c_char)
                                           -> ::std::os::raw::c_int>,
}
#[test]
fn bindgen_test_layout_sqlite3_module() {
    assert_eq!(::std::mem::size_of::<sqlite3_module>() , 160usize);
    assert_eq!(::std::mem::align_of::<sqlite3_module>() , 8usize);
}
impl Clone for sqlite3_module {
    fn clone(&self) -> Self { *self }
}
extern "C" {
    pub fn sqlite3_create_module(db: *mut sqlite3,
                                 zName: *const ::std::os::raw::c_char,
                                 p: *const sqlite3_module,
                                 pClientData: *mut ::std::os::raw::c_void)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_create_module_v2(db: *mut sqlite3,
                                    zName: *const ::std::os::raw::c_char,
                                    p: *const sqlite3_module,
                                    pClientData: *mut ::std::os::raw::c_void,
                                    xDestroy:
                                        ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                                       *mut ::std::os::raw::c_void)>)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_declare_vtab(arg1: *mut sqlite3,
                                zSQL: *const ::std::os::raw::c_char)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_overload_function(arg1: *mut sqlite3,
                                     zFuncName: *const ::std::os::raw::c_char,
                                     nArg: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sqlite3_blob([u8; 0]);
extern "C" {
    pub fn sqlite3_blob_open(arg1: *mut sqlite3,
                             zDb: *const ::std::os::raw::c_char,
                             zTable: *const ::std::os::raw::c_char,
                             zColumn: *const ::std::os::raw::c_char,
                             iRow: sqlite3_int64,
                             flags: ::std::os::raw::c_int,
                             ppBlob: *mut *mut sqlite3_blob)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_blob_close(arg1: *mut sqlite3_blob)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_blob_bytes(arg1: *mut sqlite3_blob)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_blob_read(arg1: *mut sqlite3_blob,
                             Z: *mut ::std::os::raw::c_void,
                             N: ::std::os::raw::c_int,
                             iOffset: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_blob_write(arg1: *mut sqlite3_blob,
                              z: *const ::std::os::raw::c_void,
                              n: ::std::os::raw::c_int,
                              iOffset: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_vfs_find(zVfsName: *const ::std::os::raw::c_char)
     -> *mut sqlite3_vfs;
}
extern "C" {
    pub fn sqlite3_vfs_register(arg1: *mut sqlite3_vfs,
                                makeDflt: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_vfs_unregister(arg1: *mut sqlite3_vfs)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_mutex_alloc(arg1: ::std::os::raw::c_int)
     -> *mut sqlite3_mutex;
}
extern "C" {
    pub fn sqlite3_mutex_free(arg1: *mut sqlite3_mutex);
}
extern "C" {
    pub fn sqlite3_mutex_enter(arg1: *mut sqlite3_mutex);
}
extern "C" {
    pub fn sqlite3_mutex_try(arg1: *mut sqlite3_mutex)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_mutex_leave(arg1: *mut sqlite3_mutex);
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_mutex_methods {
    pub xMutexInit: ::std::option::Option<unsafe extern "C" fn()
                                              -> ::std::os::raw::c_int>,
    pub xMutexEnd: ::std::option::Option<unsafe extern "C" fn()
                                             -> ::std::os::raw::c_int>,
    pub xMutexAlloc: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                    ::std::os::raw::c_int)
                                               -> *mut sqlite3_mutex>,
    pub xMutexFree: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                   *mut sqlite3_mutex)>,
    pub xMutexEnter: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                    *mut sqlite3_mutex)>,
    pub xMutexTry: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                  *mut sqlite3_mutex)
                                             -> ::std::os::raw::c_int>,
    pub xMutexLeave: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                    *mut sqlite3_mutex)>,
    pub xMutexHeld: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                   *mut sqlite3_mutex)
                                              -> ::std::os::raw::c_int>,
    pub xMutexNotheld: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                      *mut sqlite3_mutex)
                                                 -> ::std::os::raw::c_int>,
}
#[test]
fn bindgen_test_layout_sqlite3_mutex_methods() {
    assert_eq!(::std::mem::size_of::<sqlite3_mutex_methods>() , 72usize);
    assert_eq!(::std::mem::align_of::<sqlite3_mutex_methods>() , 8usize);
}
impl Clone for sqlite3_mutex_methods {
    fn clone(&self) -> Self { *self }
}
extern "C" {
    pub fn sqlite3_mutex_held(arg1: *mut sqlite3_mutex)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_mutex_notheld(arg1: *mut sqlite3_mutex)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_db_mutex(arg1: *mut sqlite3) -> *mut sqlite3_mutex;
}
extern "C" {
    pub fn sqlite3_file_control(arg1: *mut sqlite3,
                                zDbName: *const ::std::os::raw::c_char,
                                op: ::std::os::raw::c_int,
                                arg2: *mut ::std::os::raw::c_void)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_test_control(op: ::std::os::raw::c_int, ...)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_status(op: ::std::os::raw::c_int,
                          pCurrent: *mut ::std::os::raw::c_int,
                          pHighwater: *mut ::std::os::raw::c_int,
                          resetFlag: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_db_status(arg1: *mut sqlite3, op: ::std::os::raw::c_int,
                             pCur: *mut ::std::os::raw::c_int,
                             pHiwtr: *mut ::std::os::raw::c_int,
                             resetFlg: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_stmt_status(arg1: *mut sqlite3_stmt,
                               op: ::std::os::raw::c_int,
                               resetFlg: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sqlite3_pcache([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy)]
pub struct sqlite3_pcache_methods {
    pub pArg: *mut ::std::os::raw::c_void,
    pub xInit: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                              *mut ::std::os::raw::c_void)
                                         -> ::std::os::raw::c_int>,
    pub xShutdown: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                  *mut ::std::os::raw::c_void)>,
    pub xCreate: ::std::option::Option<unsafe extern "C" fn(szPage:
                                                                ::std::os::raw::c_int,
                                                            bPurgeable:
                                                                ::std::os::raw::c_int)
                                           -> *mut sqlite3_pcache>,
    pub xCachesize: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                   *mut sqlite3_pcache,
                                                               nCachesize:
                                                                   ::std::os::raw::c_int)>,
    pub xPagecount: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                   *mut sqlite3_pcache)
                                              -> ::std::os::raw::c_int>,
    pub xFetch: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                               *mut sqlite3_pcache,
                                                           key:
                                                               ::std::os::raw::c_uint,
                                                           createFlag:
                                                               ::std::os::raw::c_int)
                                          -> *mut ::std::os::raw::c_void>,
    pub xUnpin: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                               *mut sqlite3_pcache,
                                                           arg2:
                                                               *mut ::std::os::raw::c_void,
                                                           discard:
                                                               ::std::os::raw::c_int)>,
    pub xRekey: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                               *mut sqlite3_pcache,
                                                           arg2:
                                                               *mut ::std::os::raw::c_void,
                                                           oldKey:
                                                               ::std::os::raw::c_uint,
                                                           newKey:
                                                               ::std::os::raw::c_uint)>,
    pub xTruncate: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                  *mut sqlite3_pcache,
                                                              iLimit:
                                                                  ::std::os::raw::c_uint)>,
    pub xDestroy: ::std::option::Option<unsafe extern "C" fn(arg1:
                                                                 *mut sqlite3_pcache)>,
}
#[test]
fn bindgen_test_layout_sqlite3_pcache_methods() {
    assert_eq!(::std::mem::size_of::<sqlite3_pcache_methods>() , 88usize);
    assert_eq!(::std::mem::align_of::<sqlite3_pcache_methods>() , 8usize);
}
impl Clone for sqlite3_pcache_methods {
    fn clone(&self) -> Self { *self }
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sqlite3_backup([u8; 0]);
extern "C" {
    pub fn sqlite3_backup_init(pDest: *mut sqlite3,
                               zDestName: *const ::std::os::raw::c_char,
                               pSource: *mut sqlite3,
                               zSourceName: *const ::std::os::raw::c_char)
     -> *mut sqlite3_backup;
}
extern "C" {
    pub fn sqlite3_backup_step(p: *mut sqlite3_backup,
                               nPage: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_backup_finish(p: *mut sqlite3_backup)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_backup_remaining(p: *mut sqlite3_backup)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_backup_pagecount(p: *mut sqlite3_backup)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_unlock_notify(pBlocked: *mut sqlite3,
                                 xNotify:
                                     ::std::option::Option<unsafe extern "C" fn(apArg:
                                                                                    *mut *mut ::std::os::raw::c_void,
                                                                                nArg:
                                                                                    ::std::os::raw::c_int)>,
                                 pNotifyArg: *mut ::std::os::raw::c_void)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_strnicmp(arg1: *const ::std::os::raw::c_char,
                            arg2: *const ::std::os::raw::c_char,
                            arg3: ::std::os::raw::c_int)
     -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn sqlite3_log(iErrCode: ::std::os::raw::c_int,
                       zFormat: *const ::std::os::raw::c_char, ...);
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct __va_list_tag {
    pub gp_offset: ::std::os::raw::c_uint,
    pub fp_offset: ::std::os::raw::c_uint,
    pub overflow_arg_area: *mut ::std::os::raw::c_void,
    pub reg_save_area: *mut ::std::os::raw::c_void,
}
impl Clone for __va_list_tag {
    fn clone(&self) -> Self { *self }
}
pub type __builtin_va_list = [__va_list_tag; 1usize];

pub const SQLITE_DETERMINISTIC: i32 = 2048;
