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