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§
const METHODS: sqlite3_io_methods = _
Required Associated Types§
type File: VfsFile
type AppData: 'static
type Store: VfsStore<Self::File, Self::AppData>
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
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.