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