SQLiteVfs

Trait SQLiteVfs 

Source
pub trait SQLiteVfs<IO>
where IO: SQLiteIoMethods,
{ const VERSION: i32; const MAX_PATH_SIZE: i32 = 1_024i32;
Show 14 methods // Required methods fn sleep(dur: Duration); fn random(buf: &mut [u8]); fn epoch_timestamp_in_ms() -> i64; // Provided methods fn vfs( vfs_name: *const i8, app_data: *mut VfsAppData<<IO as SQLiteIoMethods>::AppData>, ) -> sqlite3_vfs { ... } unsafe extern "C" fn xOpen( pVfs: *mut sqlite3_vfs, zName: *const i8, pFile: *mut sqlite3_file, flags: i32, pOutFlags: *mut i32, ) -> i32 { ... } unsafe extern "C" fn xOpenImpl( pVfs: *mut sqlite3_vfs, zName: *const i8, pFile: *mut sqlite3_file, flags: i32, pOutFlags: *mut i32, ) -> i32 { ... } unsafe extern "C" fn xDelete( pVfs: *mut sqlite3_vfs, zName: *const i8, syncDir: i32, ) -> i32 { ... } unsafe extern "C" fn xAccess( pVfs: *mut sqlite3_vfs, zName: *const i8, flags: i32, pResOut: *mut i32, ) -> i32 { ... } unsafe extern "C" fn xFullPathname( pVfs: *mut sqlite3_vfs, zName: *const i8, nOut: i32, zOut: *mut i8, ) -> i32 { ... } unsafe extern "C" fn xGetLastError( pVfs: *mut sqlite3_vfs, nOut: i32, zOut: *mut i8, ) -> i32 { ... } unsafe extern "C" fn xRandomness( pVfs: *mut sqlite3_vfs, nByte: i32, zOut: *mut i8, ) -> i32 { ... } unsafe extern "C" fn xCurrentTime( pVfs: *mut sqlite3_vfs, pTimeOut: *mut f64, ) -> i32 { ... } unsafe extern "C" fn xCurrentTimeInt64( pVfs: *mut sqlite3_vfs, pOut: *mut i64, ) -> i32 { ... } unsafe extern "C" fn xSleep( pVfs: *mut sqlite3_vfs, microseconds: i32, ) -> i32 { ... }
}
Expand description

A trait that abstracts the sqlite3_vfs struct, allowing for a more idiomatic Rust implementation.

Required Associated Constants§

Provided Associated Constants§

Source

const MAX_PATH_SIZE: i32 = 1_024i32

Required Methods§

Provided Methods§

Source

fn vfs( vfs_name: *const i8, app_data: *mut VfsAppData<<IO as SQLiteIoMethods>::AppData>, ) -> sqlite3_vfs

Source

unsafe extern "C" fn xOpen( pVfs: *mut sqlite3_vfs, zName: *const i8, pFile: *mut sqlite3_file, flags: i32, pOutFlags: *mut i32, ) -> i32

Source

unsafe extern "C" fn xOpenImpl( pVfs: *mut sqlite3_vfs, zName: *const i8, pFile: *mut sqlite3_file, flags: i32, pOutFlags: *mut i32, ) -> i32

Source

unsafe extern "C" fn xDelete( pVfs: *mut sqlite3_vfs, zName: *const i8, syncDir: i32, ) -> i32

Source

unsafe extern "C" fn xAccess( pVfs: *mut sqlite3_vfs, zName: *const i8, flags: i32, pResOut: *mut i32, ) -> i32

Source

unsafe extern "C" fn xFullPathname( pVfs: *mut sqlite3_vfs, zName: *const i8, nOut: i32, zOut: *mut i8, ) -> i32

Source

unsafe extern "C" fn xGetLastError( pVfs: *mut sqlite3_vfs, nOut: i32, zOut: *mut i8, ) -> i32

Source

unsafe extern "C" fn xRandomness( pVfs: *mut sqlite3_vfs, nByte: i32, zOut: *mut i8, ) -> i32

Source

unsafe extern "C" fn xCurrentTime( pVfs: *mut sqlite3_vfs, pTimeOut: *mut f64, ) -> i32

Source

unsafe extern "C" fn xCurrentTimeInt64( pVfs: *mut sqlite3_vfs, pOut: *mut i64, ) -> i32

Source

unsafe extern "C" fn xSleep( pVfs: *mut sqlite3_vfs, microseconds: i32, ) -> i32

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§