mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-20 07:17:32 +09:00
97 lines
2.3 KiB
C
97 lines
2.3 KiB
C
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "ckcapi.h"
|
|
|
|
/*
|
|
* ckcapi/cinstance.c
|
|
*
|
|
* This file implements the NSSCKMDInstance object for the
|
|
* "capi" cryptoki module.
|
|
*/
|
|
|
|
/*
|
|
* NSSCKMDInstance methods
|
|
*/
|
|
|
|
static CK_ULONG
|
|
ckcapi_mdInstance_GetNSlots(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_RV *pError)
|
|
{
|
|
return (CK_ULONG)1;
|
|
}
|
|
|
|
static CK_VERSION
|
|
ckcapi_mdInstance_GetCryptokiVersion(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance)
|
|
{
|
|
return nss_ckcapi_CryptokiVersion;
|
|
}
|
|
|
|
static NSSUTF8 *
|
|
ckcapi_mdInstance_GetManufacturerID(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_RV *pError)
|
|
{
|
|
return (NSSUTF8 *)nss_ckcapi_ManufacturerID;
|
|
}
|
|
|
|
static NSSUTF8 *
|
|
ckcapi_mdInstance_GetLibraryDescription(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance,
|
|
CK_RV *pError)
|
|
{
|
|
return (NSSUTF8 *)nss_ckcapi_LibraryDescription;
|
|
}
|
|
|
|
static CK_VERSION
|
|
ckcapi_mdInstance_GetLibraryVersion(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance)
|
|
{
|
|
return nss_ckcapi_LibraryVersion;
|
|
}
|
|
|
|
static CK_RV
|
|
ckcapi_mdInstance_GetSlots(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance,
|
|
NSSCKMDSlot *slots[])
|
|
{
|
|
slots[0] = (NSSCKMDSlot *)&nss_ckcapi_mdSlot;
|
|
return CKR_OK;
|
|
}
|
|
|
|
static CK_BBOOL
|
|
ckcapi_mdInstance_ModuleHandlesSessionObjects(
|
|
NSSCKMDInstance *mdInstance,
|
|
NSSCKFWInstance *fwInstance)
|
|
{
|
|
/* we don't want to allow any session object creation, at least
|
|
* until we can investigate whether or not we can use those objects
|
|
*/
|
|
return CK_TRUE;
|
|
}
|
|
|
|
NSS_IMPLEMENT_DATA const NSSCKMDInstance
|
|
nss_ckcapi_mdInstance = {
|
|
(void *)NULL, /* etc */
|
|
NULL, /* Initialize */
|
|
NULL, /* Finalize */
|
|
ckcapi_mdInstance_GetNSlots,
|
|
ckcapi_mdInstance_GetCryptokiVersion,
|
|
ckcapi_mdInstance_GetManufacturerID,
|
|
ckcapi_mdInstance_GetLibraryDescription,
|
|
ckcapi_mdInstance_GetLibraryVersion,
|
|
ckcapi_mdInstance_ModuleHandlesSessionObjects,
|
|
/*NULL, /* HandleSessionObjects */
|
|
ckcapi_mdInstance_GetSlots,
|
|
NULL, /* WaitForSlotEvent */
|
|
(void *)NULL /* null terminator */
|
|
};
|