fe11_sys\x86_64-pc-windows-msvc/
metadata.rs1use super::*;
3
4pub type CK_BYTE = core::ffi::c_uchar;
8
9pub type CK_CHAR = CK_BYTE;
10
11pub type CK_UTF8CHAR = CK_BYTE;
12
13pub type CK_BBOOL = CK_BYTE;
14
15pub type CK_ULONG = core::ffi::c_ulong;
16
17pub type CK_LONG = core::ffi::c_long;
18
19pub type CK_FLAGS = CK_ULONG;
20
21pub type CK_BYTE_PTR = *mut CK_BYTE;
22
23pub type CK_CHAR_PTR = *mut CK_CHAR;
24
25pub type CK_UTF8CHAR_PTR = *mut CK_UTF8CHAR;
26
27pub type CK_ULONG_PTR = *mut CK_ULONG;
28
29pub type CK_VOID_PTR = *mut core::ffi::c_void;
30
31pub type CK_FLAGS_PTR = *mut CK_ULONG;
32
33pub type CK_VOID_PTR_PTR = *mut CK_VOID_PTR;
34
35#[repr(C)]
36pub struct CK_VERSION {
37 pub major: CK_BYTE,
38 pub minor: CK_BYTE,
39}
40
41pub type CK_VERSION_PTR = *mut CK_VERSION;
42
43#[repr(C, packed)]
44pub struct CK_INFO {
45 pub cryptokiVersion: CK_VERSION,
46 pub manufacturerID: [CK_UTF8CHAR; 32usize],
47 pub flags: CK_FLAGS,
48 pub libraryDescription: [CK_UTF8CHAR; 32usize],
49 pub libraryVersion: CK_VERSION,
50}
51
52pub type CK_INFO_PTR = *mut CK_INFO;
53
54pub type CK_NOTIFICATION = CK_ULONG;
55
56pub type CK_SLOT_ID = CK_ULONG;
57
58pub type CK_SLOT_ID_PTR = *mut CK_SLOT_ID;
59
60#[repr(C, packed)]
61pub struct CK_SLOT_INFO {
62 pub slotDescription: [CK_UTF8CHAR; 64usize],
63 pub manufacturerID: [CK_UTF8CHAR; 32usize],
64 pub flags: CK_FLAGS,
65 pub hardwareVersion: CK_VERSION,
66 pub firmwareVersion: CK_VERSION,
67}
68
69pub type CK_SLOT_INFO_PTR = *mut CK_SLOT_INFO;
70
71#[repr(C, packed)]
72pub struct CK_TOKEN_INFO {
73 pub label: [CK_UTF8CHAR; 32usize],
74 pub manufacturerID: [CK_UTF8CHAR; 32usize],
75 pub model: [CK_UTF8CHAR; 16usize],
76 pub serialNumber: [CK_CHAR; 16usize],
77 pub flags: CK_FLAGS,
78 pub ulMaxSessionCount: CK_ULONG,
79 pub ulSessionCount: CK_ULONG,
80 pub ulMaxRwSessionCount: CK_ULONG,
81 pub ulRwSessionCount: CK_ULONG,
82 pub ulMaxPinLen: CK_ULONG,
83 pub ulMinPinLen: CK_ULONG,
84 pub ulTotalPublicMemory: CK_ULONG,
85 pub ulFreePublicMemory: CK_ULONG,
86 pub ulTotalPrivateMemory: CK_ULONG,
87 pub ulFreePrivateMemory: CK_ULONG,
88 pub hardwareVersion: CK_VERSION,
89 pub firmwareVersion: CK_VERSION,
90 pub utcTime: [CK_CHAR; 16usize],
91}
92
93pub type CK_TOKEN_INFO_PTR = *mut CK_TOKEN_INFO;
94
95pub type CK_SESSION_HANDLE = CK_ULONG;
96
97pub type CK_SESSION_HANDLE_PTR = *mut CK_SESSION_HANDLE;
98
99pub type CK_USER_TYPE = CK_ULONG;
100
101pub type CK_STATE = CK_ULONG;
102
103#[repr(C, packed)]
104pub struct CK_SESSION_INFO {
105 pub slotID: CK_SLOT_ID,
106 pub state: CK_STATE,
107 pub flags: CK_FLAGS,
108 pub ulDeviceError: CK_ULONG,
109}
110
111pub type CK_SESSION_INFO_PTR = *mut CK_SESSION_INFO;
112
113pub type CK_OBJECT_HANDLE = CK_ULONG;
114
115pub type CK_OBJECT_HANDLE_PTR = *mut CK_OBJECT_HANDLE;
116
117pub type CK_OBJECT_CLASS = CK_ULONG;
118
119pub type CK_OBJECT_CLASS_PTR = *mut CK_OBJECT_CLASS;
120
121pub type CK_HW_FEATURE_TYPE = CK_ULONG;
122
123pub type CK_KEY_TYPE = CK_ULONG;
124
125pub type CK_CERTIFICATE_TYPE = CK_ULONG;
126
127pub type CK_ATTRIBUTE_TYPE = CK_ULONG;
128
129#[repr(C, packed)]
130pub struct CK_ATTRIBUTE {
131 pub r#type: CK_ATTRIBUTE_TYPE,
132 pub pValue: CK_VOID_PTR,
133 pub ulValueLen: CK_ULONG,
134}
135
136pub type CK_ATTRIBUTE_PTR = *mut CK_ATTRIBUTE;
137
138#[repr(C)]
139pub struct CK_DATE {
140 pub year: [CK_CHAR; 4usize],
141 pub month: [CK_CHAR; 2usize],
142 pub day: [CK_CHAR; 2usize],
143}
144
145pub type CK_MECHANISM_TYPE = CK_ULONG;
146
147pub type CK_MECHANISM_TYPE_PTR = *mut CK_MECHANISM_TYPE;
148
149#[repr(C, packed)]
150pub struct CK_MECHANISM {
151 pub mechanism: CK_MECHANISM_TYPE,
152 pub pParameter: CK_VOID_PTR,
153 pub ulParameterLen: CK_ULONG,
154}
155
156pub type CK_MECHANISM_PTR = *mut CK_MECHANISM;
157
158#[repr(C, packed)]
159pub struct CK_MECHANISM_INFO {
160 pub ulMinKeySize: CK_ULONG,
161 pub ulMaxKeySize: CK_ULONG,
162 pub flags: CK_FLAGS,
163}
164
165pub type CK_MECHANISM_INFO_PTR = *mut CK_MECHANISM_INFO;
166
167pub type CK_RV = CK_ULONG;
168
169pub type CK_NOTIFY = ::core::option::Option<
170 unsafe extern "C" fn(
171 hSession: CK_SESSION_HANDLE,
172 event: CK_NOTIFICATION,
173 pApplication: CK_VOID_PTR,
174 ) -> CK_RV,
175>;
176
177pub type CK_CREATEMUTEX =
178 ::core::option::Option<unsafe extern "C" fn(ppMutex: CK_VOID_PTR_PTR) -> CK_RV>;
179
180pub type CK_DESTROYMUTEX =
181 ::core::option::Option<unsafe extern "C" fn(pMutex: CK_VOID_PTR) -> CK_RV>;
182
183pub type CK_LOCKMUTEX = ::core::option::Option<unsafe extern "C" fn(pMutex: CK_VOID_PTR) -> CK_RV>;
184
185pub type CK_UNLOCKMUTEX =
186 ::core::option::Option<unsafe extern "C" fn(pMutex: CK_VOID_PTR) -> CK_RV>;
187
188pub type CK_RSA_PKCS_MGF_TYPE = CK_ULONG;
189
190pub type CK_RSA_PKCS_MGF_TYPE_PTR = *mut CK_RSA_PKCS_MGF_TYPE;
191
192pub type CK_RSA_PKCS_OAEP_SOURCE_TYPE = CK_ULONG;
193
194pub type CK_RSA_PKCS_OAEP_SOURCE_TYPE_PTR = *mut CK_RSA_PKCS_OAEP_SOURCE_TYPE;
195
196pub type CK_EC_KDF_TYPE = CK_ULONG;
197
198pub type CK_EC_KDF_TYPE_PTR = *mut CK_EC_KDF_TYPE;
199
200pub type CK_X9_42_DH_KDF_TYPE = CK_ULONG;
201
202pub type CK_X9_42_DH_KDF_TYPE_PTR = *mut CK_X9_42_DH_KDF_TYPE;
203
204#[repr(C, packed)]
205pub struct CK_SSL3_KEY_MAT_OUT {
206 pub hClientMacSecret: CK_OBJECT_HANDLE,
207 pub hServerMacSecret: CK_OBJECT_HANDLE,
208 pub hClientKey: CK_OBJECT_HANDLE,
209 pub hServerKey: CK_OBJECT_HANDLE,
210 pub pIVClient: CK_BYTE_PTR,
211 pub pIVServer: CK_BYTE_PTR,
212}
213
214pub type CK_SSL3_KEY_MAT_OUT_PTR = *mut CK_SSL3_KEY_MAT_OUT;
215
216#[repr(C, packed)]
217pub struct CK_WTLS_KEY_MAT_OUT {
218 pub hMacSecret: CK_OBJECT_HANDLE,
219 pub hKey: CK_OBJECT_HANDLE,
220 pub pIV: CK_BYTE_PTR,
221}
222
223pub type CK_WTLS_KEY_MAT_OUT_PTR = *mut CK_WTLS_KEY_MAT_OUT;
224
225pub type CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE = CK_ULONG;
226
227pub type CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE_PTR =
228 *mut CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE;
229
230pub type CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE = CK_ULONG;
231
232pub type CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE_PTR = *mut CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE;
233
234#[repr(C, packed)]
235pub struct CK_OTP_SIGNATURE_INFO {
236 pub pParams: CK_OTP_PARAM_PTR,
237 pub ulCount: CK_ULONG,
238}
239
240pub type CK_OTP_SIGNATURE_INFO_PTR = *mut CK_OTP_SIGNATURE_INFO;
241
242pub type CK_GENERATOR_FUNCTION = CK_ULONG;
243
244pub type CK_JAVA_MIDP_SECURITY_DOMAIN = CK_ULONG;
245
246pub type CK_CERTIFICATE_CATEGORY = CK_ULONG;
247
248pub type CK_PROFILE_ID = CK_ULONG;
249
250pub type CK_PROFILE_ID_PTR = *mut CK_PROFILE_ID;
251
252#[repr(C, packed)]
253pub struct CK_SP800_108_COUNTER_FORMAT {
254 pub bLittleEndian: CK_BBOOL,
255 pub ulWidthInBits: CK_ULONG,
256}
257
258pub type CK_SP800_108_COUNTER_FORMAT_PTR = *mut CK_SP800_108_COUNTER_FORMAT;
259
260pub type CK_SP800_108_DKM_LENGTH_METHOD = CK_ULONG;
261
262#[repr(C, packed)]
263pub struct CK_SP800_108_DKM_LENGTH_FORMAT {
264 pub dkmLengthMethod: CK_SP800_108_DKM_LENGTH_METHOD,
265 pub bLittleEndian: CK_BBOOL,
266 pub ulWidthInBits: CK_ULONG,
267}
268
269pub type CK_SP800_108_DKM_LENGTH_FORMAT_PTR = *mut CK_SP800_108_DKM_LENGTH_FORMAT;
270
271pub type CK_X3DH_KDF_TYPE = CK_ULONG;
272
273pub type CK_X3DH_KDF_TYPE_PTR = *mut CK_X3DH_KDF_TYPE;
274
275pub type CK_X2RATCHET_KDF_TYPE = CK_ULONG;
276
277pub type CK_X2RATCHET_KDF_TYPE_PTR = *mut CK_X2RATCHET_KDF_TYPE;
278
279pub type CK_XEDDSA_HASH_TYPE = CK_ULONG;
280
281pub type CK_XEDDSA_HASH_TYPE_PTR = *mut CK_XEDDSA_HASH_TYPE;
282
283pub type CK_HSS_LEVELS = CK_ULONG;
284
285pub type CK_LMS_TYPE = CK_ULONG;
286
287pub type CK_LMOTS_TYPE = CK_ULONG;
288
289pub type CK_SESSION_VALIDATION_FLAGS_TYPE = CK_ULONG;
290
291pub type CK_VALIDATION_TYPE = CK_ULONG;
292
293pub type CK_VALIDATION_TYPE_PTR = *mut CK_VALIDATION_TYPE;
294
295pub type CK_VALIDATION_AUTHORITY_TYPE = CK_ULONG;
296
297pub type CK_VALIDATION_AUTHORITY_TYPE_PTR = *mut CK_VALIDATION_AUTHORITY_TYPE;
298
299pub type CK_HEDGE_TYPE = CK_ULONG;
300
301#[repr(C, packed)]
302pub struct CK_SIGN_ADDITIONAL_CONTEXT {
303 pub hedgeVariant: CK_HEDGE_TYPE,
304 pub pContext: CK_BYTE_PTR,
305 pub ulContextLen: CK_ULONG,
306}
307
308#[repr(C, packed)]
309pub struct CK_HASH_SIGN_ADDITIONAL_CONTEXT {
310 pub hedgeVariant: CK_HEDGE_TYPE,
311 pub pContext: CK_BYTE_PTR,
312 pub ulContextLen: CK_ULONG,
313 pub hash: CK_MECHANISM_TYPE,
314}
315
316pub type CK_TRUST = CK_ULONG;