1use core::ffi::*;
4#[cfg(feature = "objc2")]
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9#[cfg(all(
11 feature = "SecAsn1Types",
12 feature = "cssmconfig",
13 feature = "cssmkrapi",
14 feature = "cssmtype"
15))]
16#[deprecated]
17#[repr(C)]
18#[allow(unpredictable_function_pointer_comparisons)]
19#[derive(Clone, Copy, Debug, PartialEq)]
20pub struct cssm_spi_kr_funcs {
21 pub RegistrationRequest: Option<
22 unsafe extern "C-unwind" fn(
23 CSSM_KRSP_HANDLE,
24 CSSM_CC_HANDLE,
25 *const CSSM_CONTEXT,
26 *const SecAsn1Item,
27 *const CSSM_ACCESS_CREDENTIALS,
28 CSSM_KR_POLICY_FLAGS,
29 *mut sint32,
30 CSSM_HANDLE_PTR,
31 ) -> CSSM_RETURN,
32 >,
33 pub RegistrationRetrieve: Option<
34 unsafe extern "C-unwind" fn(
35 CSSM_KRSP_HANDLE,
36 CSSM_HANDLE,
37 *mut sint32,
38 CSSM_KR_PROFILE_PTR,
39 ) -> CSSM_RETURN,
40 >,
41 pub GenerateRecoveryFields: Option<
42 unsafe extern "C-unwind" fn(
43 CSSM_KRSP_HANDLE,
44 CSSM_CC_HANDLE,
45 *const CSSM_CONTEXT,
46 CSSM_CC_HANDLE,
47 *const CSSM_CONTEXT,
48 *const SecAsn1Item,
49 CSSM_KR_POLICY_FLAGS,
50 CSSM_DATA_PTR,
51 ) -> CSSM_RETURN,
52 >,
53 pub ProcessRecoveryFields: Option<
54 unsafe extern "C-unwind" fn(
55 CSSM_KRSP_HANDLE,
56 CSSM_CC_HANDLE,
57 *const CSSM_CONTEXT,
58 CSSM_CC_HANDLE,
59 *const CSSM_CONTEXT,
60 *const SecAsn1Item,
61 CSSM_KR_POLICY_FLAGS,
62 *const SecAsn1Item,
63 ) -> CSSM_RETURN,
64 >,
65 pub RecoveryRequest: Option<
66 unsafe extern "C-unwind" fn(
67 CSSM_KRSP_HANDLE,
68 CSSM_CC_HANDLE,
69 *const CSSM_CONTEXT,
70 *const SecAsn1Item,
71 *const CSSM_ACCESS_CREDENTIALS,
72 *mut sint32,
73 CSSM_HANDLE_PTR,
74 ) -> CSSM_RETURN,
75 >,
76 pub RecoveryRetrieve: Option<
77 unsafe extern "C-unwind" fn(
78 CSSM_KRSP_HANDLE,
79 CSSM_HANDLE,
80 *mut sint32,
81 CSSM_HANDLE_PTR,
82 *mut uint32,
83 ) -> CSSM_RETURN,
84 >,
85 pub GetRecoveredObject: Option<
86 unsafe extern "C-unwind" fn(
87 CSSM_KRSP_HANDLE,
88 CSSM_HANDLE,
89 uint32,
90 CSSM_CSP_HANDLE,
91 *const CSSM_RESOURCE_CONTROL_CONTEXT,
92 uint32,
93 CSSM_KEY_PTR,
94 CSSM_DATA_PTR,
95 ) -> CSSM_RETURN,
96 >,
97 pub RecoveryRequestAbort:
98 Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE, CSSM_HANDLE) -> CSSM_RETURN>,
99 pub PassThrough: Option<
100 unsafe extern "C-unwind" fn(
101 CSSM_KRSP_HANDLE,
102 CSSM_CC_HANDLE,
103 *const CSSM_CONTEXT,
104 CSSM_CC_HANDLE,
105 *const CSSM_CONTEXT,
106 uint32,
107 *const c_void,
108 *mut *mut c_void,
109 ) -> CSSM_RETURN,
110 >,
111}
112
113#[cfg(all(
114 feature = "SecAsn1Types",
115 feature = "cssmconfig",
116 feature = "cssmkrapi",
117 feature = "cssmtype",
118 feature = "objc2"
119))]
120unsafe impl Encode for cssm_spi_kr_funcs {
121 const ENCODING: Encoding = Encoding::Struct("cssm_spi_kr_funcs", &[
122 <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,
123 <Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_HANDLE,*mut sint32,CSSM_KR_PROFILE_PTR,) -> CSSM_RETURN>>::ENCODING,
124 <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,
125 <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,
126 <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,
127 <Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_HANDLE,*mut sint32,CSSM_HANDLE_PTR,*mut uint32,) -> CSSM_RETURN>>::ENCODING,
128 <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,
129 <Option<unsafe extern "C-unwind" fn(CSSM_KRSP_HANDLE,CSSM_HANDLE,) -> CSSM_RETURN>>::ENCODING,
130 <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,
131 ]);
132}
133
134#[cfg(all(
135 feature = "SecAsn1Types",
136 feature = "cssmconfig",
137 feature = "cssmkrapi",
138 feature = "cssmtype",
139 feature = "objc2"
140))]
141unsafe impl RefEncode for cssm_spi_kr_funcs {
142 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
143}
144
145#[deprecated]
147#[cfg(all(
148 feature = "SecAsn1Types",
149 feature = "cssmconfig",
150 feature = "cssmkrapi",
151 feature = "cssmtype"
152))]
153pub type CSSM_SPI_KR_FUNCS = cssm_spi_kr_funcs;
154
155#[deprecated]
157#[cfg(all(
158 feature = "SecAsn1Types",
159 feature = "cssmconfig",
160 feature = "cssmkrapi",
161 feature = "cssmtype"
162))]
163pub type CSSM_SPI_KR_FUNCS_PTR = *mut cssm_spi_kr_funcs;