Trait SQLiteIoMethods

Source
pub trait SQLiteIoMethods {
    type File: VfsFile;
    type AppData: 'static;
    type Store: VfsStore<Self::File, Self::AppData>;

    const VERSION: c_int;
    const METHODS: sqlite3_io_methods = _;

    // Provided methods
    unsafe extern "C" fn xClose(pFile: *mut sqlite3_file) -> c_int { ... }
    unsafe extern "C" fn xRead(
        pFile: *mut sqlite3_file,
        zBuf: *mut c_void,
        iAmt: c_int,
        iOfst: sqlite3_int64,
    ) -> c_int { ... }
    unsafe extern "C" fn xWrite(
        pFile: *mut sqlite3_file,
        zBuf: *const c_void,
        iAmt: c_int,
        iOfst: sqlite3_int64,
    ) -> c_int { ... }
    unsafe extern "C" fn xTruncate(
        pFile: *mut sqlite3_file,
        size: sqlite3_int64,
    ) -> c_int { ... }
    unsafe extern "C" fn xSync(
        pFile: *mut sqlite3_file,
        flags: c_int,
    ) -> c_int { ... }
    unsafe extern "C" fn xFileSize(
        pFile: *mut sqlite3_file,
        pSize: *mut sqlite3_int64,
    ) -> c_int { ... }
    unsafe extern "C" fn xLock(
        pFile: *mut sqlite3_file,
        eLock: c_int,
    ) -> c_int { ... }
    unsafe extern "C" fn xUnlock(
        pFile: *mut sqlite3_file,
        eLock: c_int,
    ) -> c_int { ... }
    unsafe extern "C" fn xCheckReservedLock(
        pFile: *mut sqlite3_file,
        pResOut: *mut c_int,
    ) -> c_int { ... }
    unsafe extern "C" fn xFileControl(
        pFile: *mut sqlite3_file,
        op: c_int,
        pArg: *mut c_void,
    ) -> c_int { ... }
    unsafe extern "C" fn xSectorSize(
        pFile: *mut sqlite3_file,
    ) -> c_int { ... }
    unsafe extern "C" fn xDeviceCharacteristics(
        pFile: *mut sqlite3_file,
    ) -> c_int { ... }
}
Expand description

Abstraction of SQLite vfs’s io methods

Required Associated Constants§

Provided Associated Constants§

Required Associated Types§

Source

type File: VfsFile

Source

type AppData: 'static

Source

type Store: VfsStore<Self::File, Self::AppData>

Provided Methods§

Source

unsafe extern "C" fn xClose(pFile: *mut sqlite3_file) -> c_int

Source

unsafe extern "C" fn xRead( pFile: *mut sqlite3_file, zBuf: *mut c_void, iAmt: c_int, iOfst: sqlite3_int64, ) -> c_int

Source

unsafe extern "C" fn xWrite( pFile: *mut sqlite3_file, zBuf: *const c_void, iAmt: c_int, iOfst: sqlite3_int64, ) -> c_int

Source

unsafe extern "C" fn xTruncate( pFile: *mut sqlite3_file, size: sqlite3_int64, ) -> c_int

Source

unsafe extern "C" fn xSync( pFile: *mut sqlite3_file, flags: c_int, ) -> c_int

Source

unsafe extern "C" fn xFileSize( pFile: *mut sqlite3_file, pSize: *mut sqlite3_int64, ) -> c_int

Source

unsafe extern "C" fn xLock( pFile: *mut sqlite3_file, eLock: c_int, ) -> c_int

Source

unsafe extern "C" fn xUnlock( pFile: *mut sqlite3_file, eLock: c_int, ) -> c_int

Source

unsafe extern "C" fn xCheckReservedLock( pFile: *mut sqlite3_file, pResOut: *mut c_int, ) -> c_int

Source

unsafe extern "C" fn xFileControl( pFile: *mut sqlite3_file, op: c_int, pArg: *mut c_void, ) -> c_int

Source

unsafe extern "C" fn xSectorSize(pFile: *mut sqlite3_file) -> c_int

Source

unsafe extern "C" fn xDeviceCharacteristics( pFile: *mut sqlite3_file, ) -> 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§