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 NSSCKFWC_H andre@0: #define NSSCKFWC_H andre@0: andre@0: /* andre@0: * nssckfwc.h andre@0: * andre@0: * This file prototypes all of the NSS Cryptoki Framework "wrapper" andre@0: * which implement the PKCS#11 API. Technically, these are public andre@0: * routines (with capital "NSS" prefixes), since they are called andre@0: * from (generated) code within a Module using the Framework. andre@0: * However, they should not be called except from those generated andre@0: * calls. Hence, the prototypes have been split out into this file. andre@0: */ andre@0: andre@0: #ifndef NSSCKT_H andre@0: #include "nssckt.h" andre@0: #endif /* NSSCKT_H */ andre@0: andre@0: #ifndef NSSCKFWT_H andre@0: #include "nssckfwt.h" andre@0: #endif /* NSSCKFWT_H */ andre@0: andre@0: #ifndef NSSCKMDT_H andre@0: #include "nssckmdt.h" andre@0: #endif /* NSSCKMDT_H */ andre@0: andre@0: /* andre@0: * NSSCKFWC_Initialize andre@0: * NSSCKFWC_Finalize andre@0: * NSSCKFWC_GetInfo andre@0: * -- NSSCKFWC_GetFunctionList -- see the API insert file andre@0: * NSSCKFWC_GetSlotList andre@0: * NSSCKFWC_GetSlotInfo andre@0: * NSSCKFWC_GetTokenInfo andre@0: * NSSCKFWC_WaitForSlotEvent andre@0: * NSSCKFWC_GetMechanismList andre@0: * NSSCKFWC_GetMechanismInfo andre@0: * NSSCKFWC_InitToken andre@0: * NSSCKFWC_InitPIN andre@0: * NSSCKFWC_SetPIN andre@0: * NSSCKFWC_OpenSession andre@0: * NSSCKFWC_CloseSession andre@0: * NSSCKFWC_CloseAllSessions andre@0: * NSSCKFWC_GetSessionInfo andre@0: * NSSCKFWC_GetOperationState andre@0: * NSSCKFWC_SetOperationState andre@0: * NSSCKFWC_Login andre@0: * NSSCKFWC_Logout andre@0: * NSSCKFWC_CreateObject andre@0: * NSSCKFWC_CopyObject andre@0: * NSSCKFWC_DestroyObject andre@0: * NSSCKFWC_GetObjectSize andre@0: * NSSCKFWC_GetAttributeValue andre@0: * NSSCKFWC_SetAttributeValue andre@0: * NSSCKFWC_FindObjectsInit andre@0: * NSSCKFWC_FindObjects andre@0: * NSSCKFWC_FindObjectsFinal andre@0: * NSSCKFWC_EncryptInit andre@0: * NSSCKFWC_Encrypt andre@0: * NSSCKFWC_EncryptUpdate andre@0: * NSSCKFWC_EncryptFinal andre@0: * NSSCKFWC_DecryptInit andre@0: * NSSCKFWC_Decrypt andre@0: * NSSCKFWC_DecryptUpdate andre@0: * NSSCKFWC_DecryptFinal andre@0: * NSSCKFWC_DigestInit andre@0: * NSSCKFWC_Digest andre@0: * NSSCKFWC_DigestUpdate andre@0: * NSSCKFWC_DigestKey andre@0: * NSSCKFWC_DigestFinal andre@0: * NSSCKFWC_SignInit andre@0: * NSSCKFWC_Sign andre@0: * NSSCKFWC_SignUpdate andre@0: * NSSCKFWC_SignFinal andre@0: * NSSCKFWC_SignRecoverInit andre@0: * NSSCKFWC_SignRecover andre@0: * NSSCKFWC_VerifyInit andre@0: * NSSCKFWC_Verify andre@0: * NSSCKFWC_VerifyUpdate andre@0: * NSSCKFWC_VerifyFinal andre@0: * NSSCKFWC_VerifyRecoverInit andre@0: * NSSCKFWC_VerifyRecover andre@0: * NSSCKFWC_DigestEncryptUpdate andre@0: * NSSCKFWC_DecryptDigestUpdate andre@0: * NSSCKFWC_SignEncryptUpdate andre@0: * NSSCKFWC_DecryptVerifyUpdate andre@0: * NSSCKFWC_GenerateKey andre@0: * NSSCKFWC_GenerateKeyPair andre@0: * NSSCKFWC_WrapKey andre@0: * NSSCKFWC_UnwrapKey andre@0: * NSSCKFWC_DeriveKey andre@0: * NSSCKFWC_SeedRandom andre@0: * NSSCKFWC_GenerateRandom andre@0: * NSSCKFWC_GetFunctionStatus andre@0: * NSSCKFWC_CancelFunction andre@0: */ andre@0: andre@0: /* andre@0: * NSSCKFWC_Initialize andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_Initialize andre@0: ( andre@0: NSSCKFWInstance **pFwInstance, andre@0: NSSCKMDInstance *mdInstance, andre@0: CK_VOID_PTR pInitArgs andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_Finalize andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_Finalize andre@0: ( andre@0: NSSCKFWInstance **pFwInstance andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GetInfo andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GetInfo andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_INFO_PTR pInfo andre@0: ); andre@0: andre@0: /* andre@0: * C_GetFunctionList is implemented entirely in the Module's file which andre@0: * includes the Framework API insert file. It requires no "actual" andre@0: * NSSCKFW routine. andre@0: */ andre@0: andre@0: /* andre@0: * NSSCKFWC_GetSlotList andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GetSlotList andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_BBOOL tokenPresent, andre@0: CK_SLOT_ID_PTR pSlotList, andre@0: CK_ULONG_PTR pulCount andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GetSlotInfo andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GetSlotInfo andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SLOT_ID slotID, andre@0: CK_SLOT_INFO_PTR pInfo andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GetTokenInfo andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GetTokenInfo andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SLOT_ID slotID, andre@0: CK_TOKEN_INFO_PTR pInfo andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_WaitForSlotEvent andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_WaitForSlotEvent andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_FLAGS flags, andre@0: CK_SLOT_ID_PTR pSlot, andre@0: CK_VOID_PTR pReserved andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GetMechanismList andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GetMechanismList andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SLOT_ID slotID, andre@0: CK_MECHANISM_TYPE_PTR pMechanismList, andre@0: CK_ULONG_PTR pulCount andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GetMechanismInfo andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GetMechanismInfo andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SLOT_ID slotID, andre@0: CK_MECHANISM_TYPE type, andre@0: CK_MECHANISM_INFO_PTR pInfo andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_InitToken andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_InitToken andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SLOT_ID slotID, andre@0: CK_CHAR_PTR pPin, andre@0: CK_ULONG ulPinLen, andre@0: CK_CHAR_PTR pLabel andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_InitPIN andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_InitPIN andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_CHAR_PTR pPin, andre@0: CK_ULONG ulPinLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_SetPIN andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_SetPIN andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_CHAR_PTR pOldPin, andre@0: CK_ULONG ulOldLen, andre@0: CK_CHAR_PTR pNewPin, andre@0: CK_ULONG ulNewLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_OpenSession andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_OpenSession andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SLOT_ID slotID, andre@0: CK_FLAGS flags, andre@0: CK_VOID_PTR pApplication, andre@0: CK_NOTIFY Notify, andre@0: CK_SESSION_HANDLE_PTR phSession andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_CloseSession andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_CloseSession andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_CloseAllSessions andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_CloseAllSessions andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SLOT_ID slotID andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GetSessionInfo andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GetSessionInfo andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_SESSION_INFO_PTR pInfo andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GetOperationState andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GetOperationState andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pOperationState, andre@0: CK_ULONG_PTR pulOperationStateLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_SetOperationState andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_SetOperationState andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pOperationState, andre@0: CK_ULONG ulOperationStateLen, andre@0: CK_OBJECT_HANDLE hEncryptionKey, andre@0: CK_OBJECT_HANDLE hAuthenticationKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_Login andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_Login andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_USER_TYPE userType, andre@0: CK_CHAR_PTR pPin, andre@0: CK_ULONG ulPinLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_Logout andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_Logout andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_CreateObject andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_CreateObject andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_ATTRIBUTE_PTR pTemplate, andre@0: CK_ULONG ulCount, andre@0: CK_OBJECT_HANDLE_PTR phObject andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_CopyObject andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_CopyObject andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_OBJECT_HANDLE hObject, andre@0: CK_ATTRIBUTE_PTR pTemplate, andre@0: CK_ULONG ulCount, andre@0: CK_OBJECT_HANDLE_PTR phNewObject andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DestroyObject andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DestroyObject andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_OBJECT_HANDLE hObject andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GetObjectSize andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GetObjectSize andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_OBJECT_HANDLE hObject, andre@0: CK_ULONG_PTR pulSize andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GetAttributeValue andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GetAttributeValue andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_OBJECT_HANDLE hObject, andre@0: CK_ATTRIBUTE_PTR pTemplate, andre@0: CK_ULONG ulCount andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_SetAttributeValue andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_SetAttributeValue andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_OBJECT_HANDLE hObject, andre@0: CK_ATTRIBUTE_PTR pTemplate, andre@0: CK_ULONG ulCount andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_FindObjectsInit andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_FindObjectsInit andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_ATTRIBUTE_PTR pTemplate, andre@0: CK_ULONG ulCount andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_FindObjects andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_FindObjects andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_OBJECT_HANDLE_PTR phObject, andre@0: CK_ULONG ulMaxObjectCount, andre@0: CK_ULONG_PTR pulObjectCount andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_FindObjectsFinal andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_FindObjectsFinal andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_EncryptInit andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_EncryptInit andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism, andre@0: CK_OBJECT_HANDLE hKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_Encrypt andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_Encrypt andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pData, andre@0: CK_ULONG ulDataLen, andre@0: CK_BYTE_PTR pEncryptedData, andre@0: CK_ULONG_PTR pulEncryptedDataLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_EncryptUpdate andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_EncryptUpdate andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pPart, andre@0: CK_ULONG ulPartLen, andre@0: CK_BYTE_PTR pEncryptedPart, andre@0: CK_ULONG_PTR pulEncryptedPartLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_EncryptFinal andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_EncryptFinal andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pLastEncryptedPart, andre@0: CK_ULONG_PTR pulLastEncryptedPartLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DecryptInit andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DecryptInit andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism, andre@0: CK_OBJECT_HANDLE hKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_Decrypt andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_Decrypt andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pEncryptedData, andre@0: CK_ULONG ulEncryptedDataLen, andre@0: CK_BYTE_PTR pData, andre@0: CK_ULONG_PTR pulDataLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DecryptUpdate andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DecryptUpdate andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pEncryptedPart, andre@0: CK_ULONG ulEncryptedPartLen, andre@0: CK_BYTE_PTR pPart, andre@0: CK_ULONG_PTR pulPartLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DecryptFinal andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DecryptFinal andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pLastPart, andre@0: CK_ULONG_PTR pulLastPartLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DigestInit andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DigestInit andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_Digest andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_Digest andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pData, andre@0: CK_ULONG ulDataLen, andre@0: CK_BYTE_PTR pDigest, andre@0: CK_ULONG_PTR pulDigestLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DigestUpdate andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DigestUpdate andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pData, andre@0: CK_ULONG ulDataLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DigestKey andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DigestKey andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_OBJECT_HANDLE hKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DigestFinal andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DigestFinal andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pDigest, andre@0: CK_ULONG_PTR pulDigestLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_SignInit andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_SignInit andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism, andre@0: CK_OBJECT_HANDLE hKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_Sign andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_Sign andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pData, andre@0: CK_ULONG ulDataLen, andre@0: CK_BYTE_PTR pSignature, andre@0: CK_ULONG_PTR pulSignatureLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_SignUpdate andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_SignUpdate andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pPart, andre@0: CK_ULONG ulPartLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_SignFinal andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_SignFinal andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pSignature, andre@0: CK_ULONG_PTR pulSignatureLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_SignRecoverInit andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_SignRecoverInit andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism, andre@0: CK_OBJECT_HANDLE hKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_SignRecover andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_SignRecover andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pData, andre@0: CK_ULONG ulDataLen, andre@0: CK_BYTE_PTR pSignature, andre@0: CK_ULONG_PTR pulSignatureLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_VerifyInit andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_VerifyInit andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism, andre@0: CK_OBJECT_HANDLE hKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_Verify andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_Verify andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pData, andre@0: CK_ULONG ulDataLen, andre@0: CK_BYTE_PTR pSignature, andre@0: CK_ULONG ulSignatureLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_VerifyUpdate andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_VerifyUpdate andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pPart, andre@0: CK_ULONG ulPartLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_VerifyFinal andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_VerifyFinal andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pSignature, andre@0: CK_ULONG ulSignatureLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_VerifyRecoverInit andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_VerifyRecoverInit andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism, andre@0: CK_OBJECT_HANDLE hKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_VerifyRecover andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_VerifyRecover andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pSignature, andre@0: CK_ULONG ulSignatureLen, andre@0: CK_BYTE_PTR pData, andre@0: CK_ULONG_PTR pulDataLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DigestEncryptUpdate andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DigestEncryptUpdate andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pPart, andre@0: CK_ULONG ulPartLen, andre@0: CK_BYTE_PTR pEncryptedPart, andre@0: CK_ULONG_PTR pulEncryptedPartLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DecryptDigestUpdate andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DecryptDigestUpdate andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pEncryptedPart, andre@0: CK_ULONG ulEncryptedPartLen, andre@0: CK_BYTE_PTR pPart, andre@0: CK_ULONG_PTR pulPartLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_SignEncryptUpdate andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_SignEncryptUpdate andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pPart, andre@0: CK_ULONG ulPartLen, andre@0: CK_BYTE_PTR pEncryptedPart, andre@0: CK_ULONG_PTR pulEncryptedPartLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DecryptVerifyUpdate andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DecryptVerifyUpdate andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pEncryptedPart, andre@0: CK_ULONG ulEncryptedPartLen, andre@0: CK_BYTE_PTR pPart, andre@0: CK_ULONG_PTR pulPartLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GenerateKey andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GenerateKey andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism, andre@0: CK_ATTRIBUTE_PTR pTemplate, andre@0: CK_ULONG ulCount, andre@0: CK_OBJECT_HANDLE_PTR phKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GenerateKeyPair andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GenerateKeyPair andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism, andre@0: CK_ATTRIBUTE_PTR pPublicKeyTemplate, andre@0: CK_ULONG ulPublicKeyAttributeCount, andre@0: CK_ATTRIBUTE_PTR pPrivateKeyTemplate, andre@0: CK_ULONG ulPrivateKeyAttributeCount, andre@0: CK_OBJECT_HANDLE_PTR phPublicKey, andre@0: CK_OBJECT_HANDLE_PTR phPrivateKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_WrapKey andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_WrapKey andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism, andre@0: CK_OBJECT_HANDLE hWrappingKey, andre@0: CK_OBJECT_HANDLE hKey, andre@0: CK_BYTE_PTR pWrappedKey, andre@0: CK_ULONG_PTR pulWrappedKeyLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_UnwrapKey andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_UnwrapKey andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism, andre@0: CK_OBJECT_HANDLE hUnwrappingKey, andre@0: CK_BYTE_PTR pWrappedKey, andre@0: CK_ULONG ulWrappedKeyLen, andre@0: CK_ATTRIBUTE_PTR pTemplate, andre@0: CK_ULONG ulAttributeCount, andre@0: CK_OBJECT_HANDLE_PTR phKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_DeriveKey andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_DeriveKey andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_MECHANISM_PTR pMechanism, andre@0: CK_OBJECT_HANDLE hBaseKey, andre@0: CK_ATTRIBUTE_PTR pTemplate, andre@0: CK_ULONG ulAttributeCount, andre@0: CK_OBJECT_HANDLE_PTR phKey andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_SeedRandom andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_SeedRandom andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pSeed, andre@0: CK_ULONG ulSeedLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GenerateRandom andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GenerateRandom andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession, andre@0: CK_BYTE_PTR pRandomData, andre@0: CK_ULONG ulRandomLen andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_GetFunctionStatus andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_GetFunctionStatus andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession andre@0: ); andre@0: andre@0: /* andre@0: * NSSCKFWC_CancelFunction andre@0: * andre@0: */ andre@0: NSS_EXTERN CK_RV andre@0: NSSCKFWC_CancelFunction andre@0: ( andre@0: NSSCKFWInstance *fwInstance, andre@0: CK_SESSION_HANDLE hSession andre@0: ); andre@0: andre@0: #endif /* NSSCKFWC_H */