Struct esp_idf_svc::hal::sys::protocomm_security
source · #[repr(C)]pub struct protocomm_security {
pub ver: i32,
pub init: Option<unsafe extern "C" fn(_: *mut *mut c_void) -> i32>,
pub cleanup: Option<unsafe extern "C" fn(_: *mut c_void) -> i32>,
pub new_transport_session: Option<unsafe extern "C" fn(_: *mut c_void, _: u32) -> i32>,
pub close_transport_session: Option<unsafe extern "C" fn(_: *mut c_void, _: u32) -> i32>,
pub security_req_handler: Option<unsafe extern "C" fn(_: *mut c_void, _: *const c_void, _: u32, _: *const u8, _: isize, _: *mut *mut u8, _: *mut isize, _: *mut c_void) -> i32>,
pub encrypt: Option<unsafe extern "C" fn(_: *mut c_void, _: u32, _: *const u8, _: isize, _: *mut *mut u8, _: *mut isize) -> i32>,
pub decrypt: Option<unsafe extern "C" fn(_: *mut c_void, _: u32, _: *const u8, _: isize, _: *mut *mut u8, _: *mut isize) -> i32>,
}
Expand description
@brief Protocomm security object structure.
The member functions are used for implementing secure protocomm sessions.
@note This structure should not have any dynamic members to allow re-entrancy
Fields§
§ver: i32
Unique version number of security implementation
init: Option<unsafe extern "C" fn(_: *mut *mut c_void) -> i32>
Function for initializing/allocating security infrastructure
cleanup: Option<unsafe extern "C" fn(_: *mut c_void) -> i32>
Function for deallocating security infrastructure
new_transport_session: Option<unsafe extern "C" fn(_: *mut c_void, _: u32) -> i32>
Starts new secure transport session with specified ID
close_transport_session: Option<unsafe extern "C" fn(_: *mut c_void, _: u32) -> i32>
Closes a secure transport session with specified ID
security_req_handler: Option<unsafe extern "C" fn(_: *mut c_void, _: *const c_void, _: u32, _: *const u8, _: isize, _: *mut *mut u8, _: *mut isize, _: *mut c_void) -> i32>
Handler function for authenticating connection request and establishing secure session
encrypt: Option<unsafe extern "C" fn(_: *mut c_void, _: u32, _: *const u8, _: isize, _: *mut *mut u8, _: *mut isize) -> i32>
Function which implements the encryption algorithm
decrypt: Option<unsafe extern "C" fn(_: *mut c_void, _: u32, _: *const u8, _: isize, _: *mut *mut u8, _: *mut isize) -> i32>
Function which implements the decryption algorithm
Trait Implementations§
source§impl Clone for protocomm_security
impl Clone for protocomm_security
source§fn clone(&self) -> protocomm_security
fn clone(&self) -> protocomm_security
Returns a copy of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for protocomm_security
impl Debug for protocomm_security
source§impl Default for protocomm_security
impl Default for protocomm_security
source§fn default() -> protocomm_security
fn default() -> protocomm_security
Returns the “default value” for a type. Read more
impl Copy for protocomm_security
Auto Trait Implementations§
impl Freeze for protocomm_security
impl RefUnwindSafe for protocomm_security
impl Send for protocomm_security
impl Sync for protocomm_security
impl Unpin for protocomm_security
impl UnwindSafe for protocomm_security
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
§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
)