Trait SQLiteVfs

Source
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§

Source

const MAX_PATH_SIZE: c_int = 1_024i32

Provided Methods§

Source

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

Source

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

Source

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

Source

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

Source

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

Source

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.

Implementors§