1use core::ffi::*;
4#[cfg(feature = "objc2")]
5use objc2::__framework_prelude::*;
6
7use crate::*;
8
9#[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
11pub type MDS_HANDLE = CSSM_DL_HANDLE;
12
13#[deprecated]
15#[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
16pub type MDS_DB_HANDLE = CSSM_DL_DB_HANDLE;
17
18#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
20#[deprecated]
21#[repr(C)]
22#[allow(unpredictable_function_pointer_comparisons)]
23#[derive(Clone, Copy, Debug, PartialEq)]
24pub struct mds_funcs {
25 pub DbOpen: Option<
26 unsafe extern "C-unwind" fn(
27 MDS_HANDLE,
28 *const c_char,
29 *const CSSM_NET_ADDRESS,
30 CSSM_DB_ACCESS_TYPE,
31 *const CSSM_ACCESS_CREDENTIALS,
32 *const c_void,
33 *mut CSSM_DB_HANDLE,
34 ) -> CSSM_RETURN,
35 >,
36 pub DbClose: Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE) -> CSSM_RETURN>,
37 pub GetDbNames:
38 Option<unsafe extern "C-unwind" fn(MDS_HANDLE, *mut CSSM_NAME_LIST_PTR) -> CSSM_RETURN>,
39 pub GetDbNameFromHandle:
40 Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE, *mut *mut c_char) -> CSSM_RETURN>,
41 pub FreeNameList:
42 Option<unsafe extern "C-unwind" fn(MDS_HANDLE, CSSM_NAME_LIST_PTR) -> CSSM_RETURN>,
43 pub DataInsert: Option<
44 unsafe extern "C-unwind" fn(
45 MDS_DB_HANDLE,
46 CSSM_DB_RECORDTYPE,
47 *const CSSM_DB_RECORD_ATTRIBUTE_DATA,
48 *const SecAsn1Item,
49 *mut CSSM_DB_UNIQUE_RECORD_PTR,
50 ) -> CSSM_RETURN,
51 >,
52 pub DataDelete: Option<
53 unsafe extern "C-unwind" fn(MDS_DB_HANDLE, *const CSSM_DB_UNIQUE_RECORD) -> CSSM_RETURN,
54 >,
55 pub DataModify: Option<
56 unsafe extern "C-unwind" fn(
57 MDS_DB_HANDLE,
58 CSSM_DB_RECORDTYPE,
59 CSSM_DB_UNIQUE_RECORD_PTR,
60 *const CSSM_DB_RECORD_ATTRIBUTE_DATA,
61 *const SecAsn1Item,
62 CSSM_DB_MODIFY_MODE,
63 ) -> CSSM_RETURN,
64 >,
65 pub DataGetFirst: Option<
66 unsafe extern "C-unwind" fn(
67 MDS_DB_HANDLE,
68 *const CSSM_QUERY,
69 CSSM_HANDLE_PTR,
70 CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,
71 CSSM_DATA_PTR,
72 *mut CSSM_DB_UNIQUE_RECORD_PTR,
73 ) -> CSSM_RETURN,
74 >,
75 pub DataGetNext: Option<
76 unsafe extern "C-unwind" fn(
77 MDS_DB_HANDLE,
78 CSSM_HANDLE,
79 CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,
80 CSSM_DATA_PTR,
81 *mut CSSM_DB_UNIQUE_RECORD_PTR,
82 ) -> CSSM_RETURN,
83 >,
84 pub DataAbortQuery:
85 Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE, CSSM_HANDLE) -> CSSM_RETURN>,
86 pub DataGetFromUniqueRecordId: Option<
87 unsafe extern "C-unwind" fn(
88 MDS_DB_HANDLE,
89 *const CSSM_DB_UNIQUE_RECORD,
90 CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,
91 CSSM_DATA_PTR,
92 ) -> CSSM_RETURN,
93 >,
94 pub FreeUniqueRecord: Option<
95 unsafe extern "C-unwind" fn(MDS_DB_HANDLE, CSSM_DB_UNIQUE_RECORD_PTR) -> CSSM_RETURN,
96 >,
97 pub CreateRelation: Option<
98 unsafe extern "C-unwind" fn(
99 MDS_DB_HANDLE,
100 CSSM_DB_RECORDTYPE,
101 *const c_char,
102 uint32,
103 *const CSSM_DB_SCHEMA_ATTRIBUTE_INFO,
104 uint32,
105 *const CSSM_DB_SCHEMA_INDEX_INFO,
106 ) -> CSSM_RETURN,
107 >,
108 pub DestroyRelation:
109 Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE, CSSM_DB_RECORDTYPE) -> CSSM_RETURN>,
110}
111
112#[cfg(all(
113 feature = "SecAsn1Types",
114 feature = "cssmconfig",
115 feature = "cssmtype",
116 feature = "objc2"
117))]
118unsafe impl Encode for mds_funcs {
119 const ENCODING: Encoding = Encoding::Struct("mds_funcs", &[
120 <Option<unsafe extern "C-unwind" fn(MDS_HANDLE,*const c_char,*const CSSM_NET_ADDRESS,CSSM_DB_ACCESS_TYPE,*const CSSM_ACCESS_CREDENTIALS,*const c_void,*mut CSSM_DB_HANDLE,) -> CSSM_RETURN>>::ENCODING,
121 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,) -> CSSM_RETURN>>::ENCODING,
122 <Option<unsafe extern "C-unwind" fn(MDS_HANDLE,*mut CSSM_NAME_LIST_PTR,) -> CSSM_RETURN>>::ENCODING,
123 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,*mut *mut c_char,) -> CSSM_RETURN>>::ENCODING,
124 <Option<unsafe extern "C-unwind" fn(MDS_HANDLE,CSSM_NAME_LIST_PTR,) -> CSSM_RETURN>>::ENCODING,
125 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_DB_RECORDTYPE,*const CSSM_DB_RECORD_ATTRIBUTE_DATA,*const SecAsn1Item,*mut CSSM_DB_UNIQUE_RECORD_PTR,) -> CSSM_RETURN>>::ENCODING,
126 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,*const CSSM_DB_UNIQUE_RECORD,) -> CSSM_RETURN>>::ENCODING,
127 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_DB_RECORDTYPE,CSSM_DB_UNIQUE_RECORD_PTR,*const CSSM_DB_RECORD_ATTRIBUTE_DATA,*const SecAsn1Item,CSSM_DB_MODIFY_MODE,) -> CSSM_RETURN>>::ENCODING,
128 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,*const CSSM_QUERY,CSSM_HANDLE_PTR,CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,CSSM_DATA_PTR,*mut CSSM_DB_UNIQUE_RECORD_PTR,) -> CSSM_RETURN>>::ENCODING,
129 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_HANDLE,CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,CSSM_DATA_PTR,*mut CSSM_DB_UNIQUE_RECORD_PTR,) -> CSSM_RETURN>>::ENCODING,
130 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_HANDLE,) -> CSSM_RETURN>>::ENCODING,
131 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,*const CSSM_DB_UNIQUE_RECORD,CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR,CSSM_DATA_PTR,) -> CSSM_RETURN>>::ENCODING,
132 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_DB_UNIQUE_RECORD_PTR,) -> CSSM_RETURN>>::ENCODING,
133 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_DB_RECORDTYPE,*const c_char,uint32,*const CSSM_DB_SCHEMA_ATTRIBUTE_INFO,uint32,*const CSSM_DB_SCHEMA_INDEX_INFO,) -> CSSM_RETURN>>::ENCODING,
134 <Option<unsafe extern "C-unwind" fn(MDS_DB_HANDLE,CSSM_DB_RECORDTYPE,) -> CSSM_RETURN>>::ENCODING,
135 ]);
136}
137
138#[cfg(all(
139 feature = "SecAsn1Types",
140 feature = "cssmconfig",
141 feature = "cssmtype",
142 feature = "objc2"
143))]
144unsafe impl RefEncode for mds_funcs {
145 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
146}
147
148#[deprecated]
150#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
151pub type MDS_FUNCS = mds_funcs;
152
153#[deprecated]
155#[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
156pub type MDS_FUNCS_PTR = *mut mds_funcs;
157
158extern "C-unwind" {
159 #[cfg(all(feature = "SecAsn1Types", feature = "cssmconfig", feature = "cssmtype"))]
166 #[deprecated]
167 pub fn MDS_Initialize(
168 p_caller_guid: *const CSSM_GUID,
169 p_memory_functions: *const CSSM_MEMORY_FUNCS,
170 p_dl_functions: MDS_FUNCS_PTR,
171 h_mds: *mut MDS_HANDLE,
172 ) -> CSSM_RETURN;
173}
174
175extern "C-unwind" {
176 #[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
177 #[deprecated]
178 pub fn MDS_Terminate(mds_handle: MDS_HANDLE) -> CSSM_RETURN;
179}
180
181extern "C-unwind" {
182 #[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
183 #[deprecated]
184 pub fn MDS_Install(mds_handle: MDS_HANDLE) -> CSSM_RETURN;
185}
186
187extern "C-unwind" {
188 #[cfg(all(feature = "cssmconfig", feature = "cssmtype"))]
189 #[deprecated]
190 pub fn MDS_Uninstall(mds_handle: MDS_HANDLE) -> CSSM_RETURN;
191}