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