/* 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 "builtins.h" /* * builtins/instance.c * * This file implements the NSSCKMDInstance object for the * "builtin objects" cryptoki module. */ /* * NSSCKMDInstance methods */ static CK_ULONG builtins_mdInstance_GetNSlots( NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance, CK_RV *pError) { return (CK_ULONG)1; } static CK_VERSION builtins_mdInstance_GetCryptokiVersion( NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance) { return nss_builtins_CryptokiVersion; } static NSSUTF8 * builtins_mdInstance_GetManufacturerID( NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance, CK_RV *pError) { return (NSSUTF8 *)nss_builtins_ManufacturerID; } static NSSUTF8 * builtins_mdInstance_GetLibraryDescription( NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance, CK_RV *pError) { return (NSSUTF8 *)nss_builtins_LibraryDescription; } static CK_VERSION builtins_mdInstance_GetLibraryVersion( NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance) { #define NSS_VERSION_VARIABLE __nss_builtins_version #include "verref.h" return nss_builtins_LibraryVersion; } static CK_RV builtins_mdInstance_GetSlots( NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance, NSSCKMDSlot *slots[]) { slots[0] = (NSSCKMDSlot *)&nss_builtins_mdSlot; return CKR_OK; } const NSSCKMDInstance nss_builtins_mdInstance = { (void *)NULL, /* etc */ NULL, /* Initialize */ NULL, /* Finalize */ builtins_mdInstance_GetNSlots, builtins_mdInstance_GetCryptokiVersion, builtins_mdInstance_GetManufacturerID, builtins_mdInstance_GetLibraryDescription, builtins_mdInstance_GetLibraryVersion, NULL, /* ModuleHandlesSessionObjects -- defaults to false */ builtins_mdInstance_GetSlots, NULL, /* WaitForSlotEvent */ (void *)NULL /* null terminator */ };