Skip to main content

protocomm_security_t

Type Alias protocomm_security_t 

Source
pub type protocomm_security_t = protocomm_security;
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

Aliased Type§

#[repr(C)]
pub struct protocomm_security_t { pub ver: i32, pub patch_ver: u8, 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>, }

Fields§

§ver: i32

Unique version number of security implementation

§patch_ver: u8

Patch 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