pub trait SQLiteVfs<IO: SQLiteIoMethods> {
const VERSION: c_int;
const MAX_PATH_SIZE: c_int = 1_024i32;
// Provided methods
fn vfs(
vfs_name: *const c_char,
app_data: *mut VfsAppData<IO::AppData>,
) -> sqlite3_vfs { ... }
unsafe extern "C" fn xOpen(
pVfs: *mut sqlite3_vfs,
zName: sqlite3_filename,
pFile: *mut sqlite3_file,
flags: c_int,
pOutFlags: *mut c_int,
) -> c_int { ... }
unsafe extern "C" fn xDelete(
pVfs: *mut sqlite3_vfs,
zName: *const c_char,
syncDir: c_int,
) -> c_int { ... }
unsafe extern "C" fn xAccess(
pVfs: *mut sqlite3_vfs,
zName: *const c_char,
flags: c_int,
pResOut: *mut c_int,
) -> c_int { ... }
unsafe extern "C" fn xFullPathname(
pVfs: *mut sqlite3_vfs,
zName: *const c_char,
nOut: c_int,
zOut: *mut c_char,
) -> c_int { ... }
unsafe extern "C" fn xGetLastError(
pVfs: *mut sqlite3_vfs,
nOut: c_int,
zOut: *mut c_char,
) -> c_int { ... }
}
Expand description
Abstraction of SQLite vfs
Required Associated Constants§
Provided Associated Constants§
const MAX_PATH_SIZE: c_int = 1_024i32
Provided Methods§
fn vfs( vfs_name: *const c_char, app_data: *mut VfsAppData<IO::AppData>, ) -> sqlite3_vfs
unsafe extern "C" fn xOpen( pVfs: *mut sqlite3_vfs, zName: sqlite3_filename, pFile: *mut sqlite3_file, flags: c_int, pOutFlags: *mut c_int, ) -> c_int
unsafe extern "C" fn xDelete( pVfs: *mut sqlite3_vfs, zName: *const c_char, syncDir: c_int, ) -> c_int
unsafe extern "C" fn xAccess( pVfs: *mut sqlite3_vfs, zName: *const c_char, flags: c_int, pResOut: *mut c_int, ) -> c_int
unsafe extern "C" fn xFullPathname( pVfs: *mut sqlite3_vfs, zName: *const c_char, nOut: c_int, zOut: *mut c_char, ) -> c_int
unsafe extern "C" fn xGetLastError( pVfs: *mut sqlite3_vfs, nOut: c_int, zOut: *mut c_char, ) -> c_int
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.