#[repr(C)]
pub struct esp_vfs_t {
Show 41 fields pub flags: c_int, pub __bindgen_anon_1: esp_vfs_t__bindgen_ty_1, pub __bindgen_anon_2: esp_vfs_t__bindgen_ty_2, pub __bindgen_anon_3: esp_vfs_t__bindgen_ty_3, pub __bindgen_anon_4: esp_vfs_t__bindgen_ty_4, pub __bindgen_anon_5: esp_vfs_t__bindgen_ty_5, pub __bindgen_anon_6: esp_vfs_t__bindgen_ty_6, pub __bindgen_anon_7: esp_vfs_t__bindgen_ty_7, pub __bindgen_anon_8: esp_vfs_t__bindgen_ty_8, pub __bindgen_anon_9: esp_vfs_t__bindgen_ty_9, pub __bindgen_anon_10: esp_vfs_t__bindgen_ty_10, pub __bindgen_anon_11: esp_vfs_t__bindgen_ty_11, pub __bindgen_anon_12: esp_vfs_t__bindgen_ty_12, pub __bindgen_anon_13: esp_vfs_t__bindgen_ty_13, pub __bindgen_anon_14: esp_vfs_t__bindgen_ty_14, pub __bindgen_anon_15: esp_vfs_t__bindgen_ty_15, pub __bindgen_anon_16: esp_vfs_t__bindgen_ty_16, pub __bindgen_anon_17: esp_vfs_t__bindgen_ty_17, pub __bindgen_anon_18: esp_vfs_t__bindgen_ty_18, pub __bindgen_anon_19: esp_vfs_t__bindgen_ty_19, pub __bindgen_anon_20: esp_vfs_t__bindgen_ty_20, pub __bindgen_anon_21: esp_vfs_t__bindgen_ty_21, pub __bindgen_anon_22: esp_vfs_t__bindgen_ty_22, pub __bindgen_anon_23: esp_vfs_t__bindgen_ty_23, pub __bindgen_anon_24: esp_vfs_t__bindgen_ty_24, pub __bindgen_anon_25: esp_vfs_t__bindgen_ty_25, pub __bindgen_anon_26: esp_vfs_t__bindgen_ty_26, pub __bindgen_anon_27: esp_vfs_t__bindgen_ty_27, pub __bindgen_anon_28: esp_vfs_t__bindgen_ty_28, pub __bindgen_anon_29: esp_vfs_t__bindgen_ty_29, pub __bindgen_anon_30: esp_vfs_t__bindgen_ty_30, pub __bindgen_anon_31: esp_vfs_t__bindgen_ty_31, pub __bindgen_anon_32: esp_vfs_t__bindgen_ty_32, pub __bindgen_anon_33: esp_vfs_t__bindgen_ty_33, pub __bindgen_anon_34: esp_vfs_t__bindgen_ty_34, pub start_select: Option<unsafe extern "C" fn(nfds: c_int, readfds: *mut _types_fd_set, writefds: *mut _types_fd_set, exceptfds: *mut _types_fd_set, sem: esp_vfs_select_sem_t, end_select_args: *mut *mut c_void) -> esp_err_t>, pub socket_select: Option<unsafe extern "C" fn(nfds: c_int, readfds: *mut _types_fd_set, writefds: *mut _types_fd_set, errorfds: *mut _types_fd_set, timeout: *mut timeval) -> c_int>, pub stop_socket_select: Option<unsafe extern "C" fn(sem: *mut c_void)>, pub stop_socket_select_isr: Option<unsafe extern "C" fn(sem: *mut c_void, woken: *mut BaseType_t)>, pub get_socket_select_semaphore: Option<unsafe extern "C" fn() -> *mut c_void>, pub end_select: Option<unsafe extern "C" fn(end_select_args: *mut c_void) -> esp_err_t>,
}
Expand description

@brief VFS definition structure

This structure should be filled with pointers to corresponding FS driver functions.

VFS component will translate all FDs so that the filesystem implementation sees them starting at zero. The caller sees a global FD which is prefixed with an pre-filesystem-implementation.

Some FS implementations expect some state (e.g. pointer to some structure) to be passed in as a first argument. For these implementations, populate the members of this structure which have _p suffix, set flags member to ESP_VFS_FLAG_CONTEXT_PTR and provide the context pointer to esp_vfs_register function. If the implementation doesn’t use this extra argument, populate the members without _p suffix and set flags member to ESP_VFS_FLAG_DEFAULT.

If the FS driver doesn’t provide some of the functions, set corresponding members to NULL.

Fields

flags: c_int

< ESP_VFS_FLAG_CONTEXT_PTR or ESP_VFS_FLAG_DEFAULT

__bindgen_anon_1: esp_vfs_t__bindgen_ty_1__bindgen_anon_2: esp_vfs_t__bindgen_ty_2__bindgen_anon_3: esp_vfs_t__bindgen_ty_3__bindgen_anon_4: esp_vfs_t__bindgen_ty_4__bindgen_anon_5: esp_vfs_t__bindgen_ty_5__bindgen_anon_6: esp_vfs_t__bindgen_ty_6__bindgen_anon_7: esp_vfs_t__bindgen_ty_7__bindgen_anon_8: esp_vfs_t__bindgen_ty_8__bindgen_anon_9: esp_vfs_t__bindgen_ty_9__bindgen_anon_10: esp_vfs_t__bindgen_ty_10__bindgen_anon_11: esp_vfs_t__bindgen_ty_11__bindgen_anon_12: esp_vfs_t__bindgen_ty_12__bindgen_anon_13: esp_vfs_t__bindgen_ty_13__bindgen_anon_14: esp_vfs_t__bindgen_ty_14__bindgen_anon_15: esp_vfs_t__bindgen_ty_15__bindgen_anon_16: esp_vfs_t__bindgen_ty_16__bindgen_anon_17: esp_vfs_t__bindgen_ty_17__bindgen_anon_18: esp_vfs_t__bindgen_ty_18__bindgen_anon_19: esp_vfs_t__bindgen_ty_19__bindgen_anon_20: esp_vfs_t__bindgen_ty_20__bindgen_anon_21: esp_vfs_t__bindgen_ty_21__bindgen_anon_22: esp_vfs_t__bindgen_ty_22__bindgen_anon_23: esp_vfs_t__bindgen_ty_23__bindgen_anon_24: esp_vfs_t__bindgen_ty_24__bindgen_anon_25: esp_vfs_t__bindgen_ty_25__bindgen_anon_26: esp_vfs_t__bindgen_ty_26__bindgen_anon_27: esp_vfs_t__bindgen_ty_27__bindgen_anon_28: esp_vfs_t__bindgen_ty_28__bindgen_anon_29: esp_vfs_t__bindgen_ty_29__bindgen_anon_30: esp_vfs_t__bindgen_ty_30__bindgen_anon_31: esp_vfs_t__bindgen_ty_31__bindgen_anon_32: esp_vfs_t__bindgen_ty_32__bindgen_anon_33: esp_vfs_t__bindgen_ty_33__bindgen_anon_34: esp_vfs_t__bindgen_ty_34start_select: Option<unsafe extern "C" fn(nfds: c_int, readfds: *mut _types_fd_set, writefds: *mut _types_fd_set, exceptfds: *mut _types_fd_set, sem: esp_vfs_select_sem_t, end_select_args: *mut *mut c_void) -> esp_err_t>

start_select is called for setting up synchronous I/O multiplexing of the desired file descriptors in the given VFS

socket_select: Option<unsafe extern "C" fn(nfds: c_int, readfds: *mut _types_fd_set, writefds: *mut _types_fd_set, errorfds: *mut _types_fd_set, timeout: *mut timeval) -> c_int>

socket select function for socket FDs with the functionality of POSIX select(); this should be set only for the socket VFS

stop_socket_select: Option<unsafe extern "C" fn(sem: *mut c_void)>

called by VFS to interrupt the socket_select call when select is activated from a non-socket VFS driver; set only for the socket driver

stop_socket_select_isr: Option<unsafe extern "C" fn(sem: *mut c_void, woken: *mut BaseType_t)>

stop_socket_select which can be called from ISR; set only for the socket driver

get_socket_select_semaphore: Option<unsafe extern "C" fn() -> *mut c_void>

end_select is called to stop the I/O multiplexing and deinitialize the environment created by start_select for the given VFS

end_select: Option<unsafe extern "C" fn(end_select_args: *mut c_void) -> esp_err_t>

get_socket_select_semaphore returns semaphore allocated in the socket driver; set only for the socket driver

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.