|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 #ifndef NSSCKFWT_H |
|
6 #define NSSCKFWT_H |
|
7 |
|
8 /* |
|
9 * nssckfwt.h |
|
10 * |
|
11 * This file declares the public types used by the NSS Cryptoki Framework. |
|
12 */ |
|
13 |
|
14 /* |
|
15 * NSSCKFWInstance |
|
16 * |
|
17 */ |
|
18 |
|
19 struct NSSCKFWInstanceStr; |
|
20 typedef struct NSSCKFWInstanceStr NSSCKFWInstance; |
|
21 |
|
22 /* |
|
23 * NSSCKFWSlot |
|
24 * |
|
25 */ |
|
26 |
|
27 struct NSSCKFWSlotStr; |
|
28 typedef struct NSSCKFWSlotStr NSSCKFWSlot; |
|
29 |
|
30 /* |
|
31 * NSSCKFWToken |
|
32 * |
|
33 */ |
|
34 |
|
35 struct NSSCKFWTokenStr; |
|
36 typedef struct NSSCKFWTokenStr NSSCKFWToken; |
|
37 |
|
38 /* |
|
39 * NSSCKFWMechanism |
|
40 * |
|
41 */ |
|
42 |
|
43 struct NSSCKFWMechanismStr; |
|
44 typedef struct NSSCKFWMechanismStr NSSCKFWMechanism; |
|
45 |
|
46 /* |
|
47 * NSSCKFWCryptoOperation |
|
48 * |
|
49 */ |
|
50 |
|
51 struct NSSCKFWCryptoOperationStr; |
|
52 typedef struct NSSCKFWCryptoOperationStr NSSCKFWCryptoOperation; |
|
53 |
|
54 |
|
55 /* |
|
56 * NSSCKFWSession |
|
57 * |
|
58 */ |
|
59 |
|
60 struct NSSCKFWSessionStr; |
|
61 typedef struct NSSCKFWSessionStr NSSCKFWSession; |
|
62 |
|
63 /* |
|
64 * NSSCKFWObject |
|
65 * |
|
66 */ |
|
67 |
|
68 struct NSSCKFWObjectStr; |
|
69 typedef struct NSSCKFWObjectStr NSSCKFWObject; |
|
70 |
|
71 /* |
|
72 * NSSCKFWFindObjects |
|
73 * |
|
74 */ |
|
75 |
|
76 struct NSSCKFWFindObjectsStr; |
|
77 typedef struct NSSCKFWFindObjectsStr NSSCKFWFindObjects; |
|
78 |
|
79 /* |
|
80 * NSSCKFWMutex |
|
81 * |
|
82 */ |
|
83 |
|
84 struct NSSCKFWMutexStr; |
|
85 typedef struct NSSCKFWMutexStr NSSCKFWMutex; |
|
86 |
|
87 typedef enum { |
|
88 SingleThreaded, |
|
89 MultiThreaded |
|
90 } CryptokiLockingState ; |
|
91 |
|
92 /* used as an index into an array, make sure it starts at '0' */ |
|
93 typedef enum { |
|
94 NSSCKFWCryptoOperationState_EncryptDecrypt = 0, |
|
95 NSSCKFWCryptoOperationState_SignVerify, |
|
96 NSSCKFWCryptoOperationState_Digest, |
|
97 NSSCKFWCryptoOperationState_Max |
|
98 } NSSCKFWCryptoOperationState; |
|
99 |
|
100 typedef enum { |
|
101 NSSCKFWCryptoOperationType_Encrypt, |
|
102 NSSCKFWCryptoOperationType_Decrypt, |
|
103 NSSCKFWCryptoOperationType_Digest, |
|
104 NSSCKFWCryptoOperationType_Sign, |
|
105 NSSCKFWCryptoOperationType_Verify, |
|
106 NSSCKFWCryptoOperationType_SignRecover, |
|
107 NSSCKFWCryptoOperationType_VerifyRecover |
|
108 } NSSCKFWCryptoOperationType; |
|
109 |
|
110 #endif /* NSSCKFWT_H */ |