mod bindings {
#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#![allow(non_snake_case)]
include!(concat!(env!("OUT_DIR"), "/bindings.rs"));
}
pub use bindings::*;
pub const INVALID_HANDLE: sa_handle = sa_handle::MAX;
impl TryFrom<u8> for sa_key_type {
type Error = Box<dyn std::error::Error>;
fn try_from(value: u8) -> Result<Self, Self::Error> {
match u32::from(value) {
x if x == Self::SA_KEY_TYPE_SYMMETRIC.0 => Ok(Self::SA_KEY_TYPE_SYMMETRIC),
x if x == Self::SA_KEY_TYPE_EC.0 => Ok(Self::SA_KEY_TYPE_EC),
x if x == Self::SA_KEY_TYPE_RSA.0 => Ok(Self::SA_KEY_TYPE_RSA),
x if x == Self::SA_KEY_TYPE_DH.0 => Ok(Self::SA_KEY_TYPE_DH),
_ => Err(format!("value is not recognized: {value:?}").into()),
}
}
}