Skip to main content

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

1// Generated from OASIS PKCS#11 3.2; see NOTICE.txt and provenance.json.
2use 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;