Blame nss/lib/ckfw/capi/cinst.c

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
};