Struct esp_idf_sys::protocomm_security
source · #[repr(C)]pub struct protocomm_security {
pub ver: c_int,
pub init: Option<unsafe extern "C" fn(handle: *mut protocomm_security_handle_t) -> esp_err_t>,
pub cleanup: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t) -> esp_err_t>,
pub new_transport_session: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t, session_id: u32) -> esp_err_t>,
pub close_transport_session: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t, session_id: u32) -> esp_err_t>,
pub security_req_handler: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t, sec_params: *const c_void, session_id: u32, inbuf: *const u8, inlen: isize, outbuf: *mut *mut u8, outlen: *mut isize, priv_data: *mut c_void) -> esp_err_t>,
pub encrypt: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t, session_id: u32, inbuf: *const u8, inlen: isize, outbuf: *mut *mut u8, outlen: *mut isize) -> esp_err_t>,
pub decrypt: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t, session_id: u32, inbuf: *const u8, inlen: isize, outbuf: *mut *mut u8, outlen: *mut isize) -> esp_err_t>,
}
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: c_int
Unique version number of security implementation
init: Option<unsafe extern "C" fn(handle: *mut protocomm_security_handle_t) -> esp_err_t>
Function for initializing/allocating security infrastructure
cleanup: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t) -> esp_err_t>
Function for deallocating security infrastructure
new_transport_session: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t, session_id: u32) -> esp_err_t>
Starts new secure transport session with specified ID
close_transport_session: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t, session_id: u32) -> esp_err_t>
Closes a secure transport session with specified ID
security_req_handler: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t, sec_params: *const c_void, session_id: u32, inbuf: *const u8, inlen: isize, outbuf: *mut *mut u8, outlen: *mut isize, priv_data: *mut c_void) -> esp_err_t>
Handler function for authenticating connection request and establishing secure session
encrypt: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t, session_id: u32, inbuf: *const u8, inlen: isize, outbuf: *mut *mut u8, outlen: *mut isize) -> esp_err_t>
Function which implements the encryption algorithm
decrypt: Option<unsafe extern "C" fn(handle: protocomm_security_handle_t, session_id: u32, inbuf: *const u8, inlen: isize, outbuf: *mut *mut u8, outlen: *mut isize) -> esp_err_t>
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: 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
)§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
)