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