gecko-dev/security/nss/lib/ckfw/ckfw.h

1859 строки
28 KiB
C

/*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is the Netscape security libraries.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU General Public License Version 2 or later (the
* "GPL"), in which case the provisions of the GPL are applicable
* instead of those above. If you wish to allow use of your
* version of this file only under the terms of the GPL and not to
* allow others to use your version of this file under the MPL,
* indicate your decision by deleting the provisions above and
* replace them with the notice and other provisions required by
* the GPL. If you do not delete the provisions above, a recipient
* may use your version of this file under either the MPL or the
* GPL.
*/
#ifndef CKFW_H
#define CKFW_H
#ifdef DEBUG
static const char CKFW_CVS_ID[] = "@(#) $RCSfile: ckfw.h,v $ $Revision: 1.3 $ $Date: 2000/05/16 01:54:45 $ $Name: $";
#endif /* DEBUG */
/*
* ckfw.h
*
* This file prototypes the private calls of the NSS Cryptoki Framework.
*/
#ifndef NSSBASET_H
#include "nssbaset.h"
#endif /* NSSBASET_H */
#ifndef NSSCKT_H
#include "nssckt.h"
#endif /* NSSCKT_H */
#ifndef NSSCKFWT_H
#include "nssckfwt.h"
#endif /* NSSCKFWT_H */
#ifndef NSSCKMDT_H
#include "nssckmdt.h"
#endif /* NSSCKMDT_H */
/*
* NSSCKFWInstance
*
* -- create/destroy --
* nssCKFWInstance_Create
* nssCKFWInstance_Destroy
*
* -- implement public accessors --
* nssCKFWInstance_GetMDInstance
* nssCKFWInstance_GetArena
* nssCKFWInstance_MayCreatePthreads
* nssCKFWInstance_CreateMutex
* nssCKFWInstance_GetConfigurationData
*
* -- private accessors --
* nssCKFWInstance_CreateSessionHandle
* nssCKFWInstance_ResolveSessionHandle
* nssCKFWInstance_DestroySessionHandle
* nssCKFWInstance_FindSessionHandle
* nssCKFWInstance_CreateObjectHandle
* nssCKFWInstance_ResolveObjectHandle
* nssCKFWInstance_DestroyObjectHandle
* nssCKFWInstance_FindObjectHandle
*
* -- module fronts --
* nssCKFWInstance_GetNSlots
* nssCKFWInstance_GetCryptokiVersion
* nssCKFWInstance_GetManufacturerID
* nssCKFWInstance_GetFlags
* nssCKFWInstance_GetLibraryDescription
* nssCKFWInstance_GetLibraryVersion
* nssCKFWInstance_GetModuleHandlesSessionObjects
* nssCKFWInstance_GetSlots
* nssCKFWInstance_WaitForSlotEvent
*
* -- debugging versions only --
* nssCKFWInstance_verifyPointer
*/
/*
* nssCKFWInstance_Create
*
*/
NSS_EXTERN NSSCKFWInstance *
nssCKFWInstance_Create
(
CK_C_INITIALIZE_ARGS_PTR pInitArgs,
NSSCKMDInstance *mdInstance,
CK_RV *pError
);
/*
* nssCKFWInstance_Destroy
*
*/
NSS_EXTERN CK_RV
nssCKFWInstance_Destroy
(
NSSCKFWInstance *fwInstance
);
/*
* nssCKFWInstance_GetMDInstance
*
*/
NSS_EXTERN NSSCKMDInstance *
nssCKFWInstance_GetMDInstance
(
NSSCKFWInstance *fwInstance
);
/*
* nssCKFWInstance_GetArena
*
*/
NSS_EXTERN NSSArena *
nssCKFWInstance_GetArena
(
NSSCKFWInstance *fwInstance,
CK_RV *pError
);
/*
* nssCKFWInstance_MayCreatePthreads
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWInstance_MayCreatePthreads
(
NSSCKFWInstance *fwInstance
);
/*
* nssCKFWInstance_CreateMutex
*
*/
NSS_EXTERN NSSCKFWMutex *
nssCKFWInstance_CreateMutex
(
NSSCKFWInstance *fwInstance,
NSSArena *arena,
CK_RV *pError
);
/*
* nssCKFWInstance_GetConfigurationData
*
*/
NSS_EXTERN NSSUTF8 *
nssCKFWInstance_GetConfigurationData
(
NSSCKFWInstance *fwInstance
);
/*
* nssCKFWInstance_CreateSessionHandle
*
*/
NSS_EXTERN CK_SESSION_HANDLE
nssCKFWInstance_CreateSessionHandle
(
NSSCKFWInstance *fwInstance,
NSSCKFWSession *fwSession,
CK_RV *pError
);
/*
* nssCKFWInstance_ResolveSessionHandle
*
*/
NSS_EXTERN NSSCKFWSession *
nssCKFWInstance_ResolveSessionHandle
(
NSSCKFWInstance *fwInstance,
CK_SESSION_HANDLE hSession
);
/*
* nssCKFWInstance_DestroySessionHandle
*
*/
NSS_EXTERN void
nssCKFWInstance_DestroySessionHandle
(
NSSCKFWInstance *fwInstance,
CK_SESSION_HANDLE hSession
);
/*
* nssCKFWInstance_FindSessionHandle
*
*/
NSS_EXTERN CK_SESSION_HANDLE
nssCKFWInstance_FindSessionHandle
(
NSSCKFWInstance *fwInstance,
NSSCKFWSession *fwSession
);
/*
* nssCKFWInstance_CreateObjectHandle
*
*/
NSS_EXTERN CK_OBJECT_HANDLE
nssCKFWInstance_CreateObjectHandle
(
NSSCKFWInstance *fwInstance,
NSSCKFWObject *fwObject,
CK_RV *pError
);
/*
* nssCKFWInstance_FindObjectHandle
*
*/
NSS_EXTERN CK_OBJECT_HANDLE
nssCKFWInstance_FindObjectHandle
(
NSSCKFWInstance *fwInstance,
NSSCKFWObject *fwObject
);
/*
* nssCKFWInstance_ResolveObjectHandle
*
*/
NSS_EXTERN NSSCKFWObject *
nssCKFWInstance_ResolveObjectHandle
(
NSSCKFWInstance *fwInstance,
CK_OBJECT_HANDLE hObject
);
/*
* nssCKFWInstance_ReassignObjectHandle
*
*/
NSS_EXTERN CK_RV
nssCKFWInstance_ReassignObjectHandle
(
NSSCKFWInstance *fwInstance,
CK_OBJECT_HANDLE hObject,
NSSCKFWObject *fwObject
);
/*
* nssCKFWInstance_DestroyObjectHandle
*
*/
NSS_EXTERN void
nssCKFWInstance_DestroyObjectHandle
(
NSSCKFWInstance *fwInstance,
CK_OBJECT_HANDLE hObject
);
/*
* nssCKFWInstance_FindObjectHandle
*
*/
NSS_IMPLEMENT CK_OBJECT_HANDLE
nssCKFWInstance_FindObjectHandle
(
NSSCKFWInstance *fwInstance,
NSSCKFWObject *fwObject
);
/*
* nssCKFWInstance_GetNSlots
*
*/
NSS_EXTERN CK_ULONG
nssCKFWInstance_GetNSlots
(
NSSCKFWInstance *fwInstance,
CK_RV *pError
);
/*
* nssCKFWInstance_GetCryptokiVersion
*
*/
NSS_EXTERN CK_VERSION
nssCKFWInstance_GetCryptokiVersion
(
NSSCKFWInstance *fwInstance
);
/*
* nssCKFWInstance_GetManufacturerID
*
*/
NSS_EXTERN CK_RV
nssCKFWInstance_GetManufacturerID
(
NSSCKFWInstance *fwInstance,
CK_CHAR manufacturerID[32]
);
/*
* nssCKFWInstance_GetFlags
*
*/
NSS_EXTERN CK_ULONG
nssCKFWInstance_GetFlags
(
NSSCKFWInstance *fwInstance
);
/*
* nssCKFWInstance_GetLibraryDescription
*
*/
NSS_EXTERN CK_RV
nssCKFWInstance_GetLibraryDescription
(
NSSCKFWInstance *fwInstance,
CK_CHAR libraryDescription[32]
);
/*
* nssCKFWInstance_GetLibraryVersion
*
*/
NSS_EXTERN CK_VERSION
nssCKFWInstance_GetLibraryVersion
(
NSSCKFWInstance *fwInstance
);
/*
* nssCKFWInstance_GetModuleHandlesSessionObjects
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWInstance_GetModuleHandlesSessionObjects
(
NSSCKFWInstance *fwInstance
);
/*
* nssCKFWInstance_GetSlots
*
*/
NSS_EXTERN NSSCKFWSlot **
nssCKFWInstance_GetSlots
(
NSSCKFWInstance *fwInstance,
CK_RV *pError
);
/*
* nssCKFWInstance_WaitForSlotEvent
*
*/
NSS_EXTERN NSSCKFWSlot *
nssCKFWInstance_WaitForSlotEvent
(
NSSCKFWInstance *fwInstance,
CK_BBOOL block,
CK_RV *pError
);
/*
* nssCKFWInstance_verifyPointer
*
*/
NSS_EXTERN CK_RV
nssCKFWInstance_verifyPointer
(
const NSSCKFWInstance *fwInstance
);
/*
* NSSCKFWSlot
*
* -- create/destroy --
* nssCKFWSlot_Create
* nssCKFWSlot_Destroy
*
* -- implement public accessors --
* nssCKFWSlot_GetMDSlot
* nssCKFWSlot_GetFWInstance
* nssCKFWSlot_GetMDInstance
*
* -- private accessors --
* nssCKFWSlot_GetSlotID
*
* -- module fronts --
* nssCKFWSlot_GetSlotDescription
* nssCKFWSlot_GetManufacturerID
* nssCKFWSlot_GetTokenPresent
* nssCKFWSlot_GetRemovableDevice
* nssCKFWSlot_GetHardwareSlot
* nssCKFWSlot_GetHardwareVersion
* nssCKFWSlot_GetFirmwareVersion
* nssCKFWSlot_GetToken
*/
/*
* nssCKFWSlot_Create
*
*/
NSS_EXTERN NSSCKFWSlot *
nssCKFWSlot_Create
(
NSSCKFWInstance *fwInstance,
NSSCKMDSlot *mdSlot,
CK_SLOT_ID slotID,
CK_RV *pError
);
/*
* nssCKFWSlot_Destroy
*
*/
NSS_EXTERN CK_RV
nssCKFWSlot_Destroy
(
NSSCKFWSlot *fwSlot
);
/*
* nssCKFWSlot_GetMDSlot
*
*/
NSS_EXTERN NSSCKMDSlot *
nssCKFWSlot_GetMDSlot
(
NSSCKFWSlot *fwSlot
);
/*
* nssCKFWSlot_GetFWInstance
*
*/
NSS_EXTERN NSSCKFWInstance *
nssCKFWSlot_GetFWInstance
(
NSSCKFWSlot *fwSlot
);
/*
* nssCKFWSlot_GetMDInstance
*
*/
NSS_EXTERN NSSCKMDInstance *
nssCKFWSlot_GetMDInstance
(
NSSCKFWSlot *fwSlot
);
/*
* nssCKFWSlot_GetSlotID
*
*/
NSS_EXTERN CK_SLOT_ID
nssCKFWSlot_GetSlotID
(
NSSCKFWSlot *fwSlot
);
/*
* nssCKFWSlot_GetSlotDescription
*
*/
NSS_EXTERN CK_RV
nssCKFWSlot_GetSlotDescription
(
NSSCKFWSlot *fwSlot,
CK_CHAR slotDescription[64]
);
/*
* nssCKFWSlot_GetManufacturerID
*
*/
NSS_EXTERN CK_RV
nssCKFWSlot_GetManufacturerID
(
NSSCKFWSlot *fwSlot,
CK_CHAR manufacturerID[32]
);
/*
* nssCKFWSlot_GetTokenPresent
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWSlot_GetTokenPresent
(
NSSCKFWSlot *fwSlot
);
/*
* nssCKFWSlot_GetRemovableDevice
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWSlot_GetRemovableDevice
(
NSSCKFWSlot *fwSlot
);
/*
* nssCKFWSlot_GetHardwareSlot
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWSlot_GetHardwareSlot
(
NSSCKFWSlot *fwSlot
);
/*
* nssCKFWSlot_GetHardwareVersion
*
*/
NSS_EXTERN CK_VERSION
nssCKFWSlot_GetHardwareVersion
(
NSSCKFWSlot *fwSlot
);
/*
* nssCKFWSlot_GetFirmwareVersion
*
*/
NSS_EXTERN CK_VERSION
nssCKFWSlot_GetFirmwareVersion
(
NSSCKFWSlot *fwSlot
);
/*
* nssCKFWSlot_GetToken
*
*/
NSS_EXTERN NSSCKFWToken *
nssCKFWSlot_GetToken
(
NSSCKFWSlot *fwSlot,
CK_RV *pError
);
/*
* nssCKFWSlot_ClearToken
*
*/
NSS_EXTERN void
nssCKFWSlot_ClearToken
(
NSSCKFWSlot *fwSlot
);
/*
* NSSCKFWToken
*
* -- create/destroy --
* nssCKFWToken_Create
* nssCKFWToken_Destroy
*
* -- implement public accessors --
* nssCKFWToken_GetMDToken
* nssCKFWToken_GetFWSlot
* nssCKFWToken_GetMDSlot
* nssCKFWToken_GetSessionState
*
* -- private accessors --
* nssCKFWToken_SetSessionState
* nssCKFWToken_RemoveSession
* nssCKFWToken_CloseAllSessions
* nssCKFWToken_GetSessionCount
* nssCKFWToken_GetRwSessionCount
* nssCKFWToken_GetRoSessionCount
* nssCKFWToken_GetSessionObjectHash
* nssCKFWToken_GetMDObjectHash
* nssCKFWToken_GetObjectHandleHash
*
* -- module fronts --
* nssCKFWToken_InitToken
* nssCKFWToken_GetLabel
* nssCKFWToken_GetManufacturerID
* nssCKFWToken_GetModel
* nssCKFWToken_GetSerialNumber
* nssCKFWToken_GetHasRNG
* nssCKFWToken_GetIsWriteProtected
* nssCKFWToken_GetLoginRequired
* nssCKFWToken_GetUserPinInitialized
* nssCKFWToken_GetRestoreKeyNotNeeded
* nssCKFWToken_GetHasClockOnToken
* nssCKFWToken_GetHasProtectedAuthenticationPath
* nssCKFWToken_GetSupportsDualCryptoOperations
* nssCKFWToken_GetMaxSessionCount
* nssCKFWToken_GetMaxRwSessionCount
* nssCKFWToken_GetMaxPinLen
* nssCKFWToken_GetMinPinLen
* nssCKFWToken_GetTotalPublicMemory
* nssCKFWToken_GetFreePublicMemory
* nssCKFWToken_GetTotalPrivateMemory
* nssCKFWToken_GetFreePrivateMemory
* nssCKFWToken_GetHardwareVersion
* nssCKFWToken_GetFirmwareVersion
* nssCKFWToken_GetUTCTime
* nssCKFWToken_OpenSession
* nssCKFWToken_GetMechanismCount
* nssCKFWToken_GetMechanismTypes
* nssCKFWToken_GetMechanism
*/
/*
* nssCKFWToken_Create
*
*/
NSS_EXTERN NSSCKFWToken *
nssCKFWToken_Create
(
NSSCKFWSlot *fwSlot,
NSSCKMDToken *mdToken,
CK_RV *pError
);
/*
* nssCKFWToken_Destroy
*
*/
NSS_EXTERN CK_RV
nssCKFWToken_Destroy
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetMDToken
*
*/
NSS_EXTERN NSSCKMDToken *
nssCKFWToken_GetMDToken
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetArena
*
*/
NSS_EXTERN NSSArena *
nssCKFWToken_GetArena
(
NSSCKFWToken *fwToken,
CK_RV *pError
);
/*
* nssCKFWToken_GetFWSlot
*
*/
NSS_EXTERN NSSCKFWSlot *
nssCKFWToken_GetFWSlot
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetMDSlot
*
*/
NSS_EXTERN NSSCKMDSlot *
nssCKFWToken_GetMDSlot
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetSessionState
*
*/
NSS_EXTERN CK_STATE
nssCKFWToken_GetSessionState
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_InitToken
*
*/
NSS_EXTERN CK_RV
nssCKFWToken_InitToken
(
NSSCKFWToken *fwToken,
NSSItem *pin,
NSSUTF8 *label
);
/*
* nssCKFWToken_GetLabel
*
*/
NSS_EXTERN CK_RV
nssCKFWToken_GetLabel
(
NSSCKFWToken *fwToken,
CK_CHAR label[32]
);
/*
* nssCKFWToken_GetManufacturerID
*
*/
NSS_EXTERN CK_RV
nssCKFWToken_GetManufacturerID
(
NSSCKFWToken *fwToken,
CK_CHAR manufacturerID[32]
);
/*
* nssCKFWToken_GetModel
*
*/
NSS_EXTERN CK_RV
nssCKFWToken_GetModel
(
NSSCKFWToken *fwToken,
CK_CHAR model[16]
);
/*
* nssCKFWToken_GetSerialNumber
*
*/
NSS_EXTERN CK_RV
nssCKFWToken_GetSerialNumber
(
NSSCKFWToken *fwToken,
CK_CHAR serialNumber[16]
);
/*
* nssCKFWToken_GetHasRNG
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWToken_GetHasRNG
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetIsWriteProtected
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWToken_GetIsWriteProtected
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetLoginRequired
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWToken_GetLoginRequired
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetUserPinInitialized
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWToken_GetUserPinInitialized
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetRestoreKeyNotNeeded
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWToken_GetRestoreKeyNotNeeded
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetHasClockOnToken
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWToken_GetHasClockOnToken
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetHasProtectedAuthenticationPath
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWToken_GetHasProtectedAuthenticationPath
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetSupportsDualCryptoOperations
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWToken_GetSupportsDualCryptoOperations
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetMaxSessionCount
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetMaxSessionCount
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetMaxRwSessionCount
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetMaxRwSessionCount
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetMaxPinLen
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetMaxPinLen
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetMinPinLen
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetMinPinLen
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetTotalPublicMemory
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetTotalPublicMemory
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetFreePublicMemory
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetFreePublicMemory
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetTotalPrivateMemory
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetTotalPrivateMemory
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetFreePrivateMemory
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetFreePrivateMemory
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetHardwareVersion
*
*/
NSS_EXTERN CK_VERSION
nssCKFWToken_GetHardwareVersion
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetFirmwareVersion
*
*/
NSS_EXTERN CK_VERSION
nssCKFWToken_GetFirmwareVersion
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetUTCTime
*
*/
NSS_EXTERN CK_RV
nssCKFWToken_GetUTCTime
(
NSSCKFWToken *fwToken,
CK_CHAR utcTime[16]
);
/*
* nssCKFWToken_OpenSession
*
*/
NSS_EXTERN NSSCKFWSession *
nssCKFWToken_OpenSession
(
NSSCKFWToken *fwToken,
CK_BBOOL rw,
CK_VOID_PTR pApplication,
CK_NOTIFY Notify,
CK_RV *pError
);
/*
* nssCKFWToken_GetMechanismCount
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetMechanismCount
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetMechanismTypes
*
*/
NSS_EXTERN CK_RV
nssCKFWToken_GetMechanismTypes
(
NSSCKFWToken *fwToken,
CK_MECHANISM_TYPE types[]
);
/*
* nssCKFWToken_GetMechanism
*
*/
NSS_EXTERN NSSCKFWMechanism *
nssCKFWToken_GetMechanism
(
NSSCKFWToken *fwToken,
CK_MECHANISM_TYPE which,
CK_RV *pError
);
/*
* nssCKFWToken_SetSessionState
*
*/
NSS_EXTERN CK_RV
nssCKFWToken_SetSessionState
(
NSSCKFWToken *fwToken,
CK_STATE newState
);
/*
* nssCKFWToken_RemoveSession
*
*/
NSS_EXTERN CK_RV
nssCKFWToken_RemoveSession
(
NSSCKFWToken *fwToken,
NSSCKFWSession *fwSession
);
/*
* nssCKFWToken_CloseAllSessions
*
*/
NSS_EXTERN CK_RV
nssCKFWToken_CloseAllSessions
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetSessionCount
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetSessionCount
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetRwSessionCount
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetRwSessionCount
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetRoSessionCount
*
*/
NSS_EXTERN CK_ULONG
nssCKFWToken_GetRoSessionCount
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetSessionObjectHash
*
*/
NSS_EXTERN nssCKFWHash *
nssCKFWToken_GetSessionObjectHash
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetMDObjectHash
*
*/
NSS_EXTERN nssCKFWHash *
nssCKFWToken_GetMDObjectHash
(
NSSCKFWToken *fwToken
);
/*
* nssCKFWToken_GetObjectHandleHash
*
*/
NSS_EXTERN nssCKFWHash *
nssCKFWToken_GetObjectHandleHash
(
NSSCKFWToken *fwToken
);
/*
* NSSCKFWMechanism
*
* -- create/destroy --
* nssCKFWMechanism_Create
* nssCKFWMechanism_Destroy
*
* -- implement public accessors --
* nssCKFWMechanism_GetMDMechanism
* nssCKFWMechanism_GetParameter
*
* -- private accessors --
*
* -- module fronts --
* nssCKFWMechanism_GetMinKeySize
* nssCKFWMechanism_GetMaxKeySize
* nssCKFWMechanism_GetInHardware
*/
/*
* nssCKFWMechanism_Create
*
*/
NSS_EXTERN NSSCKFWMechanism *
nssCKFWMechanism_Create
(
void /* XXX fgmr */
);
/*
* nssCKFWMechanism_Destroy
*
*/
NSS_EXTERN CK_RV
nssCKFWMechanism_Destroy
(
NSSCKFWMechanism *fwMechanism
);
/*
* nssCKFWMechanism_GetMDMechanism
*
*/
NSS_EXTERN NSSCKMDMechanism *
nssCKFWMechanism_GetMDMechanism
(
NSSCKFWMechanism *fwMechanism
);
/*
* nssCKFWMechanism_GetParameter
*
* XXX fgmr-- or as an additional parameter to the crypto ops?
*/
NSS_EXTERN NSSItem *
nssCKFWMechanism_GetParameter
(
NSSCKFWMechanism *fwMechanism
);
/*
* nssCKFWMechanism_GetMinKeySize
*
*/
NSS_EXTERN CK_ULONG
nssCKFWMechanism_GetMinKeySize
(
NSSCKFWMechanism *fwMechanism
);
/*
* nssCKFWMechanism_GetMaxKeySize
*
*/
NSS_EXTERN CK_ULONG
nssCKFWMechanism_GetMaxKeySize
(
NSSCKFWMechanism *fwMechanism
);
/*
* nssCKFWMechanism_GetInHardware
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWMechanism_GetInHardware
(
NSSCKFWMechanism *fwMechanism
);
/*
* NSSCKFWSession
*
* -- create/destroy --
* nssCKFWSession_Create
* nssCKFWSession_Destroy
*
* -- implement public accessors --
* nssCKFWSession_GetMDSession
* nssCKFWSession_GetArena
* nssCKFWSession_CallNotification
* nssCKFWSession_IsRWSession
* nssCKFWSession_IsSO
*
* -- private accessors --
* nssCKFWSession_GetFWSlot
* nssCKFWSession_GetSessionState
* nssCKFWSession_SetFWFindObjects
* nssCKFWSession_GetFWFindObjects
* nssCKFWSession_SetMDSession
* nssCKFWSession_SetHandle
* nssCKFWSession_GetHandle
* nssCKFWSession_RegisterSessionObject
* nssCKFWSession_DeregisterSessionObject
*
* -- module fronts --
* nssCKFWSession_GetDeviceError
* nssCKFWSession_Login
* nssCKFWSession_Logout
* nssCKFWSession_InitPIN
* nssCKFWSession_SetPIN
* nssCKFWSession_GetOperationStateLen
* nssCKFWSession_GetOperationState
* nssCKFWSession_SetOperationState
* nssCKFWSession_CreateObject
* nssCKFWSession_CopyObject
* nssCKFWSession_FindObjectsInit
* nssCKFWSession_SeedRandom
* nssCKFWSession_GetRandom
*/
/*
* nssCKFWSession_Create
*
*/
NSS_EXTERN NSSCKFWSession *
nssCKFWSession_Create
(
NSSCKFWToken *fwToken,
CK_BBOOL rw,
CK_VOID_PTR pApplication,
CK_NOTIFY Notify,
CK_RV *pError
);
/*
* nssCKFWSession_Destroy
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_Destroy
(
NSSCKFWSession *fwSession,
CK_BBOOL removeFromTokenHash
);
/*
* nssCKFWSession_GetMDSession
*
*/
NSS_EXTERN NSSCKMDSession *
nssCKFWSession_GetMDSession
(
NSSCKFWSession *fwSession
);
/*
* nssCKFWSession_GetArena
*
*/
NSS_EXTERN NSSArena *
nssCKFWSession_GetArena
(
NSSCKFWSession *fwSession,
CK_RV *pError
);
/*
* nssCKFWSession_CallNotification
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_CallNotification
(
NSSCKFWSession *fwSession,
CK_NOTIFICATION event
);
/*
* nssCKFWSession_IsRWSession
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWSession_IsRWSession
(
NSSCKFWSession *fwSession
);
/*
* nssCKFWSession_IsSO
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWSession_IsSO
(
NSSCKFWSession *fwSession
);
/*
* nssCKFWSession_GetFWSlot
*
*/
NSS_EXTERN NSSCKFWSlot *
nssCKFWSession_GetFWSlot
(
NSSCKFWSession *fwSession
);
/*
* nssCFKWSession_GetSessionState
*
*/
NSS_EXTERN CK_STATE
nssCKFWSession_GetSessionState
(
NSSCKFWSession *fwSession
);
/*
* nssCKFWSession_SetFWFindObjects
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_SetFWFindObjects
(
NSSCKFWSession *fwSession,
NSSCKFWFindObjects *fwFindObjects
);
/*
* nssCKFWSession_GetFWFindObjects
*
*/
NSS_EXTERN NSSCKFWFindObjects *
nssCKFWSession_GetFWFindObjects
(
NSSCKFWSession *fwSesssion,
CK_RV *pError
);
/*
* nssCKFWSession_SetMDSession
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_SetMDSession
(
NSSCKFWSession *fwSession,
NSSCKMDSession *mdSession
);
/*
* nssCKFWSession_SetHandle
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_SetHandle
(
NSSCKFWSession *fwSession,
CK_SESSION_HANDLE hSession
);
/*
* nssCKFWSession_GetHandle
*
*/
NSS_EXTERN CK_SESSION_HANDLE
nssCKFWSession_GetHandle
(
NSSCKFWSession *fwSession
);
/*
* nssCKFWSession_RegisterSessionObject
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_RegisterSessionObject
(
NSSCKFWSession *fwSession,
NSSCKFWObject *fwObject
);
/*
* nssCKFWSession_DeregisterSessionObject
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_DeregisterSessionObject
(
NSSCKFWSession *fwSession,
NSSCKFWObject *fwObject
);
/*
* nssCKFWSession_GetDeviceError
*
*/
NSS_EXTERN CK_ULONG
nssCKFWSession_GetDeviceError
(
NSSCKFWSession *fwSession
);
/*
* nssCKFWSession_Login
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_Login
(
NSSCKFWSession *fwSession,
CK_USER_TYPE userType,
NSSItem *pin
);
/*
* nssCKFWSession_Logout
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_Logout
(
NSSCKFWSession *fwSession
);
/*
* nssCKFWSession_InitPIN
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_InitPIN
(
NSSCKFWSession *fwSession,
NSSItem *pin
);
/*
* nssCKFWSession_SetPIN
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_SetPIN
(
NSSCKFWSession *fwSession,
NSSItem *newPin,
NSSItem *oldPin
);
/*
* nssCKFWSession_GetOperationStateLen
*
*/
NSS_EXTERN CK_ULONG
nssCKFWSession_GetOperationStateLen
(
NSSCKFWSession *fwSession,
CK_RV *pError
);
/*
* nssCKFWSession_GetOperationState
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_GetOperationState
(
NSSCKFWSession *fwSession,
NSSItem *buffer
);
/*
* nssCKFWSession_SetOperationState
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_SetOperationState
(
NSSCKFWSession *fwSession,
NSSItem *state,
NSSCKFWObject *encryptionKey,
NSSCKFWObject *authenticationKey
);
/*
* nssCKFWSession_CreateObject
*
*/
NSS_EXTERN NSSCKFWObject *
nssCKFWSession_CreateObject
(
NSSCKFWSession *fwSession,
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulAttributeCount,
CK_RV *pError
);
/*
* nssCKFWSession_CopyObject
*
*/
NSS_EXTERN NSSCKFWObject *
nssCKFWSession_CopyObject
(
NSSCKFWSession *fwSession,
NSSCKFWObject *object,
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulAttributeCount,
CK_RV *pError
);
/*
* nssCKFWSession_FindObjectsInit
*
*/
NSS_EXTERN NSSCKFWFindObjects *
nssCKFWSession_FindObjectsInit
(
NSSCKFWSession *fwSession,
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulAttributeCount,
CK_RV *pError
);
/*
* nssCKFWSession_SeedRandom
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_SeedRandom
(
NSSCKFWSession *fwSession,
NSSItem *seed
);
/*
* nssCKFWSession_GetRandom
*
*/
NSS_EXTERN CK_RV
nssCKFWSession_GetRandom
(
NSSCKFWSession *fwSession,
NSSItem *buffer
);
/*
* NSSCKFWObject
*
* -- create/destroy --
* nssCKFWObject_Create
* nssCKFWObject_Finalize
* nssCKFWObject_Destroy
*
* -- implement public accessors --
* nssCKFWObject_GetMDObject
* nssCKFWObject_GetArena
*
* -- private accessors --
* nssCKFWObject_SetHandle
* nssCKFWObject_GetHandle
*
* -- module fronts --
* nssCKFWObject_IsTokenObject
* nssCKFWObject_GetAttributeCount
* nssCKFWObject_GetAttributeTypes
* nssCKFWObject_GetAttributeSize
* nssCKFWObject_GetAttribute
* nssCKFWObject_SetAttribute
* nssCKFWObject_GetObjectSize
*/
/*
* nssCKFWObject_Create
*
*/
NSS_EXTERN NSSCKFWObject *
nssCKFWObject_Create
(
NSSArena *arena,
NSSCKMDObject *mdObject,
NSSCKFWSession *fwSession,
NSSCKFWToken *fwToken,
NSSCKFWInstance *fwInstance,
CK_RV *pError
);
/*
* nssCKFWObject_Finalize
*
*/
NSS_EXTERN void
nssCKFWObject_Finalize
(
NSSCKFWObject *fwObject
);
/*
* nssCKFWObject_Destroy
*
*/
NSS_EXTERN void
nssCKFWObject_Destroy
(
NSSCKFWObject *fwObject
);
/*
* nssCKFWObject_GetMDObject
*
*/
NSS_EXTERN NSSCKMDObject *
nssCKFWObject_GetMDObject
(
NSSCKFWObject *fwObject
);
/*
* nssCKFWObject_GetArena
*
*/
NSS_EXTERN NSSArena *
nssCKFWObject_GetArena
(
NSSCKFWObject *fwObject,
CK_RV *pError
);
/*
* nssCKFWObject_SetHandle
*
*/
NSS_IMPLEMENT CK_RV
nssCKFWObject_SetHandle
(
NSSCKFWObject *fwObject,
CK_OBJECT_HANDLE hObject
);
/*
* nssCKFWObject_GetHandle
*
*/
NSS_IMPLEMENT CK_OBJECT_HANDLE
nssCKFWObject_GetHandle
(
NSSCKFWObject *fwObject
);
/*
* nssCKFWObject_IsTokenObject
*
*/
NSS_EXTERN CK_BBOOL
nssCKFWObject_IsTokenObject
(
NSSCKFWObject *fwObject
);
/*
* nssCKFWObject_GetAttributeCount
*
*/
NSS_EXTERN CK_ULONG
nssCKFWObject_GetAttributeCount
(
NSSCKFWObject *fwObject,
CK_RV *pError
);
/*
* nssCKFWObject_GetAttributeTypes
*
*/
NSS_EXTERN CK_RV
nssCKFWObject_GetAttributeTypes
(
NSSCKFWObject *fwObject,
CK_ATTRIBUTE_TYPE_PTR typeArray,
CK_ULONG ulCount
);
/*
* nssCKFWObject_GetAttributeSize
*
*/
NSS_EXTERN CK_ULONG
nssCKFWObject_GetAttributeSize
(
NSSCKFWObject *fwObject,
CK_ATTRIBUTE_TYPE attribute,
CK_RV *pError
);
/*
* nssCKFWObject_GetAttribute
*
* Usual NSS allocation rules:
* If itemOpt is not NULL, it will be returned; otherwise an NSSItem
* will be allocated. If itemOpt is not NULL but itemOpt->data is,
* the buffer will be allocated; otherwise, the buffer will be used.
* Any allocations will come from the optional arena, if one is
* specified.
*/
NSS_EXTERN NSSItem *
nssCKFWObject_GetAttribute
(
NSSCKFWObject *fwObject,
CK_ATTRIBUTE_TYPE attribute,
NSSItem *itemOpt,
NSSArena *arenaOpt,
CK_RV *pError
);
/*
* nssCKFWObject_SetAttribute
*
*/
NSS_EXTERN CK_RV
nssCKFWObject_SetAttribute
(
NSSCKFWObject *fwObject,
CK_ATTRIBUTE_TYPE attribute,
NSSItem *value
);
/*
* nssCKFWObject_GetObjectSize
*
*/
NSS_EXTERN CK_ULONG
nssCKFWObject_GetObjectSize
(
NSSCKFWObject *fwObject,
CK_RV *pError
);
/*
* NSSCKFWFindObjects
*
* -- create/destroy --
* nssCKFWFindObjects_Create
* nssCKFWFindObjects_Destroy
*
* -- implement public accessors --
* nssCKFWFindObjects_GetMDFindObjects
*
* -- private accessors --
*
* -- module fronts --
* nssCKFWFindObjects_Next
*/
/*
* nssCKFWFindObjects_Create
*
*/
NSS_EXTERN NSSCKFWFindObjects *
nssCKFWFindObjects_Create
(
NSSCKFWSession *fwSession,
NSSCKFWToken *fwToken,
NSSCKFWInstance *fwInstance,
NSSCKMDFindObjects *mdFindObjects1,
NSSCKMDFindObjects *mdFindObjects2,
CK_RV *pError
);
/*
* nssCKFWFindObjects_Destroy
*
*/
NSS_EXTERN void
nssCKFWFindObjects_Destroy
(
NSSCKFWFindObjects *fwFindObjects
);
/*
* nssCKFWFindObjects_GetMDFindObjects
*
*/
NSS_EXTERN NSSCKMDFindObjects *
nssCKFWFindObjects_GetMDFindObjects
(
NSSCKFWFindObjects *fwFindObjects
);
/*
* nssCKFWFindObjects_Next
*
*/
NSS_EXTERN NSSCKFWObject *
nssCKFWFindObjects_Next
(
NSSCKFWFindObjects *fwFindObjects,
NSSArena *arenaOpt,
CK_RV *pError
);
/*
* NSSCKFWMutex
*
* nssCKFWMutex_Create
* nssCKFWMutex_Destroy
* nssCKFWMutex_Lock
* nssCKFWMutex_Unlock
*
*/
/*
* nssCKFWMutex_Create
*
*/
NSS_EXTERN NSSCKFWMutex *
nssCKFWMutex_Create
(
CK_C_INITIALIZE_ARGS_PTR pInitArgs,
NSSArena *arena,
CK_RV *pError
);
/*
* nssCKFWMutex_Destroy
*
*/
NSS_EXTERN CK_RV
nssCKFWMutex_Destroy
(
NSSCKFWMutex *mutex
);
/*
* nssCKFWMutex_Lock
*
*/
NSS_EXTERN CK_RV
nssCKFWMutex_Lock
(
NSSCKFWMutex *mutex
);
/*
* nssCKFWMutex_Unlock
*
*/
NSS_EXTERN CK_RV
nssCKFWMutex_Unlock
(
NSSCKFWMutex *mutex
);
#endif /* CKFW_H */