Struct proj_sys::PROJ_FILE_API
source · #[repr(C)]pub struct PROJ_FILE_API {
pub version: c_int,
pub open_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, filename: *const c_char, access: PROJ_OPEN_ACCESS, user_data: *mut c_void) -> *mut PROJ_FILE_HANDLE>,
pub read_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, arg1: *mut PROJ_FILE_HANDLE, buffer: *mut c_void, sizeBytes: usize, user_data: *mut c_void) -> usize>,
pub write_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, arg1: *mut PROJ_FILE_HANDLE, buffer: *const c_void, sizeBytes: usize, user_data: *mut c_void) -> usize>,
pub seek_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, arg1: *mut PROJ_FILE_HANDLE, offset: c_longlong, whence: c_int, user_data: *mut c_void) -> c_int>,
pub tell_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, arg1: *mut PROJ_FILE_HANDLE, user_data: *mut c_void) -> c_ulonglong>,
pub close_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, arg1: *mut PROJ_FILE_HANDLE, user_data: *mut c_void)>,
pub exists_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, filename: *const c_char, user_data: *mut c_void) -> c_int>,
pub mkdir_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, filename: *const c_char, user_data: *mut c_void) -> c_int>,
pub unlink_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, filename: *const c_char, user_data: *mut c_void) -> c_int>,
pub rename_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, oldPath: *const c_char, newPath: *const c_char, user_data: *mut c_void) -> c_int>,
}
Expand description
File API callbacks
Fields§
§version: c_int
Version of this structure. Should be set to 1 currently.
open_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, filename: *const c_char, access: PROJ_OPEN_ACCESS, user_data: *mut c_void) -> *mut PROJ_FILE_HANDLE>
Open file. Return NULL if error
read_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, arg1: *mut PROJ_FILE_HANDLE, buffer: *mut c_void, sizeBytes: usize, user_data: *mut c_void) -> usize>
Read sizeBytes into buffer from current position and return number of bytes read
write_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, arg1: *mut PROJ_FILE_HANDLE, buffer: *const c_void, sizeBytes: usize, user_data: *mut c_void) -> usize>
Write sizeBytes into buffer from current position and return number of bytes written
seek_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, arg1: *mut PROJ_FILE_HANDLE, offset: c_longlong, whence: c_int, user_data: *mut c_void) -> c_int>
Seek to offset using whence=SEEK_SET/SEEK_CUR/SEEK_END. Return TRUE in case of success
tell_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, arg1: *mut PROJ_FILE_HANDLE, user_data: *mut c_void) -> c_ulonglong>
Return current file position
close_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, arg1: *mut PROJ_FILE_HANDLE, user_data: *mut c_void)>
Close file
exists_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, filename: *const c_char, user_data: *mut c_void) -> c_int>
Return TRUE if a file exists
mkdir_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, filename: *const c_char, user_data: *mut c_void) -> c_int>
Return TRUE if directory exists or could be created
unlink_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, filename: *const c_char, user_data: *mut c_void) -> c_int>
Return TRUE if file could be removed
rename_cbk: Option<unsafe extern "C" fn(ctx: *mut PJ_CONTEXT, oldPath: *const c_char, newPath: *const c_char, user_data: *mut c_void) -> c_int>
Return TRUE if file could be renamed
Trait Implementations§
source§impl Clone for PROJ_FILE_API
impl Clone for PROJ_FILE_API
source§fn clone(&self) -> PROJ_FILE_API
fn clone(&self) -> PROJ_FILE_API
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for PROJ_FILE_API
impl Debug for PROJ_FILE_API
impl Copy for PROJ_FILE_API
Auto Trait Implementations§
impl Freeze for PROJ_FILE_API
impl RefUnwindSafe for PROJ_FILE_API
impl Send for PROJ_FILE_API
impl Sync for PROJ_FILE_API
impl Unpin for PROJ_FILE_API
impl UnwindSafe for PROJ_FILE_API
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)