Skip to main content

fe11_sys\x86_64-pc-windows-msvc/
metadata.rs

1// Generated from OASIS PKCS#11 3.2; see NOTICE.txt and provenance.json.
2use super::*;
3
4// Generated from OASIS PKCS#11 3.2; see NOTICE.txt and provenance.json.
5/* automatically generated by rust-bindgen 0.72.1 */
6
7pub 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;