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