#![warn(missing_docs)]
use kryoptic_lib::fns::general::{
fn_get_function_list, fn_get_interface, fn_get_interface_list,
};
use kryoptic_lib::pkcs11::*;
#[unsafe(no_mangle)]
pub extern "C" fn C_GetFunctionList(fnlist: CK_FUNCTION_LIST_PTR_PTR) -> CK_RV {
fn_get_function_list(fnlist)
}
#[unsafe(no_mangle)]
pub extern "C" fn C_GetInterface(
interface_name: CK_UTF8CHAR_PTR,
version: CK_VERSION_PTR,
interface: CK_INTERFACE_PTR_PTR,
flags: CK_FLAGS,
) -> CK_RV {
fn_get_interface(interface_name, version, interface, flags)
}
#[unsafe(no_mangle)]
pub extern "C" fn C_GetInterfaceList(
interfaces_list: CK_INTERFACE_PTR,
count: CK_ULONG_PTR,
) -> CK_RV {
fn_get_interface_list(interfaces_list, count)
}
#[cfg(feature = "fips")]
#[unsafe(no_mangle)]
pub extern "C" fn OSSL_provider_init(
handle: *const ::ossl::bindings::OSSL_CORE_HANDLE,
in_: *const ::ossl::bindings::OSSL_DISPATCH,
out: *mut *const ::ossl::bindings::OSSL_DISPATCH,
provctx: *mut *mut ::std::ffi::c_void,
) -> ::std::ffi::c_int {
unsafe {
::ossl::bindings::OSSL_provider_init_int(handle, in_, out, provctx)
}
}