Updated Indonesian translation
[empathy-mirror.git] / tests / mock-pkcs11.h
blobaa024fcc95a974d6a4d328afc8334c05c6291e2a
1 /*
2 * Copyright (C) 2010-2012 Stefan Walter
3 * Copyright (C) 2011 Collabora Ltd.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as
7 * published by the Free Software Foundation; either version 2.1 of
8 * the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
18 * 02111-1307, USA.
21 #include <gck/pkcs11x.h>
22 #include <gcr/gcr.h>
24 #ifndef MOCK_MODULE_H
25 #define MOCK_MODULE_H
27 extern CK_FUNCTION_LIST mock_default_functions;
29 CK_RV mock_C_Initialize (CK_VOID_PTR pInitArgs);
31 CK_RV mock_C_Finalize (CK_VOID_PTR pReserved);
33 CK_RV mock_C_GetInfo (CK_INFO_PTR pInfo);
35 CK_RV mock_C_GetFunctionList (CK_FUNCTION_LIST_PTR_PTR list);
37 CK_RV mock_C_GetSlotList (CK_BBOOL tokenPresent,
38 CK_SLOT_ID_PTR pSlotList,
39 CK_ULONG_PTR pulCount);
41 CK_RV mock_C_GetSlotInfo (CK_SLOT_ID slotID,
42 CK_SLOT_INFO_PTR pInfo);
44 CK_RV mock_C_GetTokenInfo (CK_SLOT_ID slotID,
45 CK_TOKEN_INFO_PTR pInfo);
47 CK_RV mock_C_GetMechanismList (CK_SLOT_ID slotID,
48 CK_MECHANISM_TYPE_PTR pMechanismList,
49 CK_ULONG_PTR pulCount);
51 CK_RV mock_C_GetMechanismInfo (CK_SLOT_ID slotID,
52 CK_MECHANISM_TYPE type,
53 CK_MECHANISM_INFO_PTR pInfo);
55 CK_RV mock_unsupported_C_InitToken (CK_SLOT_ID slotID,
56 CK_UTF8CHAR_PTR pPin,
57 CK_ULONG ulPinLen,
58 CK_UTF8CHAR_PTR pLabel);
60 CK_RV mock_unsupported_C_WaitForSlotEvent (CK_FLAGS flags,
61 CK_SLOT_ID_PTR pSlot,
62 CK_VOID_PTR pReserved);
64 CK_RV mock_C_OpenSession (CK_SLOT_ID slotID,
65 CK_FLAGS flags,
66 CK_VOID_PTR pApplication,
67 CK_NOTIFY Notify,
68 CK_SESSION_HANDLE_PTR phSession);
70 CK_RV mock_C_CloseSession (CK_SESSION_HANDLE hSession);
72 CK_RV mock_C_CloseAllSessions (CK_SLOT_ID slotID);
74 CK_RV mock_C_GetFunctionStatus (CK_SESSION_HANDLE hSession);
76 CK_RV mock_C_CancelFunction (CK_SESSION_HANDLE hSession);
78 CK_RV mock_C_GetSessionInfo (CK_SESSION_HANDLE hSession,
79 CK_SESSION_INFO_PTR pInfo);
81 CK_RV mock_unsupported_C_InitPIN (CK_SESSION_HANDLE hSession,
82 CK_UTF8CHAR_PTR pPin,
83 CK_ULONG ulPinLen);
85 CK_RV mock_unsupported_C_SetPIN (CK_SESSION_HANDLE hSession,
86 CK_UTF8CHAR_PTR pOldPin,
87 CK_ULONG ulOldLen,
88 CK_UTF8CHAR_PTR pNewPin,
89 CK_ULONG ulNewLen);
91 CK_RV mock_unsupported_C_GetOperationState (CK_SESSION_HANDLE hSession,
92 CK_BYTE_PTR pOperationState,
93 CK_ULONG_PTR pulOperationStateLen);
95 CK_RV mock_unsupported_C_SetOperationState (CK_SESSION_HANDLE hSession,
96 CK_BYTE_PTR pOperationState,
97 CK_ULONG ulOperationStateLen,
98 CK_OBJECT_HANDLE hEncryptionKey,
99 CK_OBJECT_HANDLE hAuthenticationKey);
101 CK_RV mock_unsupported_C_Login (CK_SESSION_HANDLE hSession,
102 CK_USER_TYPE userType,
103 CK_UTF8CHAR_PTR pPin,
104 CK_ULONG pPinLen);
106 CK_RV mock_unsupported_C_Logout (CK_SESSION_HANDLE hSession);
108 CK_RV mock_readonly_C_CreateObject (CK_SESSION_HANDLE hSession,
109 CK_ATTRIBUTE_PTR pTemplate,
110 CK_ULONG ulCount,
111 CK_OBJECT_HANDLE_PTR phObject);
113 CK_RV mock_unsupported_C_CopyObject (CK_SESSION_HANDLE hSession,
114 CK_OBJECT_HANDLE hObject,
115 CK_ATTRIBUTE_PTR pTemplate,
116 CK_ULONG ulCount,
117 CK_OBJECT_HANDLE_PTR phNewObject);
119 CK_RV mock_readonly_C_DestroyObject (CK_SESSION_HANDLE hSession,
120 CK_OBJECT_HANDLE hObject);
122 CK_RV mock_unsupported_C_GetObjectSize (CK_SESSION_HANDLE hSession,
123 CK_OBJECT_HANDLE hObject,
124 CK_ULONG_PTR pulSize);
126 CK_RV mock_C_GetAttributeValue (CK_SESSION_HANDLE hSession,
127 CK_OBJECT_HANDLE hObject,
128 CK_ATTRIBUTE_PTR pTemplate,
129 CK_ULONG ulCount);
131 CK_RV mock_readonly_C_SetAttributeValue (CK_SESSION_HANDLE hSession,
132 CK_OBJECT_HANDLE hObject,
133 CK_ATTRIBUTE_PTR pTemplate,
134 CK_ULONG ulCount);
136 CK_RV mock_C_FindObjectsInit (CK_SESSION_HANDLE hSession,
137 CK_ATTRIBUTE_PTR pTemplate,
138 CK_ULONG ulCount);
140 CK_RV mock_C_FindObjects (CK_SESSION_HANDLE hSession,
141 CK_OBJECT_HANDLE_PTR phObject,
142 CK_ULONG ulMaxObjectCount,
143 CK_ULONG_PTR pulObjectCount);
145 CK_RV mock_fail_C_FindObjects (CK_SESSION_HANDLE hSession,
146 CK_OBJECT_HANDLE_PTR phObject,
147 CK_ULONG ulMaxObjectCount,
148 CK_ULONG_PTR pulObjectCount);
150 CK_RV mock_C_FindObjectsFinal (CK_SESSION_HANDLE hSession);
152 CK_RV mock_no_mechanisms_C_EncryptInit (CK_SESSION_HANDLE hSession,
153 CK_MECHANISM_PTR pMechanism,
154 CK_OBJECT_HANDLE hKey);
156 CK_RV mock_not_initialized_C_Encrypt (CK_SESSION_HANDLE hSession,
157 CK_BYTE_PTR pData,
158 CK_ULONG ulDataLen,
159 CK_BYTE_PTR pEncryptedData,
160 CK_ULONG_PTR pulEncryptedDataLen);
162 CK_RV mock_unsupported_C_EncryptUpdate (CK_SESSION_HANDLE hSession,
163 CK_BYTE_PTR pPart,
164 CK_ULONG ulPartLen,
165 CK_BYTE_PTR pEncryptedPart,
166 CK_ULONG_PTR pulEncryptedPartLen);
168 CK_RV mock_unsupported_C_EncryptFinal (CK_SESSION_HANDLE hSession,
169 CK_BYTE_PTR pLastEncryptedPart,
170 CK_ULONG_PTR pulLastEncryptedPartLen);
172 CK_RV mock_no_mechanisms_C_DecryptInit (CK_SESSION_HANDLE hSession,
173 CK_MECHANISM_PTR pMechanism,
174 CK_OBJECT_HANDLE hKey);
176 CK_RV mock_not_initialized_C_Decrypt (CK_SESSION_HANDLE hSession,
177 CK_BYTE_PTR pEncryptedData,
178 CK_ULONG ulEncryptedDataLen,
179 CK_BYTE_PTR pData,
180 CK_ULONG_PTR pulDataLen);
182 CK_RV mock_unsupported_C_DecryptUpdate (CK_SESSION_HANDLE hSession,
183 CK_BYTE_PTR pEncryptedPart,
184 CK_ULONG ulEncryptedPartLen,
185 CK_BYTE_PTR pPart,
186 CK_ULONG_PTR pulPartLen);
188 CK_RV mock_unsupported_C_DecryptFinal (CK_SESSION_HANDLE hSession,
189 CK_BYTE_PTR pLastPart,
190 CK_ULONG_PTR pulLastPartLen);
192 CK_RV mock_unsupported_C_DigestInit (CK_SESSION_HANDLE hSession,
193 CK_MECHANISM_PTR pMechanism);
195 CK_RV mock_unsupported_C_Digest (CK_SESSION_HANDLE hSession,
196 CK_BYTE_PTR pData,
197 CK_ULONG ulDataLen,
198 CK_BYTE_PTR pDigest,
199 CK_ULONG_PTR pulDigestLen);
201 CK_RV mock_unsupported_C_DigestUpdate (CK_SESSION_HANDLE hSession,
202 CK_BYTE_PTR pPart,
203 CK_ULONG ulPartLen);
205 CK_RV mock_unsupported_C_DigestKey (CK_SESSION_HANDLE hSession,
206 CK_OBJECT_HANDLE hKey);
208 CK_RV mock_unsupported_C_DigestFinal (CK_SESSION_HANDLE hSession,
209 CK_BYTE_PTR pDigest,
210 CK_ULONG_PTR pulDigestLen);
212 CK_RV mock_no_mechanisms_C_SignInit (CK_SESSION_HANDLE hSession,
213 CK_MECHANISM_PTR pMechanism,
214 CK_OBJECT_HANDLE hKey);
216 CK_RV mock_not_initialized_C_Sign (CK_SESSION_HANDLE hSession,
217 CK_BYTE_PTR pData,
218 CK_ULONG ulDataLen,
219 CK_BYTE_PTR pSignature,
220 CK_ULONG_PTR pulSignatureLen);
222 CK_RV mock_unsupported_C_SignUpdate (CK_SESSION_HANDLE hSession,
223 CK_BYTE_PTR pPart,
224 CK_ULONG ulPartLen);
226 CK_RV mock_unsupported_C_SignFinal (CK_SESSION_HANDLE hSession,
227 CK_BYTE_PTR pSignature,
228 CK_ULONG_PTR pulSignatureLen);
230 CK_RV mock_unsupported_C_SignRecoverInit (CK_SESSION_HANDLE hSession,
231 CK_MECHANISM_PTR pMechanism,
232 CK_OBJECT_HANDLE hKey);
234 CK_RV mock_unsupported_C_SignRecover (CK_SESSION_HANDLE hSession,
235 CK_BYTE_PTR pData,
236 CK_ULONG ulDataLen,
237 CK_BYTE_PTR pSignature,
238 CK_ULONG_PTR pulSignatureLen);
240 CK_RV mock_no_mechanisms_C_VerifyInit (CK_SESSION_HANDLE hSession,
241 CK_MECHANISM_PTR pMechanism,
242 CK_OBJECT_HANDLE hKey);
244 CK_RV mock_not_initialized_C_Verify (CK_SESSION_HANDLE hSession,
245 CK_BYTE_PTR pData,
246 CK_ULONG ulDataLen,
247 CK_BYTE_PTR pSignature,
248 CK_ULONG ulSignatureLen);
250 CK_RV mock_unsupported_C_VerifyUpdate (CK_SESSION_HANDLE hSession,
251 CK_BYTE_PTR pPart,
252 CK_ULONG ulPartLen);
254 CK_RV mock_unsupported_C_VerifyFinal (CK_SESSION_HANDLE hSession,
255 CK_BYTE_PTR pSignature,
256 CK_ULONG pulSignatureLen);
258 CK_RV mock_unsupported_C_VerifyRecoverInit (CK_SESSION_HANDLE hSession,
259 CK_MECHANISM_PTR pMechanism,
260 CK_OBJECT_HANDLE hKey);
262 CK_RV mock_unsupported_C_VerifyRecover (CK_SESSION_HANDLE hSession,
263 CK_BYTE_PTR pSignature,
264 CK_ULONG pulSignatureLen,
265 CK_BYTE_PTR pData,
266 CK_ULONG_PTR pulDataLen);
268 CK_RV mock_unsupported_C_DigestEncryptUpdate (CK_SESSION_HANDLE hSession,
269 CK_BYTE_PTR pPart,
270 CK_ULONG ulPartLen,
271 CK_BYTE_PTR pEncryptedPart,
272 CK_ULONG_PTR ulEncryptedPartLen);
274 CK_RV mock_unsupported_C_DecryptDigestUpdate (CK_SESSION_HANDLE hSession,
275 CK_BYTE_PTR pEncryptedPart,
276 CK_ULONG ulEncryptedPartLen,
277 CK_BYTE_PTR pPart,
278 CK_ULONG_PTR pulPartLen);
280 CK_RV mock_unsupported_C_SignEncryptUpdate (CK_SESSION_HANDLE hSession,
281 CK_BYTE_PTR pPart,
282 CK_ULONG ulPartLen,
283 CK_BYTE_PTR pEncryptedPart,
284 CK_ULONG_PTR ulEncryptedPartLen);
286 CK_RV mock_unsupported_C_DecryptVerifyUpdate (CK_SESSION_HANDLE hSession,
287 CK_BYTE_PTR pEncryptedPart,
288 CK_ULONG ulEncryptedPartLen,
289 CK_BYTE_PTR pPart,
290 CK_ULONG_PTR pulPartLen);
292 CK_RV mock_unsupported_C_GenerateKey (CK_SESSION_HANDLE hSession,
293 CK_MECHANISM_PTR pMechanism,
294 CK_ATTRIBUTE_PTR pTemplate,
295 CK_ULONG ulCount,
296 CK_OBJECT_HANDLE_PTR phKey);
298 CK_RV mock_no_mechanisms_C_GenerateKeyPair (CK_SESSION_HANDLE hSession,
299 CK_MECHANISM_PTR pMechanism,
300 CK_ATTRIBUTE_PTR pPublicKeyTemplate,
301 CK_ULONG ulPublicKeyAttributeCount,
302 CK_ATTRIBUTE_PTR pPrivateKeyTemplate,
303 CK_ULONG ulPrivateKeyAttributeCount,
304 CK_OBJECT_HANDLE_PTR phPublicKey,
305 CK_OBJECT_HANDLE_PTR phPrivateKey);
307 CK_RV mock_no_mechanisms_C_WrapKey (CK_SESSION_HANDLE hSession,
308 CK_MECHANISM_PTR pMechanism,
309 CK_OBJECT_HANDLE hWrappingKey,
310 CK_OBJECT_HANDLE hKey,
311 CK_BYTE_PTR pWrappedKey,
312 CK_ULONG_PTR pulWrappedKeyLen);
314 CK_RV mock_no_mechanisms_C_UnwrapKey (CK_SESSION_HANDLE hSession,
315 CK_MECHANISM_PTR pMechanism,
316 CK_OBJECT_HANDLE pUnwrappingKey,
317 CK_BYTE_PTR pWrappedKey,
318 CK_ULONG pulWrappedKeyLen,
319 CK_ATTRIBUTE_PTR pTemplate,
320 CK_ULONG ulCount,
321 CK_OBJECT_HANDLE_PTR phKey);
323 CK_RV mock_no_mechanisms_C_DeriveKey (CK_SESSION_HANDLE hSession,
324 CK_MECHANISM_PTR pMechanism,
325 CK_OBJECT_HANDLE hBaseKey,
326 CK_ATTRIBUTE_PTR pTemplate,
327 CK_ULONG ulCount,
328 CK_OBJECT_HANDLE_PTR phKey);
330 CK_RV mock_unsupported_C_SeedRandom (CK_SESSION_HANDLE hSession,
331 CK_BYTE_PTR pSeed,
332 CK_ULONG ulSeedLen);
334 CK_RV mock_unsupported_C_GenerateRandom (CK_SESSION_HANDLE hSession,
335 CK_BYTE_PTR pRandomData,
336 CK_ULONG ulRandomLen);
338 CK_OBJECT_HANDLE mock_module_add_certificate (GcrCertificate *cert);
340 CK_OBJECT_HANDLE mock_module_add_assertion (GcrCertificate *cert,
341 CK_X_ASSERTION_TYPE assertion_type,
342 const gchar *purpose,
343 const gchar *peer);
345 #define MOCK_SLOT_ONE_ID 1
346 #define MOCK_SLOT_ONE_URI "pkcs11:manufacturer=MOCK%20MANUFACTURER;serial=MOCK%20SERIAL"
348 #endif /* MOCK_MODULE_H */