Struct cryptoauthlib_sys::ATCAHAL_t
source · [−]#[repr(C)]pub struct ATCAHAL_t {
pub halinit: Option<unsafe extern "C" fn(hal: *mut c_void, cfg: *mut ATCAIfaceCfg) -> ATCA_STATUS>,
pub halpostinit: Option<unsafe extern "C" fn(iface: ATCAIface) -> ATCA_STATUS>,
pub halsend: Option<unsafe extern "C" fn(iface: ATCAIface, txdata: *mut u8, txlength: c_int) -> ATCA_STATUS>,
pub halreceive: Option<unsafe extern "C" fn(iface: ATCAIface, rxdata: *mut u8, rxlength: *mut u16) -> ATCA_STATUS>,
pub halwake: Option<unsafe extern "C" fn(iface: ATCAIface) -> ATCA_STATUS>,
pub halidle: Option<unsafe extern "C" fn(iface: ATCAIface) -> ATCA_STATUS>,
pub halsleep: Option<unsafe extern "C" fn(iface: ATCAIface) -> ATCA_STATUS>,
pub halrelease: Option<unsafe extern "C" fn(hal_data: *mut c_void) -> ATCA_STATUS>,
pub hal_data: *mut c_void,
}
Expand description
\brief an intermediary data structure to allow the HAL layer to point the standard API functions used by the upper layers to the HAL implementation for the interface. This isolates the upper layers and loosely couples the ATCAIface object from the physical implementation.
Fields
halinit: Option<unsafe extern "C" fn(hal: *mut c_void, cfg: *mut ATCAIfaceCfg) -> ATCA_STATUS>
halpostinit: Option<unsafe extern "C" fn(iface: ATCAIface) -> ATCA_STATUS>
halsend: Option<unsafe extern "C" fn(iface: ATCAIface, txdata: *mut u8, txlength: c_int) -> ATCA_STATUS>
halreceive: Option<unsafe extern "C" fn(iface: ATCAIface, rxdata: *mut u8, rxlength: *mut u16) -> ATCA_STATUS>
halwake: Option<unsafe extern "C" fn(iface: ATCAIface) -> ATCA_STATUS>
halidle: Option<unsafe extern "C" fn(iface: ATCAIface) -> ATCA_STATUS>
halsleep: Option<unsafe extern "C" fn(iface: ATCAIface) -> ATCA_STATUS>
halrelease: Option<unsafe extern "C" fn(hal_data: *mut c_void) -> ATCA_STATUS>
hal_data: *mut c_void
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for ATCAHAL_t
impl UnwindSafe for ATCAHAL_t
Blanket Implementations
Mutably borrows from an owned value. Read more