1use super::*;
3
4pub type CK_FUNCTION_LIST_PTR = *mut CK_FUNCTION_LIST;
5
6pub type CK_FUNCTION_LIST_3_0_PTR = *mut CK_FUNCTION_LIST_3_0;
7
8pub type CK_FUNCTION_LIST_3_2_PTR = *mut CK_FUNCTION_LIST_3_2;
9
10pub type CK_FUNCTION_LIST_PTR_PTR = *mut CK_FUNCTION_LIST_PTR;
11
12pub type CK_FUNCTION_LIST_3_0_PTR_PTR = *mut CK_FUNCTION_LIST_3_0_PTR;
13
14pub type CK_FUNCTION_LIST_3_2_PTR_PTR = *mut CK_FUNCTION_LIST_3_2_PTR;
15
16#[repr(C, packed)]
17pub struct CK_INTERFACE {
18 pub pInterfaceName: CK_UTF8CHAR_PTR,
19 pub pFunctionList: CK_VOID_PTR,
20 pub flags: CK_FLAGS,
21}
22
23pub type CK_INTERFACE_PTR = *mut CK_INTERFACE;
24
25pub type CK_INTERFACE_PTR_PTR = *mut CK_INTERFACE_PTR;
26
27#[repr(C, packed)]
28pub struct CK_FUNCTION_LIST_3_2 {
29 pub version: CK_VERSION,
30 pub C_Initialize: CK_C_Initialize,
31 pub C_Finalize: CK_C_Finalize,
32 pub C_GetInfo: CK_C_GetInfo,
33 pub C_GetFunctionList: CK_C_GetFunctionList,
34 pub C_GetSlotList: CK_C_GetSlotList,
35 pub C_GetSlotInfo: CK_C_GetSlotInfo,
36 pub C_GetTokenInfo: CK_C_GetTokenInfo,
37 pub C_GetMechanismList: CK_C_GetMechanismList,
38 pub C_GetMechanismInfo: CK_C_GetMechanismInfo,
39 pub C_InitToken: CK_C_InitToken,
40 pub C_InitPIN: CK_C_InitPIN,
41 pub C_SetPIN: CK_C_SetPIN,
42 pub C_OpenSession: CK_C_OpenSession,
43 pub C_CloseSession: CK_C_CloseSession,
44 pub C_CloseAllSessions: CK_C_CloseAllSessions,
45 pub C_GetSessionInfo: CK_C_GetSessionInfo,
46 pub C_GetOperationState: CK_C_GetOperationState,
47 pub C_SetOperationState: CK_C_SetOperationState,
48 pub C_Login: CK_C_Login,
49 pub C_Logout: CK_C_Logout,
50 pub C_CreateObject: CK_C_CreateObject,
51 pub C_CopyObject: CK_C_CopyObject,
52 pub C_DestroyObject: CK_C_DestroyObject,
53 pub C_GetObjectSize: CK_C_GetObjectSize,
54 pub C_GetAttributeValue: CK_C_GetAttributeValue,
55 pub C_SetAttributeValue: CK_C_SetAttributeValue,
56 pub C_FindObjectsInit: CK_C_FindObjectsInit,
57 pub C_FindObjects: CK_C_FindObjects,
58 pub C_FindObjectsFinal: CK_C_FindObjectsFinal,
59 pub C_EncryptInit: CK_C_EncryptInit,
60 pub C_Encrypt: CK_C_Encrypt,
61 pub C_EncryptUpdate: CK_C_EncryptUpdate,
62 pub C_EncryptFinal: CK_C_EncryptFinal,
63 pub C_DecryptInit: CK_C_DecryptInit,
64 pub C_Decrypt: CK_C_Decrypt,
65 pub C_DecryptUpdate: CK_C_DecryptUpdate,
66 pub C_DecryptFinal: CK_C_DecryptFinal,
67 pub C_DigestInit: CK_C_DigestInit,
68 pub C_Digest: CK_C_Digest,
69 pub C_DigestUpdate: CK_C_DigestUpdate,
70 pub C_DigestKey: CK_C_DigestKey,
71 pub C_DigestFinal: CK_C_DigestFinal,
72 pub C_SignInit: CK_C_SignInit,
73 pub C_Sign: CK_C_Sign,
74 pub C_SignUpdate: CK_C_SignUpdate,
75 pub C_SignFinal: CK_C_SignFinal,
76 pub C_SignRecoverInit: CK_C_SignRecoverInit,
77 pub C_SignRecover: CK_C_SignRecover,
78 pub C_VerifyInit: CK_C_VerifyInit,
79 pub C_Verify: CK_C_Verify,
80 pub C_VerifyUpdate: CK_C_VerifyUpdate,
81 pub C_VerifyFinal: CK_C_VerifyFinal,
82 pub C_VerifyRecoverInit: CK_C_VerifyRecoverInit,
83 pub C_VerifyRecover: CK_C_VerifyRecover,
84 pub C_DigestEncryptUpdate: CK_C_DigestEncryptUpdate,
85 pub C_DecryptDigestUpdate: CK_C_DecryptDigestUpdate,
86 pub C_SignEncryptUpdate: CK_C_SignEncryptUpdate,
87 pub C_DecryptVerifyUpdate: CK_C_DecryptVerifyUpdate,
88 pub C_GenerateKey: CK_C_GenerateKey,
89 pub C_GenerateKeyPair: CK_C_GenerateKeyPair,
90 pub C_WrapKey: CK_C_WrapKey,
91 pub C_UnwrapKey: CK_C_UnwrapKey,
92 pub C_DeriveKey: CK_C_DeriveKey,
93 pub C_SeedRandom: CK_C_SeedRandom,
94 pub C_GenerateRandom: CK_C_GenerateRandom,
95 pub C_GetFunctionStatus: CK_C_GetFunctionStatus,
96 pub C_CancelFunction: CK_C_CancelFunction,
97 pub C_WaitForSlotEvent: CK_C_WaitForSlotEvent,
98 pub C_GetInterfaceList: CK_C_GetInterfaceList,
99 pub C_GetInterface: CK_C_GetInterface,
100 pub C_LoginUser: CK_C_LoginUser,
101 pub C_SessionCancel: CK_C_SessionCancel,
102 pub C_MessageEncryptInit: CK_C_MessageEncryptInit,
103 pub C_EncryptMessage: CK_C_EncryptMessage,
104 pub C_EncryptMessageBegin: CK_C_EncryptMessageBegin,
105 pub C_EncryptMessageNext: CK_C_EncryptMessageNext,
106 pub C_MessageEncryptFinal: CK_C_MessageEncryptFinal,
107 pub C_MessageDecryptInit: CK_C_MessageDecryptInit,
108 pub C_DecryptMessage: CK_C_DecryptMessage,
109 pub C_DecryptMessageBegin: CK_C_DecryptMessageBegin,
110 pub C_DecryptMessageNext: CK_C_DecryptMessageNext,
111 pub C_MessageDecryptFinal: CK_C_MessageDecryptFinal,
112 pub C_MessageSignInit: CK_C_MessageSignInit,
113 pub C_SignMessage: CK_C_SignMessage,
114 pub C_SignMessageBegin: CK_C_SignMessageBegin,
115 pub C_SignMessageNext: CK_C_SignMessageNext,
116 pub C_MessageSignFinal: CK_C_MessageSignFinal,
117 pub C_MessageVerifyInit: CK_C_MessageVerifyInit,
118 pub C_VerifyMessage: CK_C_VerifyMessage,
119 pub C_VerifyMessageBegin: CK_C_VerifyMessageBegin,
120 pub C_VerifyMessageNext: CK_C_VerifyMessageNext,
121 pub C_MessageVerifyFinal: CK_C_MessageVerifyFinal,
122 pub C_EncapsulateKey: CK_C_EncapsulateKey,
123 pub C_DecapsulateKey: CK_C_DecapsulateKey,
124 pub C_VerifySignatureInit: CK_C_VerifySignatureInit,
125 pub C_VerifySignature: CK_C_VerifySignature,
126 pub C_VerifySignatureUpdate: CK_C_VerifySignatureUpdate,
127 pub C_VerifySignatureFinal: CK_C_VerifySignatureFinal,
128 pub C_GetSessionValidationFlags: CK_C_GetSessionValidationFlags,
129 pub C_AsyncComplete: CK_C_AsyncComplete,
130 pub C_AsyncGetID: CK_C_AsyncGetID,
131 pub C_AsyncJoin: CK_C_AsyncJoin,
132 pub C_WrapKeyAuthenticated: CK_C_WrapKeyAuthenticated,
133 pub C_UnwrapKeyAuthenticated: CK_C_UnwrapKeyAuthenticated,
134}
135
136#[repr(C, packed)]
137pub struct CK_FUNCTION_LIST_3_0 {
138 pub version: CK_VERSION,
139 pub C_Initialize: CK_C_Initialize,
140 pub C_Finalize: CK_C_Finalize,
141 pub C_GetInfo: CK_C_GetInfo,
142 pub C_GetFunctionList: CK_C_GetFunctionList,
143 pub C_GetSlotList: CK_C_GetSlotList,
144 pub C_GetSlotInfo: CK_C_GetSlotInfo,
145 pub C_GetTokenInfo: CK_C_GetTokenInfo,
146 pub C_GetMechanismList: CK_C_GetMechanismList,
147 pub C_GetMechanismInfo: CK_C_GetMechanismInfo,
148 pub C_InitToken: CK_C_InitToken,
149 pub C_InitPIN: CK_C_InitPIN,
150 pub C_SetPIN: CK_C_SetPIN,
151 pub C_OpenSession: CK_C_OpenSession,
152 pub C_CloseSession: CK_C_CloseSession,
153 pub C_CloseAllSessions: CK_C_CloseAllSessions,
154 pub C_GetSessionInfo: CK_C_GetSessionInfo,
155 pub C_GetOperationState: CK_C_GetOperationState,
156 pub C_SetOperationState: CK_C_SetOperationState,
157 pub C_Login: CK_C_Login,
158 pub C_Logout: CK_C_Logout,
159 pub C_CreateObject: CK_C_CreateObject,
160 pub C_CopyObject: CK_C_CopyObject,
161 pub C_DestroyObject: CK_C_DestroyObject,
162 pub C_GetObjectSize: CK_C_GetObjectSize,
163 pub C_GetAttributeValue: CK_C_GetAttributeValue,
164 pub C_SetAttributeValue: CK_C_SetAttributeValue,
165 pub C_FindObjectsInit: CK_C_FindObjectsInit,
166 pub C_FindObjects: CK_C_FindObjects,
167 pub C_FindObjectsFinal: CK_C_FindObjectsFinal,
168 pub C_EncryptInit: CK_C_EncryptInit,
169 pub C_Encrypt: CK_C_Encrypt,
170 pub C_EncryptUpdate: CK_C_EncryptUpdate,
171 pub C_EncryptFinal: CK_C_EncryptFinal,
172 pub C_DecryptInit: CK_C_DecryptInit,
173 pub C_Decrypt: CK_C_Decrypt,
174 pub C_DecryptUpdate: CK_C_DecryptUpdate,
175 pub C_DecryptFinal: CK_C_DecryptFinal,
176 pub C_DigestInit: CK_C_DigestInit,
177 pub C_Digest: CK_C_Digest,
178 pub C_DigestUpdate: CK_C_DigestUpdate,
179 pub C_DigestKey: CK_C_DigestKey,
180 pub C_DigestFinal: CK_C_DigestFinal,
181 pub C_SignInit: CK_C_SignInit,
182 pub C_Sign: CK_C_Sign,
183 pub C_SignUpdate: CK_C_SignUpdate,
184 pub C_SignFinal: CK_C_SignFinal,
185 pub C_SignRecoverInit: CK_C_SignRecoverInit,
186 pub C_SignRecover: CK_C_SignRecover,
187 pub C_VerifyInit: CK_C_VerifyInit,
188 pub C_Verify: CK_C_Verify,
189 pub C_VerifyUpdate: CK_C_VerifyUpdate,
190 pub C_VerifyFinal: CK_C_VerifyFinal,
191 pub C_VerifyRecoverInit: CK_C_VerifyRecoverInit,
192 pub C_VerifyRecover: CK_C_VerifyRecover,
193 pub C_DigestEncryptUpdate: CK_C_DigestEncryptUpdate,
194 pub C_DecryptDigestUpdate: CK_C_DecryptDigestUpdate,
195 pub C_SignEncryptUpdate: CK_C_SignEncryptUpdate,
196 pub C_DecryptVerifyUpdate: CK_C_DecryptVerifyUpdate,
197 pub C_GenerateKey: CK_C_GenerateKey,
198 pub C_GenerateKeyPair: CK_C_GenerateKeyPair,
199 pub C_WrapKey: CK_C_WrapKey,
200 pub C_UnwrapKey: CK_C_UnwrapKey,
201 pub C_DeriveKey: CK_C_DeriveKey,
202 pub C_SeedRandom: CK_C_SeedRandom,
203 pub C_GenerateRandom: CK_C_GenerateRandom,
204 pub C_GetFunctionStatus: CK_C_GetFunctionStatus,
205 pub C_CancelFunction: CK_C_CancelFunction,
206 pub C_WaitForSlotEvent: CK_C_WaitForSlotEvent,
207 pub C_GetInterfaceList: CK_C_GetInterfaceList,
208 pub C_GetInterface: CK_C_GetInterface,
209 pub C_LoginUser: CK_C_LoginUser,
210 pub C_SessionCancel: CK_C_SessionCancel,
211 pub C_MessageEncryptInit: CK_C_MessageEncryptInit,
212 pub C_EncryptMessage: CK_C_EncryptMessage,
213 pub C_EncryptMessageBegin: CK_C_EncryptMessageBegin,
214 pub C_EncryptMessageNext: CK_C_EncryptMessageNext,
215 pub C_MessageEncryptFinal: CK_C_MessageEncryptFinal,
216 pub C_MessageDecryptInit: CK_C_MessageDecryptInit,
217 pub C_DecryptMessage: CK_C_DecryptMessage,
218 pub C_DecryptMessageBegin: CK_C_DecryptMessageBegin,
219 pub C_DecryptMessageNext: CK_C_DecryptMessageNext,
220 pub C_MessageDecryptFinal: CK_C_MessageDecryptFinal,
221 pub C_MessageSignInit: CK_C_MessageSignInit,
222 pub C_SignMessage: CK_C_SignMessage,
223 pub C_SignMessageBegin: CK_C_SignMessageBegin,
224 pub C_SignMessageNext: CK_C_SignMessageNext,
225 pub C_MessageSignFinal: CK_C_MessageSignFinal,
226 pub C_MessageVerifyInit: CK_C_MessageVerifyInit,
227 pub C_VerifyMessage: CK_C_VerifyMessage,
228 pub C_VerifyMessageBegin: CK_C_VerifyMessageBegin,
229 pub C_VerifyMessageNext: CK_C_VerifyMessageNext,
230 pub C_MessageVerifyFinal: CK_C_MessageVerifyFinal,
231}
232
233#[repr(C, packed)]
234pub struct CK_FUNCTION_LIST {
235 pub version: CK_VERSION,
236 pub C_Initialize: CK_C_Initialize,
237 pub C_Finalize: CK_C_Finalize,
238 pub C_GetInfo: CK_C_GetInfo,
239 pub C_GetFunctionList: CK_C_GetFunctionList,
240 pub C_GetSlotList: CK_C_GetSlotList,
241 pub C_GetSlotInfo: CK_C_GetSlotInfo,
242 pub C_GetTokenInfo: CK_C_GetTokenInfo,
243 pub C_GetMechanismList: CK_C_GetMechanismList,
244 pub C_GetMechanismInfo: CK_C_GetMechanismInfo,
245 pub C_InitToken: CK_C_InitToken,
246 pub C_InitPIN: CK_C_InitPIN,
247 pub C_SetPIN: CK_C_SetPIN,
248 pub C_OpenSession: CK_C_OpenSession,
249 pub C_CloseSession: CK_C_CloseSession,
250 pub C_CloseAllSessions: CK_C_CloseAllSessions,
251 pub C_GetSessionInfo: CK_C_GetSessionInfo,
252 pub C_GetOperationState: CK_C_GetOperationState,
253 pub C_SetOperationState: CK_C_SetOperationState,
254 pub C_Login: CK_C_Login,
255 pub C_Logout: CK_C_Logout,
256 pub C_CreateObject: CK_C_CreateObject,
257 pub C_CopyObject: CK_C_CopyObject,
258 pub C_DestroyObject: CK_C_DestroyObject,
259 pub C_GetObjectSize: CK_C_GetObjectSize,
260 pub C_GetAttributeValue: CK_C_GetAttributeValue,
261 pub C_SetAttributeValue: CK_C_SetAttributeValue,
262 pub C_FindObjectsInit: CK_C_FindObjectsInit,
263 pub C_FindObjects: CK_C_FindObjects,
264 pub C_FindObjectsFinal: CK_C_FindObjectsFinal,
265 pub C_EncryptInit: CK_C_EncryptInit,
266 pub C_Encrypt: CK_C_Encrypt,
267 pub C_EncryptUpdate: CK_C_EncryptUpdate,
268 pub C_EncryptFinal: CK_C_EncryptFinal,
269 pub C_DecryptInit: CK_C_DecryptInit,
270 pub C_Decrypt: CK_C_Decrypt,
271 pub C_DecryptUpdate: CK_C_DecryptUpdate,
272 pub C_DecryptFinal: CK_C_DecryptFinal,
273 pub C_DigestInit: CK_C_DigestInit,
274 pub C_Digest: CK_C_Digest,
275 pub C_DigestUpdate: CK_C_DigestUpdate,
276 pub C_DigestKey: CK_C_DigestKey,
277 pub C_DigestFinal: CK_C_DigestFinal,
278 pub C_SignInit: CK_C_SignInit,
279 pub C_Sign: CK_C_Sign,
280 pub C_SignUpdate: CK_C_SignUpdate,
281 pub C_SignFinal: CK_C_SignFinal,
282 pub C_SignRecoverInit: CK_C_SignRecoverInit,
283 pub C_SignRecover: CK_C_SignRecover,
284 pub C_VerifyInit: CK_C_VerifyInit,
285 pub C_Verify: CK_C_Verify,
286 pub C_VerifyUpdate: CK_C_VerifyUpdate,
287 pub C_VerifyFinal: CK_C_VerifyFinal,
288 pub C_VerifyRecoverInit: CK_C_VerifyRecoverInit,
289 pub C_VerifyRecover: CK_C_VerifyRecover,
290 pub C_DigestEncryptUpdate: CK_C_DigestEncryptUpdate,
291 pub C_DecryptDigestUpdate: CK_C_DecryptDigestUpdate,
292 pub C_SignEncryptUpdate: CK_C_SignEncryptUpdate,
293 pub C_DecryptVerifyUpdate: CK_C_DecryptVerifyUpdate,
294 pub C_GenerateKey: CK_C_GenerateKey,
295 pub C_GenerateKeyPair: CK_C_GenerateKeyPair,
296 pub C_WrapKey: CK_C_WrapKey,
297 pub C_UnwrapKey: CK_C_UnwrapKey,
298 pub C_DeriveKey: CK_C_DeriveKey,
299 pub C_SeedRandom: CK_C_SeedRandom,
300 pub C_GenerateRandom: CK_C_GenerateRandom,
301 pub C_GetFunctionStatus: CK_C_GetFunctionStatus,
302 pub C_CancelFunction: CK_C_CancelFunction,
303 pub C_WaitForSlotEvent: CK_C_WaitForSlotEvent,
304}