1use super::*;
3
4#[repr(C, packed)]
5pub struct CK_RSA_PKCS_OAEP_PARAMS {
6 pub hashAlg: CK_MECHANISM_TYPE,
7 pub mgf: CK_RSA_PKCS_MGF_TYPE,
8 pub source: CK_RSA_PKCS_OAEP_SOURCE_TYPE,
9 pub pSourceData: CK_VOID_PTR,
10 pub ulSourceDataLen: CK_ULONG,
11}
12
13pub type CK_RSA_PKCS_OAEP_PARAMS_PTR = *mut CK_RSA_PKCS_OAEP_PARAMS;
14
15#[repr(C, packed)]
16pub struct CK_RSA_PKCS_PSS_PARAMS {
17 pub hashAlg: CK_MECHANISM_TYPE,
18 pub mgf: CK_RSA_PKCS_MGF_TYPE,
19 pub sLen: CK_ULONG,
20}
21
22pub type CK_RSA_PKCS_PSS_PARAMS_PTR = *mut CK_RSA_PKCS_PSS_PARAMS;
23
24#[repr(C, packed)]
25pub struct CK_ECDH1_DERIVE_PARAMS {
26 pub kdf: CK_EC_KDF_TYPE,
27 pub ulSharedDataLen: CK_ULONG,
28 pub pSharedData: CK_BYTE_PTR,
29 pub ulPublicDataLen: CK_ULONG,
30 pub pPublicData: CK_BYTE_PTR,
31}
32
33pub type CK_ECDH1_DERIVE_PARAMS_PTR = *mut CK_ECDH1_DERIVE_PARAMS;
34
35#[repr(C, packed)]
36pub struct CK_ECDH2_DERIVE_PARAMS {
37 pub kdf: CK_EC_KDF_TYPE,
38 pub ulSharedDataLen: CK_ULONG,
39 pub pSharedData: CK_BYTE_PTR,
40 pub ulPublicDataLen: CK_ULONG,
41 pub pPublicData: CK_BYTE_PTR,
42 pub ulPrivateDataLen: CK_ULONG,
43 pub hPrivateData: CK_OBJECT_HANDLE,
44 pub ulPublicDataLen2: CK_ULONG,
45 pub pPublicData2: CK_BYTE_PTR,
46}
47
48pub type CK_ECDH2_DERIVE_PARAMS_PTR = *mut CK_ECDH2_DERIVE_PARAMS;
49
50#[repr(C, packed)]
51pub struct CK_ECMQV_DERIVE_PARAMS {
52 pub kdf: CK_EC_KDF_TYPE,
53 pub ulSharedDataLen: CK_ULONG,
54 pub pSharedData: CK_BYTE_PTR,
55 pub ulPublicDataLen: CK_ULONG,
56 pub pPublicData: CK_BYTE_PTR,
57 pub ulPrivateDataLen: CK_ULONG,
58 pub hPrivateData: CK_OBJECT_HANDLE,
59 pub ulPublicDataLen2: CK_ULONG,
60 pub pPublicData2: CK_BYTE_PTR,
61 pub publicKey: CK_OBJECT_HANDLE,
62}
63
64pub type CK_ECMQV_DERIVE_PARAMS_PTR = *mut CK_ECMQV_DERIVE_PARAMS;
65
66#[repr(C, packed)]
67pub struct CK_X9_42_DH1_DERIVE_PARAMS {
68 pub kdf: CK_X9_42_DH_KDF_TYPE,
69 pub ulOtherInfoLen: CK_ULONG,
70 pub pOtherInfo: CK_BYTE_PTR,
71 pub ulPublicDataLen: CK_ULONG,
72 pub pPublicData: CK_BYTE_PTR,
73}
74
75pub type CK_X9_42_DH1_DERIVE_PARAMS_PTR = *mut CK_X9_42_DH1_DERIVE_PARAMS;
76
77#[repr(C, packed)]
78pub struct CK_X9_42_DH2_DERIVE_PARAMS {
79 pub kdf: CK_X9_42_DH_KDF_TYPE,
80 pub ulOtherInfoLen: CK_ULONG,
81 pub pOtherInfo: CK_BYTE_PTR,
82 pub ulPublicDataLen: CK_ULONG,
83 pub pPublicData: CK_BYTE_PTR,
84 pub ulPrivateDataLen: CK_ULONG,
85 pub hPrivateData: CK_OBJECT_HANDLE,
86 pub ulPublicDataLen2: CK_ULONG,
87 pub pPublicData2: CK_BYTE_PTR,
88}
89
90pub type CK_X9_42_DH2_DERIVE_PARAMS_PTR = *mut CK_X9_42_DH2_DERIVE_PARAMS;
91
92#[repr(C, packed)]
93pub struct CK_X9_42_MQV_DERIVE_PARAMS {
94 pub kdf: CK_X9_42_DH_KDF_TYPE,
95 pub ulOtherInfoLen: CK_ULONG,
96 pub pOtherInfo: CK_BYTE_PTR,
97 pub ulPublicDataLen: CK_ULONG,
98 pub pPublicData: CK_BYTE_PTR,
99 pub ulPrivateDataLen: CK_ULONG,
100 pub hPrivateData: CK_OBJECT_HANDLE,
101 pub ulPublicDataLen2: CK_ULONG,
102 pub pPublicData2: CK_BYTE_PTR,
103 pub publicKey: CK_OBJECT_HANDLE,
104}
105
106pub type CK_X9_42_MQV_DERIVE_PARAMS_PTR = *mut CK_X9_42_MQV_DERIVE_PARAMS;
107
108#[repr(C, packed)]
109pub struct CK_KEA_DERIVE_PARAMS {
110 pub isSender: CK_BBOOL,
111 pub ulRandomLen: CK_ULONG,
112 pub pRandomA: CK_BYTE_PTR,
113 pub pRandomB: CK_BYTE_PTR,
114 pub ulPublicDataLen: CK_ULONG,
115 pub pPublicData: CK_BYTE_PTR,
116}
117
118pub type CK_KEA_DERIVE_PARAMS_PTR = *mut CK_KEA_DERIVE_PARAMS;
119
120pub type CK_RC2_PARAMS = CK_ULONG;
121
122pub type CK_RC2_PARAMS_PTR = *mut CK_RC2_PARAMS;
123
124#[repr(C, packed)]
125pub struct CK_RC2_CBC_PARAMS {
126 pub ulEffectiveBits: CK_ULONG,
127 pub iv: [CK_BYTE; 8usize],
128}
129
130pub type CK_RC2_CBC_PARAMS_PTR = *mut CK_RC2_CBC_PARAMS;
131
132#[repr(C, packed)]
133pub struct CK_RC2_MAC_GENERAL_PARAMS {
134 pub ulEffectiveBits: CK_ULONG,
135 pub ulMacLength: CK_ULONG,
136}
137
138pub type CK_RC2_MAC_GENERAL_PARAMS_PTR = *mut CK_RC2_MAC_GENERAL_PARAMS;
139
140#[repr(C, packed)]
141pub struct CK_RC5_PARAMS {
142 pub ulWordsize: CK_ULONG,
143 pub ulRounds: CK_ULONG,
144}
145
146pub type CK_RC5_PARAMS_PTR = *mut CK_RC5_PARAMS;
147
148#[repr(C, packed)]
149pub struct CK_RC5_CBC_PARAMS {
150 pub ulWordsize: CK_ULONG,
151 pub ulRounds: CK_ULONG,
152 pub pIv: CK_BYTE_PTR,
153 pub ulIvLen: CK_ULONG,
154}
155
156pub type CK_RC5_CBC_PARAMS_PTR = *mut CK_RC5_CBC_PARAMS;
157
158#[repr(C, packed)]
159pub struct CK_RC5_MAC_GENERAL_PARAMS {
160 pub ulWordsize: CK_ULONG,
161 pub ulRounds: CK_ULONG,
162 pub ulMacLength: CK_ULONG,
163}
164
165pub type CK_RC5_MAC_GENERAL_PARAMS_PTR = *mut CK_RC5_MAC_GENERAL_PARAMS;
166
167pub type CK_MAC_GENERAL_PARAMS = CK_ULONG;
168
169pub type CK_MAC_GENERAL_PARAMS_PTR = *mut CK_MAC_GENERAL_PARAMS;
170
171#[repr(C, packed)]
172pub struct CK_DES_CBC_ENCRYPT_DATA_PARAMS {
173 pub iv: [CK_BYTE; 8usize],
174 pub pData: CK_BYTE_PTR,
175 pub length: CK_ULONG,
176}
177
178pub type CK_DES_CBC_ENCRYPT_DATA_PARAMS_PTR = *mut CK_DES_CBC_ENCRYPT_DATA_PARAMS;
179
180#[repr(C, packed)]
181pub struct CK_AES_CBC_ENCRYPT_DATA_PARAMS {
182 pub iv: [CK_BYTE; 16usize],
183 pub pData: CK_BYTE_PTR,
184 pub length: CK_ULONG,
185}
186
187pub type CK_AES_CBC_ENCRYPT_DATA_PARAMS_PTR = *mut CK_AES_CBC_ENCRYPT_DATA_PARAMS;
188
189#[repr(C, packed)]
190pub struct CK_SKIPJACK_PRIVATE_WRAP_PARAMS {
191 pub ulPasswordLen: CK_ULONG,
192 pub pPassword: CK_BYTE_PTR,
193 pub ulPublicDataLen: CK_ULONG,
194 pub pPublicData: CK_BYTE_PTR,
195 pub ulPAndGLen: CK_ULONG,
196 pub ulQLen: CK_ULONG,
197 pub ulRandomLen: CK_ULONG,
198 pub pRandomA: CK_BYTE_PTR,
199 pub pPrimeP: CK_BYTE_PTR,
200 pub pBaseG: CK_BYTE_PTR,
201 pub pSubprimeQ: CK_BYTE_PTR,
202}
203
204pub type CK_SKIPJACK_PRIVATE_WRAP_PARAMS_PTR = *mut CK_SKIPJACK_PRIVATE_WRAP_PARAMS;
205
206#[repr(C, packed)]
207pub struct CK_SKIPJACK_RELAYX_PARAMS {
208 pub ulOldWrappedXLen: CK_ULONG,
209 pub pOldWrappedX: CK_BYTE_PTR,
210 pub ulOldPasswordLen: CK_ULONG,
211 pub pOldPassword: CK_BYTE_PTR,
212 pub ulOldPublicDataLen: CK_ULONG,
213 pub pOldPublicData: CK_BYTE_PTR,
214 pub ulOldRandomLen: CK_ULONG,
215 pub pOldRandomA: CK_BYTE_PTR,
216 pub ulNewPasswordLen: CK_ULONG,
217 pub pNewPassword: CK_BYTE_PTR,
218 pub ulNewPublicDataLen: CK_ULONG,
219 pub pNewPublicData: CK_BYTE_PTR,
220 pub ulNewRandomLen: CK_ULONG,
221 pub pNewRandomA: CK_BYTE_PTR,
222}
223
224pub type CK_SKIPJACK_RELAYX_PARAMS_PTR = *mut CK_SKIPJACK_RELAYX_PARAMS;
225
226#[repr(C, packed)]
227pub struct CK_PBE_PARAMS {
228 pub pInitVector: CK_BYTE_PTR,
229 pub pPassword: CK_UTF8CHAR_PTR,
230 pub ulPasswordLen: CK_ULONG,
231 pub pSalt: CK_BYTE_PTR,
232 pub ulSaltLen: CK_ULONG,
233 pub ulIteration: CK_ULONG,
234}
235
236pub type CK_PBE_PARAMS_PTR = *mut CK_PBE_PARAMS;
237
238#[repr(C, packed)]
239pub struct CK_KEY_WRAP_SET_OAEP_PARAMS {
240 pub bBC: CK_BYTE,
241 pub pX: CK_BYTE_PTR,
242 pub ulXLen: CK_ULONG,
243}
244
245pub type CK_KEY_WRAP_SET_OAEP_PARAMS_PTR = *mut CK_KEY_WRAP_SET_OAEP_PARAMS;
246
247#[repr(C, packed)]
248pub struct CK_SSL3_RANDOM_DATA {
249 pub pClientRandom: CK_BYTE_PTR,
250 pub ulClientRandomLen: CK_ULONG,
251 pub pServerRandom: CK_BYTE_PTR,
252 pub ulServerRandomLen: CK_ULONG,
253}
254
255#[repr(C, packed)]
256pub struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS {
257 pub RandomInfo: CK_SSL3_RANDOM_DATA,
258 pub pVersion: CK_VERSION_PTR,
259}
260
261pub type CK_SSL3_MASTER_KEY_DERIVE_PARAMS_PTR = *mut CK_SSL3_MASTER_KEY_DERIVE_PARAMS;
262
263#[repr(C, packed)]
264pub struct CK_SSL3_KEY_MAT_PARAMS {
265 pub ulMacSizeInBits: CK_ULONG,
266 pub ulKeySizeInBits: CK_ULONG,
267 pub ulIVSizeInBits: CK_ULONG,
268 pub bIsExport: CK_BBOOL,
269 pub RandomInfo: CK_SSL3_RANDOM_DATA,
270 pub pReturnedKeyMaterial: CK_SSL3_KEY_MAT_OUT_PTR,
271}
272
273pub type CK_SSL3_KEY_MAT_PARAMS_PTR = *mut CK_SSL3_KEY_MAT_PARAMS;
274
275#[repr(C, packed)]
276pub struct CK_TLS_PRF_PARAMS {
277 pub pSeed: CK_BYTE_PTR,
278 pub ulSeedLen: CK_ULONG,
279 pub pLabel: CK_BYTE_PTR,
280 pub ulLabelLen: CK_ULONG,
281 pub pOutput: CK_BYTE_PTR,
282 pub pulOutputLen: CK_ULONG_PTR,
283}
284
285pub type CK_TLS_PRF_PARAMS_PTR = *mut CK_TLS_PRF_PARAMS;
286
287#[repr(C, packed)]
288pub struct CK_WTLS_RANDOM_DATA {
289 pub pClientRandom: CK_BYTE_PTR,
290 pub ulClientRandomLen: CK_ULONG,
291 pub pServerRandom: CK_BYTE_PTR,
292 pub ulServerRandomLen: CK_ULONG,
293}
294
295pub type CK_WTLS_RANDOM_DATA_PTR = *mut CK_WTLS_RANDOM_DATA;
296
297#[repr(C, packed)]
298pub struct CK_WTLS_MASTER_KEY_DERIVE_PARAMS {
299 pub DigestMechanism: CK_MECHANISM_TYPE,
300 pub RandomInfo: CK_WTLS_RANDOM_DATA,
301 pub pVersion: CK_BYTE_PTR,
302}
303
304pub type CK_WTLS_MASTER_KEY_DERIVE_PARAMS_PTR = *mut CK_WTLS_MASTER_KEY_DERIVE_PARAMS;
305
306#[repr(C, packed)]
307pub struct CK_WTLS_PRF_PARAMS {
308 pub DigestMechanism: CK_MECHANISM_TYPE,
309 pub pSeed: CK_BYTE_PTR,
310 pub ulSeedLen: CK_ULONG,
311 pub pLabel: CK_BYTE_PTR,
312 pub ulLabelLen: CK_ULONG,
313 pub pOutput: CK_BYTE_PTR,
314 pub pulOutputLen: CK_ULONG_PTR,
315}
316
317pub type CK_WTLS_PRF_PARAMS_PTR = *mut CK_WTLS_PRF_PARAMS;
318
319#[repr(C, packed)]
320pub struct CK_WTLS_KEY_MAT_PARAMS {
321 pub DigestMechanism: CK_MECHANISM_TYPE,
322 pub ulMacSizeInBits: CK_ULONG,
323 pub ulKeySizeInBits: CK_ULONG,
324 pub ulIVSizeInBits: CK_ULONG,
325 pub ulSequenceNumber: CK_ULONG,
326 pub bIsExport: CK_BBOOL,
327 pub RandomInfo: CK_WTLS_RANDOM_DATA,
328 pub pReturnedKeyMaterial: CK_WTLS_KEY_MAT_OUT_PTR,
329}
330
331pub type CK_WTLS_KEY_MAT_PARAMS_PTR = *mut CK_WTLS_KEY_MAT_PARAMS;
332
333#[repr(C, packed)]
334pub struct CK_CMS_SIG_PARAMS {
335 pub certificateHandle: CK_OBJECT_HANDLE,
336 pub pSigningMechanism: CK_MECHANISM_PTR,
337 pub pDigestMechanism: CK_MECHANISM_PTR,
338 pub pContentType: CK_UTF8CHAR_PTR,
339 pub pRequestedAttributes: CK_BYTE_PTR,
340 pub ulRequestedAttributesLen: CK_ULONG,
341 pub pRequiredAttributes: CK_BYTE_PTR,
342 pub ulRequiredAttributesLen: CK_ULONG,
343}
344
345pub type CK_CMS_SIG_PARAMS_PTR = *mut CK_CMS_SIG_PARAMS;
346
347#[repr(C, packed)]
348pub struct CK_KEY_DERIVATION_STRING_DATA {
349 pub pData: CK_BYTE_PTR,
350 pub ulLen: CK_ULONG,
351}
352
353pub type CK_KEY_DERIVATION_STRING_DATA_PTR = *mut CK_KEY_DERIVATION_STRING_DATA;
354
355pub type CK_EXTRACT_PARAMS = CK_ULONG;
356
357pub type CK_EXTRACT_PARAMS_PTR = *mut CK_EXTRACT_PARAMS;
358
359#[repr(C, packed)]
360pub struct CK_PKCS5_PBKD2_PARAMS {
361 pub saltSource: CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE,
362 pub pSaltSourceData: CK_VOID_PTR,
363 pub ulSaltSourceDataLen: CK_ULONG,
364 pub iterations: CK_ULONG,
365 pub prf: CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE,
366 pub pPrfData: CK_VOID_PTR,
367 pub ulPrfDataLen: CK_ULONG,
368 pub pPassword: CK_UTF8CHAR_PTR,
369 pub ulPasswordLen: CK_ULONG_PTR,
370}
371
372pub type CK_PKCS5_PBKD2_PARAMS_PTR = *mut CK_PKCS5_PBKD2_PARAMS;
373
374#[repr(C, packed)]
375pub struct CK_PKCS5_PBKD2_PARAMS2 {
376 pub saltSource: CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE,
377 pub pSaltSourceData: CK_VOID_PTR,
378 pub ulSaltSourceDataLen: CK_ULONG,
379 pub iterations: CK_ULONG,
380 pub prf: CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE,
381 pub pPrfData: CK_VOID_PTR,
382 pub ulPrfDataLen: CK_ULONG,
383 pub pPassword: CK_UTF8CHAR_PTR,
384 pub ulPasswordLen: CK_ULONG,
385}
386
387pub type CK_PKCS5_PBKD2_PARAMS2_PTR = *mut CK_PKCS5_PBKD2_PARAMS2;
388
389pub type CK_OTP_PARAM_TYPE = CK_ULONG;
390
391pub type CK_PARAM_TYPE = CK_OTP_PARAM_TYPE;
392
393#[repr(C, packed)]
394pub struct CK_OTP_PARAM {
395 pub r#type: CK_OTP_PARAM_TYPE,
396 pub pValue: CK_VOID_PTR,
397 pub ulValueLen: CK_ULONG,
398}
399
400pub type CK_OTP_PARAM_PTR = *mut CK_OTP_PARAM;
401
402#[repr(C, packed)]
403pub struct CK_OTP_PARAMS {
404 pub pParams: CK_OTP_PARAM_PTR,
405 pub ulCount: CK_ULONG,
406}
407
408pub type CK_OTP_PARAMS_PTR = *mut CK_OTP_PARAMS;
409
410#[repr(C, packed)]
411pub struct CK_KIP_PARAMS {
412 pub pMechanism: CK_MECHANISM_PTR,
413 pub hKey: CK_OBJECT_HANDLE,
414 pub pSeed: CK_BYTE_PTR,
415 pub ulSeedLen: CK_ULONG,
416}
417
418pub type CK_KIP_PARAMS_PTR = *mut CK_KIP_PARAMS;
419
420#[repr(C, packed)]
421pub struct CK_AES_CTR_PARAMS {
422 pub ulCounterBits: CK_ULONG,
423 pub cb: [CK_BYTE; 16usize],
424}
425
426pub type CK_AES_CTR_PARAMS_PTR = *mut CK_AES_CTR_PARAMS;
427
428#[repr(C, packed)]
429pub struct CK_GCM_PARAMS {
430 pub pIv: CK_BYTE_PTR,
431 pub ulIvLen: CK_ULONG,
432 pub ulIvBits: CK_ULONG,
433 pub pAAD: CK_BYTE_PTR,
434 pub ulAADLen: CK_ULONG,
435 pub ulTagBits: CK_ULONG,
436}
437
438pub type CK_GCM_PARAMS_PTR = *mut CK_GCM_PARAMS;
439
440#[repr(C, packed)]
441pub struct CK_GCM_MESSAGE_PARAMS {
442 pub pIv: CK_BYTE_PTR,
443 pub ulIvLen: CK_ULONG,
444 pub ulIvFixedBits: CK_ULONG,
445 pub ivGenerator: CK_GENERATOR_FUNCTION,
446 pub pTag: CK_BYTE_PTR,
447 pub ulTagBits: CK_ULONG,
448}
449
450pub type CK_GCM_MESSAGE_PARAMS_PTR = *mut CK_GCM_MESSAGE_PARAMS;
451
452#[repr(C, packed)]
453pub struct CK_GCM_WRAP_PARAMS {
454 pub pIv: CK_BYTE_PTR,
455 pub ulIvLen: CK_ULONG,
456 pub ulIvFixedBits: CK_ULONG,
457 pub ivGenerator: CK_GENERATOR_FUNCTION,
458 pub pAAD: CK_BYTE_PTR,
459 pub ulAADLen: CK_ULONG,
460 pub ulTagBits: CK_ULONG,
461}
462
463pub type CK_GCM_WRAP_PARAMS_PTR = *mut CK_GCM_WRAP_PARAMS;
464
465#[repr(C, packed)]
466pub struct CK_CCM_PARAMS {
467 pub ulDataLen: CK_ULONG,
468 pub pNonce: CK_BYTE_PTR,
469 pub ulNonceLen: CK_ULONG,
470 pub pAAD: CK_BYTE_PTR,
471 pub ulAADLen: CK_ULONG,
472 pub ulMACLen: CK_ULONG,
473}
474
475pub type CK_CCM_PARAMS_PTR = *mut CK_CCM_PARAMS;
476
477#[repr(C, packed)]
478pub struct CK_CCM_MESSAGE_PARAMS {
479 pub ulDataLen: CK_ULONG,
480 pub pNonce: CK_BYTE_PTR,
481 pub ulNonceLen: CK_ULONG,
482 pub ulNonceFixedBits: CK_ULONG,
483 pub nonceGenerator: CK_GENERATOR_FUNCTION,
484 pub pMAC: CK_BYTE_PTR,
485 pub ulMACLen: CK_ULONG,
486}
487
488pub type CK_CCM_MESSAGE_PARAMS_PTR = *mut CK_CCM_MESSAGE_PARAMS;
489
490#[repr(C, packed)]
491pub struct CK_CCM_WRAP_PARAMS {
492 pub ulDataLen: CK_ULONG,
493 pub pNonce: CK_BYTE_PTR,
494 pub ulNonceLen: CK_ULONG,
495 pub ulNonceFixedBits: CK_ULONG,
496 pub nonceGenerator: CK_GENERATOR_FUNCTION,
497 pub pAAD: CK_BYTE_PTR,
498 pub ulAADLen: CK_ULONG,
499 pub ulMACLen: CK_ULONG,
500}
501
502pub type CK_CCM_WRAP_PARAMS_PTR = *mut CK_CCM_WRAP_PARAMS;
503
504#[repr(C, packed)]
505pub struct CK_AES_GCM_PARAMS {
506 pub pIv: CK_BYTE_PTR,
507 pub ulIvLen: CK_ULONG,
508 pub ulIvBits: CK_ULONG,
509 pub pAAD: CK_BYTE_PTR,
510 pub ulAADLen: CK_ULONG,
511 pub ulTagBits: CK_ULONG,
512}
513
514pub type CK_AES_GCM_PARAMS_PTR = *mut CK_AES_GCM_PARAMS;
515
516#[repr(C, packed)]
517pub struct CK_AES_CCM_PARAMS {
518 pub ulDataLen: CK_ULONG,
519 pub pNonce: CK_BYTE_PTR,
520 pub ulNonceLen: CK_ULONG,
521 pub pAAD: CK_BYTE_PTR,
522 pub ulAADLen: CK_ULONG,
523 pub ulMACLen: CK_ULONG,
524}
525
526pub type CK_AES_CCM_PARAMS_PTR = *mut CK_AES_CCM_PARAMS;
527
528#[repr(C, packed)]
529pub struct CK_CAMELLIA_CTR_PARAMS {
530 pub ulCounterBits: CK_ULONG,
531 pub cb: [CK_BYTE; 16usize],
532}
533
534pub type CK_CAMELLIA_CTR_PARAMS_PTR = *mut CK_CAMELLIA_CTR_PARAMS;
535
536#[repr(C, packed)]
537pub struct CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS {
538 pub iv: [CK_BYTE; 16usize],
539 pub pData: CK_BYTE_PTR,
540 pub length: CK_ULONG,
541}
542
543pub type CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS_PTR = *mut CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS;
544
545#[repr(C, packed)]
546pub struct CK_ARIA_CBC_ENCRYPT_DATA_PARAMS {
547 pub iv: [CK_BYTE; 16usize],
548 pub pData: CK_BYTE_PTR,
549 pub length: CK_ULONG,
550}
551
552pub type CK_ARIA_CBC_ENCRYPT_DATA_PARAMS_PTR = *mut CK_ARIA_CBC_ENCRYPT_DATA_PARAMS;
553
554#[repr(C, packed)]
555pub struct CK_DSA_PARAMETER_GEN_PARAM {
556 pub hash: CK_MECHANISM_TYPE,
557 pub pSeed: CK_BYTE_PTR,
558 pub ulSeedLen: CK_ULONG,
559 pub ulIndex: CK_ULONG,
560}
561
562pub type CK_DSA_PARAMETER_GEN_PARAM_PTR = *mut CK_DSA_PARAMETER_GEN_PARAM;
563
564#[repr(C, packed)]
565pub struct CK_ECDH_AES_KEY_WRAP_PARAMS {
566 pub ulAESKeyBits: CK_ULONG,
567 pub kdf: CK_EC_KDF_TYPE,
568 pub ulSharedDataLen: CK_ULONG,
569 pub pSharedData: CK_BYTE_PTR,
570}
571
572pub type CK_ECDH_AES_KEY_WRAP_PARAMS_PTR = *mut CK_ECDH_AES_KEY_WRAP_PARAMS;
573
574#[repr(C, packed)]
575pub struct CK_RSA_AES_KEY_WRAP_PARAMS {
576 pub ulAESKeyBits: CK_ULONG,
577 pub pOAEPParams: CK_RSA_PKCS_OAEP_PARAMS_PTR,
578}
579
580pub type CK_RSA_AES_KEY_WRAP_PARAMS_PTR = *mut CK_RSA_AES_KEY_WRAP_PARAMS;
581
582#[repr(C, packed)]
583pub struct CK_TLS12_MASTER_KEY_DERIVE_PARAMS {
584 pub RandomInfo: CK_SSL3_RANDOM_DATA,
585 pub pVersion: CK_VERSION_PTR,
586 pub prfHashMechanism: CK_MECHANISM_TYPE,
587}
588
589pub type CK_TLS12_MASTER_KEY_DERIVE_PARAMS_PTR = *mut CK_TLS12_MASTER_KEY_DERIVE_PARAMS;
590
591#[repr(C, packed)]
592pub struct CK_TLS12_KEY_MAT_PARAMS {
593 pub ulMacSizeInBits: CK_ULONG,
594 pub ulKeySizeInBits: CK_ULONG,
595 pub ulIVSizeInBits: CK_ULONG,
596 pub bIsExport: CK_BBOOL,
597 pub RandomInfo: CK_SSL3_RANDOM_DATA,
598 pub pReturnedKeyMaterial: CK_SSL3_KEY_MAT_OUT_PTR,
599 pub prfHashMechanism: CK_MECHANISM_TYPE,
600}
601
602pub type CK_TLS12_KEY_MAT_PARAMS_PTR = *mut CK_TLS12_KEY_MAT_PARAMS;
603
604#[repr(C, packed)]
605pub struct CK_TLS_KDF_PARAMS {
606 pub prfMechanism: CK_MECHANISM_TYPE,
607 pub pLabel: CK_BYTE_PTR,
608 pub ulLabelLength: CK_ULONG,
609 pub RandomInfo: CK_SSL3_RANDOM_DATA,
610 pub pContextData: CK_BYTE_PTR,
611 pub ulContextDataLength: CK_ULONG,
612}
613
614pub type CK_TLS_KDF_PARAMS_PTR = *mut CK_TLS_KDF_PARAMS;
615
616#[repr(C, packed)]
617pub struct CK_TLS_MAC_PARAMS {
618 pub prfHashMechanism: CK_MECHANISM_TYPE,
619 pub ulMacLength: CK_ULONG,
620 pub ulServerOrClient: CK_ULONG,
621}
622
623pub type CK_TLS_MAC_PARAMS_PTR = *mut CK_TLS_MAC_PARAMS;
624
625#[repr(C, packed)]
626pub struct CK_TLS12_EXTENDED_MASTER_KEY_DERIVE_PARAMS {
627 pub prfHashMechanism: CK_MECHANISM_TYPE,
628 pub pSessionHash: CK_BYTE_PTR,
629 pub ulSessionHashLen: CK_ULONG,
630 pub pVersion: CK_VERSION_PTR,
631}
632
633pub type CK_TLS12_EXTENDED_MASTER_KEY_DERIVE_PARAMS_PTR =
634 *mut CK_TLS12_EXTENDED_MASTER_KEY_DERIVE_PARAMS;
635
636#[repr(C, packed)]
637pub struct CK_GOSTR3410_DERIVE_PARAMS {
638 pub kdf: CK_EC_KDF_TYPE,
639 pub pPublicData: CK_BYTE_PTR,
640 pub ulPublicDataLen: CK_ULONG,
641 pub pUKM: CK_BYTE_PTR,
642 pub ulUKMLen: CK_ULONG,
643}
644
645pub type CK_GOSTR3410_DERIVE_PARAMS_PTR = *mut CK_GOSTR3410_DERIVE_PARAMS;
646
647#[repr(C, packed)]
648pub struct CK_GOSTR3410_KEY_WRAP_PARAMS {
649 pub pWrapOID: CK_BYTE_PTR,
650 pub ulWrapOIDLen: CK_ULONG,
651 pub pUKM: CK_BYTE_PTR,
652 pub ulUKMLen: CK_ULONG,
653 pub hKey: CK_OBJECT_HANDLE,
654}
655
656pub type CK_GOSTR3410_KEY_WRAP_PARAMS_PTR = *mut CK_GOSTR3410_KEY_WRAP_PARAMS;
657
658#[repr(C, packed)]
659pub struct CK_SEED_CBC_ENCRYPT_DATA_PARAMS {
660 pub iv: [CK_BYTE; 16usize],
661 pub pData: CK_BYTE_PTR,
662 pub length: CK_ULONG,
663}
664
665pub type CK_SEED_CBC_ENCRYPT_DATA_PARAMS_PTR = *mut CK_SEED_CBC_ENCRYPT_DATA_PARAMS;
666
667pub type CK_PRF_DATA_TYPE = CK_ULONG;
668
669pub type CK_SP800_108_PRF_TYPE = CK_MECHANISM_TYPE;
670
671#[repr(C, packed)]
672pub struct CK_PRF_DATA_PARAM {
673 pub r#type: CK_PRF_DATA_TYPE,
674 pub pValue: CK_VOID_PTR,
675 pub ulValueLen: CK_ULONG,
676}
677
678pub type CK_PRF_DATA_PARAM_PTR = *mut CK_PRF_DATA_PARAM;
679
680#[repr(C, packed)]
681pub struct CK_DERIVED_KEY {
682 pub pTemplate: CK_ATTRIBUTE_PTR,
683 pub ulAttributeCount: CK_ULONG,
684 pub phKey: CK_OBJECT_HANDLE_PTR,
685}
686
687pub type CK_DERIVED_KEY_PTR = *mut CK_DERIVED_KEY;
688
689#[repr(C, packed)]
690pub struct CK_SP800_108_KDF_PARAMS {
691 pub prfType: CK_SP800_108_PRF_TYPE,
692 pub ulNumberOfDataParams: CK_ULONG,
693 pub pDataParams: CK_PRF_DATA_PARAM_PTR,
694 pub ulAdditionalDerivedKeys: CK_ULONG,
695 pub pAdditionalDerivedKeys: CK_DERIVED_KEY_PTR,
696}
697
698pub type CK_SP800_108_KDF_PARAMS_PTR = *mut CK_SP800_108_KDF_PARAMS;
699
700#[repr(C, packed)]
701pub struct CK_SP800_108_FEEDBACK_KDF_PARAMS {
702 pub prfType: CK_SP800_108_PRF_TYPE,
703 pub ulNumberOfDataParams: CK_ULONG,
704 pub pDataParams: CK_PRF_DATA_PARAM_PTR,
705 pub ulIVLen: CK_ULONG,
706 pub pIV: CK_BYTE_PTR,
707 pub ulAdditionalDerivedKeys: CK_ULONG,
708 pub pAdditionalDerivedKeys: CK_DERIVED_KEY_PTR,
709}
710
711pub type CK_SP800_108_FEEDBACK_KDF_PARAMS_PTR = *mut CK_SP800_108_FEEDBACK_KDF_PARAMS;
712
713#[repr(C, packed)]
714pub struct CK_EDDSA_PARAMS {
715 pub phFlag: CK_BBOOL,
716 pub ulContextDataLen: CK_ULONG,
717 pub pContextData: CK_BYTE_PTR,
718}
719
720pub type CK_EDDSA_PARAMS_PTR = *mut CK_EDDSA_PARAMS;
721
722#[repr(C, packed)]
723pub struct CK_CHACHA20_PARAMS {
724 pub pBlockCounter: CK_BYTE_PTR,
725 pub blockCounterBits: CK_ULONG,
726 pub pNonce: CK_BYTE_PTR,
727 pub ulNonceBits: CK_ULONG,
728}
729
730pub type CK_CHACHA20_PARAMS_PTR = *mut CK_CHACHA20_PARAMS;
731
732#[repr(C, packed)]
733pub struct CK_SALSA20_PARAMS {
734 pub pBlockCounter: CK_BYTE_PTR,
735 pub pNonce: CK_BYTE_PTR,
736 pub ulNonceBits: CK_ULONG,
737}
738
739pub type CK_SALSA20_PARAMS_PTR = *mut CK_SALSA20_PARAMS;
740
741#[repr(C, packed)]
742pub struct CK_SALSA20_CHACHA20_POLY1305_PARAMS {
743 pub pNonce: CK_BYTE_PTR,
744 pub ulNonceLen: CK_ULONG,
745 pub pAAD: CK_BYTE_PTR,
746 pub ulAADLen: CK_ULONG,
747}
748
749pub type CK_SALSA20_CHACHA20_POLY1305_PARAMS_PTR = *mut CK_SALSA20_CHACHA20_POLY1305_PARAMS;
750
751#[repr(C, packed)]
752pub struct CK_SALSA20_CHACHA20_POLY1305_MSG_PARAMS {
753 pub pNonce: CK_BYTE_PTR,
754 pub ulNonceLen: CK_ULONG,
755 pub pTag: CK_BYTE_PTR,
756}
757
758pub type CK_SALSA20_CHACHA20_POLY1305_MSG_PARAMS_PTR = *mut CK_SALSA20_CHACHA20_POLY1305_MSG_PARAMS;
759
760#[repr(C, packed)]
761pub struct CK_X3DH_INITIATE_PARAMS {
762 pub kdf: CK_X3DH_KDF_TYPE,
763 pub pPeer_identity: CK_OBJECT_HANDLE,
764 pub pPeer_prekey: CK_OBJECT_HANDLE,
765 pub pPrekey_signature: CK_BYTE_PTR,
766 pub pOnetime_key: CK_BYTE_PTR,
767 pub pOwn_identity: CK_OBJECT_HANDLE,
768 pub pOwn_ephemeral: CK_OBJECT_HANDLE,
769}
770
771#[repr(C, packed)]
772pub struct CK_X3DH_RESPOND_PARAMS {
773 pub kdf: CK_X3DH_KDF_TYPE,
774 pub pIdentity_id: CK_BYTE_PTR,
775 pub pPrekey_id: CK_BYTE_PTR,
776 pub pOnetime_id: CK_BYTE_PTR,
777 pub pInitiator_identity: CK_OBJECT_HANDLE,
778 pub pInitiator_ephemeral: CK_BYTE_PTR,
779}
780
781#[repr(C, packed)]
782pub struct CK_X2RATCHET_INITIALIZE_PARAMS {
783 pub sk: CK_BYTE_PTR,
784 pub peer_public_prekey: CK_OBJECT_HANDLE,
785 pub peer_public_identity: CK_OBJECT_HANDLE,
786 pub own_public_identity: CK_OBJECT_HANDLE,
787 pub bEncryptedHeader: CK_BBOOL,
788 pub eCurve: CK_ULONG,
789 pub aeadMechanism: CK_MECHANISM_TYPE,
790 pub kdfMechanism: CK_X2RATCHET_KDF_TYPE,
791}
792
793pub type CK_X2RATCHET_INITIALIZE_PARAMS_PTR = *mut CK_X2RATCHET_INITIALIZE_PARAMS;
794
795#[repr(C, packed)]
796pub struct CK_X2RATCHET_RESPOND_PARAMS {
797 pub sk: CK_BYTE_PTR,
798 pub own_prekey: CK_OBJECT_HANDLE,
799 pub initiator_identity: CK_OBJECT_HANDLE,
800 pub own_public_identity: CK_OBJECT_HANDLE,
801 pub bEncryptedHeader: CK_BBOOL,
802 pub eCurve: CK_ULONG,
803 pub aeadMechanism: CK_MECHANISM_TYPE,
804 pub kdfMechanism: CK_X2RATCHET_KDF_TYPE,
805}
806
807pub type CK_X2RATCHET_RESPOND_PARAMS_PTR = *mut CK_X2RATCHET_RESPOND_PARAMS;
808
809#[repr(C, packed)]
810pub struct CK_XEDDSA_PARAMS {
811 pub hash: CK_XEDDSA_HASH_TYPE,
812}
813
814pub type CK_XEDDSA_PARAMS_PTR = *mut CK_XEDDSA_PARAMS;
815
816#[repr(C, packed)]
817pub struct CK_HKDF_PARAMS {
818 pub bExtract: CK_BBOOL,
819 pub bExpand: CK_BBOOL,
820 pub prfHashMechanism: CK_MECHANISM_TYPE,
821 pub ulSaltType: CK_ULONG,
822 pub pSalt: CK_BYTE_PTR,
823 pub ulSaltLen: CK_ULONG,
824 pub hSaltKey: CK_OBJECT_HANDLE,
825 pub pInfo: CK_BYTE_PTR,
826 pub ulInfoLen: CK_ULONG,
827}
828
829pub type CK_HKDF_PARAMS_PTR = *mut CK_HKDF_PARAMS;
830
831#[repr(C, packed)]
832pub struct specifiedParams {
833 pub levels: CK_HSS_LEVELS,
834 pub lm_type: [CK_LMS_TYPE; 8usize],
835 pub lm_ots_type: [CK_LMOTS_TYPE; 8usize],
836}
837
838#[repr(C, packed)]
839pub struct CK_IKE2_PRF_PLUS_DERIVE_PARAMS {
840 pub prfMechanism: CK_MECHANISM_TYPE,
841 pub bHasSeedKey: CK_BBOOL,
842 pub hSeedKey: CK_OBJECT_HANDLE,
843 pub pSeedData: CK_BYTE_PTR,
844 pub ulSeedDataLen: CK_ULONG,
845}
846
847pub type CK_IKE2_PRF_PLUS_DERIVE_PARAMS_PTR = *mut CK_IKE2_PRF_PLUS_DERIVE_PARAMS;
848
849#[repr(C, packed)]
850pub struct CK_IKE_PRF_DERIVE_PARAMS {
851 pub prfMechanism: CK_MECHANISM_TYPE,
852 pub bDataAsKey: CK_BBOOL,
853 pub bRekey: CK_BBOOL,
854 pub pNi: CK_BYTE_PTR,
855 pub ulNiLen: CK_ULONG,
856 pub pNr: CK_BYTE_PTR,
857 pub ulNrLen: CK_ULONG,
858 pub hNewKey: CK_OBJECT_HANDLE,
859}
860
861pub type CK_IKE_PRF_DERIVE_PARAMS_PTR = *mut CK_IKE_PRF_DERIVE_PARAMS;
862
863#[repr(C, packed)]
864pub struct CK_IKE1_PRF_DERIVE_PARAMS {
865 pub prfMechanism: CK_MECHANISM_TYPE,
866 pub bHasPrevKey: CK_BBOOL,
867 pub hKeygxy: CK_OBJECT_HANDLE,
868 pub hPrevKey: CK_OBJECT_HANDLE,
869 pub pCKYi: CK_BYTE_PTR,
870 pub ulCKYiLen: CK_ULONG,
871 pub pCKYr: CK_BYTE_PTR,
872 pub ulCKYrLen: CK_ULONG,
873 pub keyNumber: CK_BYTE,
874}
875
876pub type CK_IKE1_PRF_DERIVE_PARAMS_PTR = *mut CK_IKE1_PRF_DERIVE_PARAMS;
877
878#[repr(C, packed)]
879pub struct CK_IKE1_EXTENDED_DERIVE_PARAMS {
880 pub prfMechanism: CK_MECHANISM_TYPE,
881 pub bHasKeygxy: CK_BBOOL,
882 pub hKeygxy: CK_OBJECT_HANDLE,
883 pub pExtraData: CK_BYTE_PTR,
884 pub ulExtraDataLen: CK_ULONG,
885}
886
887pub type CK_IKE1_EXTENDED_DERIVE_PARAMS_PTR = *mut CK_IKE1_EXTENDED_DERIVE_PARAMS;
888
889#[repr(C, packed)]
890pub struct CK_ASYNC_DATA {
891 pub ulVersion: CK_ULONG,
892 pub pValue: CK_BYTE_PTR,
893 pub ulValue: CK_ULONG,
894 pub hObject: CK_OBJECT_HANDLE,
895 pub hAdditionalObject: CK_OBJECT_HANDLE,
896}
897
898pub type CK_ASYNC_DATA_PTR = *mut CK_ASYNC_DATA;
899
900pub type CK_XMSSMT_PARAMETER_SET_TYPE = CK_ULONG;
901
902pub type CK_XMSS_PARAMETER_SET_TYPE = CK_ULONG;
903
904pub type CK_ML_DSA_PARAMETER_SET_TYPE = CK_ULONG;
905
906pub type CK_SLH_DSA_PARAMETER_SET_TYPE = CK_ULONG;
907
908pub type CK_ML_KEM_PARAMETER_SET_TYPE = CK_ULONG;