use core::ffi::*;
#[cfg(feature = "objc2")]
use objc2::__framework_prelude::*;
use crate::*;
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmkrapi",
feature = "cssmtype"
))]
#[deprecated]
#[repr(C)]
#[allow(unpredictable_function_pointer_comparisons)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct cssm_spi_kr_funcs {
pub RegistrationRequest: Option<
unsafe extern "C-unwind" fn(
CSSM_KRSP_HANDLE,
CSSM_CC_HANDLE,
*const CSSM_CONTEXT,
*const SecAsn1Item,
*const CSSM_ACCESS_CREDENTIALS,
CSSM_KR_POLICY_FLAGS,
*mut sint32,
CSSM_HANDLE_PTR,
) -> CSSM_RETURN,
>,
pub RegistrationRetrieve: Option<
unsafe extern "C-unwind" fn(
CSSM_KRSP_HANDLE,
CSSM_HANDLE,
*mut sint32,
CSSM_KR_PROFILE_PTR,
) -> CSSM_RETURN,
>,
pub GenerateRecoveryFields: Option<
unsafe extern "C-unwind" fn(
CSSM_KRSP_HANDLE,
CSSM_CC_HANDLE,
*const CSSM_CONTEXT,
CSSM_CC_HANDLE,
*const CSSM_CONTEXT,
*const SecAsn1Item,
CSSM_KR_POLICY_FLAGS,
CSSM_DATA_PTR,
) -> CSSM_RETURN,
>,
pub ProcessRecoveryFields: Option<
unsafe extern "C-unwind" fn(
CSSM_KRSP_HANDLE,
CSSM_CC_HANDLE,
*const CSSM_CONTEXT,
CSSM_CC_HANDLE,
*const CSSM_CONTEXT,
*const SecAsn1Item,
CSSM_KR_POLICY_FLAGS,
*const SecAsn1Item,
) -> CSSM_RETURN,
>,
pub RecoveryRequest: Option<
unsafe extern "C-unwind" fn(
CSSM_KRSP_HANDLE,
CSSM_CC_HANDLE,
*const CSSM_CONTEXT,
*const SecAsn1Item,
*const CSSM_ACCESS_CREDENTIALS,
*mut sint32,
CSSM_HANDLE_PTR,
) -> CSSM_RETURN,
>,
pub RecoveryRetrieve: Option<
unsafe extern "C-unwind" fn(
CSSM_KRSP_HANDLE,
CSSM_HANDLE,
*mut sint32,
CSSM_HANDLE_PTR,
*mut uint32,
) -> CSSM_RETURN,
>,
pub GetRecoveredObject: Option<
unsafe extern "C-unwind" fn(
CSSM_KRSP_HANDLE,
CSSM_HANDLE,
uint32,
CSSM_CSP_HANDLE,
*const CSSM_RESOURCE_CONTROL_CONTEXT,
uint32,
CSSM_KEY_PTR,
CSSM_DATA_PTR,
) -> CSSM_RETURN,
>,
pub RecoveryRequestAbort:
Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE, CSSM_HANDLE) -> CSSM_RETURN>,
pub PassThrough: Option<
unsafe extern "C-unwind" fn(
CSSM_KRSP_HANDLE,
CSSM_CC_HANDLE,
*const CSSM_CONTEXT,
CSSM_CC_HANDLE,
*const CSSM_CONTEXT,
uint32,
*const c_void,
*mut *mut c_void,
) -> CSSM_RETURN,
>,
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmkrapi",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl Encode for cssm_spi_kr_funcs {
const ENCODING: Encoding = Encoding::Struct("cssm_spi_kr_funcs", &[
<Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_CC_HANDLE,*const CSSM_CONTEXT,*const SecAsn1Item,*const CSSM_ACCESS_CREDENTIALS,CSSM_KR_POLICY_FLAGS,*mut sint32,CSSM_HANDLE_PTR,) -> CSSM_RETURN>>::ENCODING,
<Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_HANDLE,*mut sint32,CSSM_KR_PROFILE_PTR,) -> CSSM_RETURN>>::ENCODING,
<Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_CC_HANDLE,*const CSSM_CONTEXT,CSSM_CC_HANDLE,*const CSSM_CONTEXT,*const SecAsn1Item,CSSM_KR_POLICY_FLAGS,CSSM_DATA_PTR,) -> CSSM_RETURN>>::ENCODING,
<Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_CC_HANDLE,*const CSSM_CONTEXT,CSSM_CC_HANDLE,*const CSSM_CONTEXT,*const SecAsn1Item,CSSM_KR_POLICY_FLAGS,*const SecAsn1Item,) -> CSSM_RETURN>>::ENCODING,
<Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_CC_HANDLE,*const CSSM_CONTEXT,*const SecAsn1Item,*const CSSM_ACCESS_CREDENTIALS,*mut sint32,CSSM_HANDLE_PTR,) -> CSSM_RETURN>>::ENCODING,
<Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_HANDLE,*mut sint32,CSSM_HANDLE_PTR,*mut uint32,) -> CSSM_RETURN>>::ENCODING,
<Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_HANDLE,uint32,CSSM_CSP_HANDLE,*const CSSM_RESOURCE_CONTROL_CONTEXT,uint32,CSSM_KEY_PTR,CSSM_DATA_PTR,) -> CSSM_RETURN>>::ENCODING,
<Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_HANDLE,) -> CSSM_RETURN>>::ENCODING,
<Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_CC_HANDLE,*const CSSM_CONTEXT,CSSM_CC_HANDLE,*const CSSM_CONTEXT,uint32,*const c_void,*mut *mut c_void,) -> CSSM_RETURN>>::ENCODING,
]);
}
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmkrapi",
feature = "cssmtype",
feature = "objc2"
))]
unsafe impl RefEncode for cssm_spi_kr_funcs {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[deprecated]
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmkrapi",
feature = "cssmtype"
))]
pub type CSSM_SPI_KR_FUNCS = cssm_spi_kr_funcs;
#[deprecated]
#[cfg(all(
feature = "SecAsn1Types",
feature = "cssmconfig",
feature = "cssmkrapi",
feature = "cssmtype"
))]
pub type CSSM_SPI_KR_FUNCS_PTR = *mut cssm_spi_kr_funcs;