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 * NSSCKFWSession 56 * 57 */ 58 59 struct NSSCKFWSessionStr; 60 typedef struct NSSCKFWSessionStr NSSCKFWSession; 61 62 /* 63 * NSSCKFWObject 64 * 65 */ 66 67 struct NSSCKFWObjectStr; 68 typedef struct NSSCKFWObjectStr NSSCKFWObject; 69 70 /* 71 * NSSCKFWFindObjects 72 * 73 */ 74 75 struct NSSCKFWFindObjectsStr; 76 typedef struct NSSCKFWFindObjectsStr NSSCKFWFindObjects; 77 78 /* 79 * NSSCKFWMutex 80 * 81 */ 82 83 struct NSSCKFWMutexStr; 84 typedef struct NSSCKFWMutexStr NSSCKFWMutex; 85 86 typedef enum { 87 SingleThreaded, 88 MultiThreaded 89 } CryptokiLockingState; 90 91 /* used as an index into an array, make sure it starts at '0' */ 92 typedef enum { 93 NSSCKFWCryptoOperationState_EncryptDecrypt = 0, 94 NSSCKFWCryptoOperationState_SignVerify, 95 NSSCKFWCryptoOperationState_Digest, 96 NSSCKFWCryptoOperationState_Max 97 } NSSCKFWCryptoOperationState; 98 99 typedef enum { 100 NSSCKFWCryptoOperationType_Encrypt, 101 NSSCKFWCryptoOperationType_Decrypt, 102 NSSCKFWCryptoOperationType_Digest, 103 NSSCKFWCryptoOperationType_Sign, 104 NSSCKFWCryptoOperationType_Verify, 105 NSSCKFWCryptoOperationType_SignRecover, 106 NSSCKFWCryptoOperationType_VerifyRecover 107 } NSSCKFWCryptoOperationType; 108 109 #endif /* NSSCKFWT_H */ 110