pub trait SQLiteIoMethods {
type File: VfsFile;
type AppData: 'static;
type Store: VfsStore<Self::File, Self::AppData>;
const VERSION: i32;
const METHODS: sqlite3_io_methods = _;
Show 13 methods
// Provided methods
unsafe extern "C" fn xClose(pFile: *mut sqlite3_file) -> i32 { ... }
unsafe extern "C" fn xCloseImpl(pFile: *mut sqlite3_file) -> i32 { ... }
unsafe extern "C" fn xRead(
pFile: *mut sqlite3_file,
zBuf: *mut c_void,
iAmt: i32,
iOfst: i64,
) -> i32 { ... }
unsafe extern "C" fn xWrite(
pFile: *mut sqlite3_file,
zBuf: *const c_void,
iAmt: i32,
iOfst: i64,
) -> i32 { ... }
unsafe extern "C" fn xTruncate(
pFile: *mut sqlite3_file,
size: i64,
) -> i32 { ... }
unsafe extern "C" fn xSync(
pFile: *mut sqlite3_file,
flags: i32,
) -> i32 { ... }
unsafe extern "C" fn xFileSize(
pFile: *mut sqlite3_file,
pSize: *mut i64,
) -> i32 { ... }
unsafe extern "C" fn xLock(
pFile: *mut sqlite3_file,
eLock: i32,
) -> i32 { ... }
unsafe extern "C" fn xUnlock(
pFile: *mut sqlite3_file,
eLock: i32,
) -> i32 { ... }
unsafe extern "C" fn xCheckReservedLock(
pFile: *mut sqlite3_file,
pResOut: *mut i32,
) -> i32 { ... }
unsafe extern "C" fn xFileControl(
pFile: *mut sqlite3_file,
op: i32,
pArg: *mut c_void,
) -> i32 { ... }
unsafe extern "C" fn xSectorSize(pFile: *mut sqlite3_file) -> i32 { ... }
unsafe extern "C" fn xDeviceCharacteristics(
pFile: *mut sqlite3_file,
) -> i32 { ... }
}Expand description
A trait that abstracts the sqlite3_io_methods struct, allowing for a more idiomatic Rust implementation.
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) -> i32
unsafe extern "C" fn xCloseImpl(pFile: *mut sqlite3_file) -> i32
unsafe extern "C" fn xRead( pFile: *mut sqlite3_file, zBuf: *mut c_void, iAmt: i32, iOfst: i64, ) -> i32
unsafe extern "C" fn xWrite( pFile: *mut sqlite3_file, zBuf: *const c_void, iAmt: i32, iOfst: i64, ) -> i32
unsafe extern "C" fn xTruncate( pFile: *mut sqlite3_file, size: i64, ) -> i32
unsafe extern "C" fn xSync( pFile: *mut sqlite3_file, flags: i32, ) -> i32
unsafe extern "C" fn xFileSize( pFile: *mut sqlite3_file, pSize: *mut i64, ) -> i32
unsafe extern "C" fn xLock( pFile: *mut sqlite3_file, eLock: i32, ) -> i32
unsafe extern "C" fn xUnlock( pFile: *mut sqlite3_file, eLock: i32, ) -> i32
unsafe extern "C" fn xCheckReservedLock( pFile: *mut sqlite3_file, pResOut: *mut i32, ) -> i32
unsafe extern "C" fn xFileControl( pFile: *mut sqlite3_file, op: i32, pArg: *mut c_void, ) -> i32
unsafe extern "C" fn xSectorSize(pFile: *mut sqlite3_file) -> i32
unsafe extern "C" fn xDeviceCharacteristics( pFile: *mut sqlite3_file, ) -> 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.