andre@0: /* This Source Code Form is subject to the terms of the Mozilla Public andre@0: * License, v. 2.0. If a copy of the MPL was not distributed with this andre@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ andre@0: andre@0: #ifndef NSSCKFWT_H andre@0: #define NSSCKFWT_H andre@0: andre@0: /* andre@0: * nssckfwt.h andre@0: * andre@0: * This file declares the public types used by the NSS Cryptoki Framework. andre@0: */ andre@0: andre@0: /* andre@0: * NSSCKFWInstance andre@0: * andre@0: */ andre@0: andre@0: struct NSSCKFWInstanceStr; andre@0: typedef struct NSSCKFWInstanceStr NSSCKFWInstance; andre@0: andre@0: /* andre@0: * NSSCKFWSlot andre@0: * andre@0: */ andre@0: andre@0: struct NSSCKFWSlotStr; andre@0: typedef struct NSSCKFWSlotStr NSSCKFWSlot; andre@0: andre@0: /* andre@0: * NSSCKFWToken andre@0: * andre@0: */ andre@0: andre@0: struct NSSCKFWTokenStr; andre@0: typedef struct NSSCKFWTokenStr NSSCKFWToken; andre@0: andre@0: /* andre@0: * NSSCKFWMechanism andre@0: * andre@0: */ andre@0: andre@0: struct NSSCKFWMechanismStr; andre@0: typedef struct NSSCKFWMechanismStr NSSCKFWMechanism; andre@0: andre@0: /* andre@0: * NSSCKFWCryptoOperation andre@0: * andre@0: */ andre@0: andre@0: struct NSSCKFWCryptoOperationStr; andre@0: typedef struct NSSCKFWCryptoOperationStr NSSCKFWCryptoOperation; andre@0: andre@0: andre@0: /* andre@0: * NSSCKFWSession andre@0: * andre@0: */ andre@0: andre@0: struct NSSCKFWSessionStr; andre@0: typedef struct NSSCKFWSessionStr NSSCKFWSession; andre@0: andre@0: /* andre@0: * NSSCKFWObject andre@0: * andre@0: */ andre@0: andre@0: struct NSSCKFWObjectStr; andre@0: typedef struct NSSCKFWObjectStr NSSCKFWObject; andre@0: andre@0: /* andre@0: * NSSCKFWFindObjects andre@0: * andre@0: */ andre@0: andre@0: struct NSSCKFWFindObjectsStr; andre@0: typedef struct NSSCKFWFindObjectsStr NSSCKFWFindObjects; andre@0: andre@0: /* andre@0: * NSSCKFWMutex andre@0: * andre@0: */ andre@0: andre@0: struct NSSCKFWMutexStr; andre@0: typedef struct NSSCKFWMutexStr NSSCKFWMutex; andre@0: andre@0: typedef enum { andre@0: SingleThreaded, andre@0: MultiThreaded andre@0: } CryptokiLockingState ; andre@0: andre@0: /* used as an index into an array, make sure it starts at '0' */ andre@0: typedef enum { andre@0: NSSCKFWCryptoOperationState_EncryptDecrypt = 0, andre@0: NSSCKFWCryptoOperationState_SignVerify, andre@0: NSSCKFWCryptoOperationState_Digest, andre@0: NSSCKFWCryptoOperationState_Max andre@0: } NSSCKFWCryptoOperationState; andre@0: andre@0: typedef enum { andre@0: NSSCKFWCryptoOperationType_Encrypt, andre@0: NSSCKFWCryptoOperationType_Decrypt, andre@0: NSSCKFWCryptoOperationType_Digest, andre@0: NSSCKFWCryptoOperationType_Sign, andre@0: NSSCKFWCryptoOperationType_Verify, andre@0: NSSCKFWCryptoOperationType_SignRecover, andre@0: NSSCKFWCryptoOperationType_VerifyRecover andre@0: } NSSCKFWCryptoOperationType; andre@0: andre@0: #endif /* NSSCKFWT_H */