1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/security/nss/lib/ckfw/nssmkey/mslot.c Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,91 @@ 1.4 +/* This Source Code Form is subject to the terms of the Mozilla Public 1.5 + * License, v. 2.0. If a copy of the MPL was not distributed with this 1.6 + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 1.7 + 1.8 +#include "ckmk.h" 1.9 + 1.10 +/* 1.11 + * nssmkey/mslot.c 1.12 + * 1.13 + * This file implements the NSSCKMDSlot object for the 1.14 + * "nssmkey" cryptoki module. 1.15 + */ 1.16 + 1.17 +static NSSUTF8 * 1.18 +ckmk_mdSlot_GetSlotDescription 1.19 +( 1.20 + NSSCKMDSlot *mdSlot, 1.21 + NSSCKFWSlot *fwSlot, 1.22 + NSSCKMDInstance *mdInstance, 1.23 + NSSCKFWInstance *fwInstance, 1.24 + CK_RV *pError 1.25 +) 1.26 +{ 1.27 + return (NSSUTF8 *)nss_ckmk_SlotDescription; 1.28 +} 1.29 + 1.30 +static NSSUTF8 * 1.31 +ckmk_mdSlot_GetManufacturerID 1.32 +( 1.33 + NSSCKMDSlot *mdSlot, 1.34 + NSSCKFWSlot *fwSlot, 1.35 + NSSCKMDInstance *mdInstance, 1.36 + NSSCKFWInstance *fwInstance, 1.37 + CK_RV *pError 1.38 +) 1.39 +{ 1.40 + return (NSSUTF8 *)nss_ckmk_ManufacturerID; 1.41 +} 1.42 + 1.43 +static CK_VERSION 1.44 +ckmk_mdSlot_GetHardwareVersion 1.45 +( 1.46 + NSSCKMDSlot *mdSlot, 1.47 + NSSCKFWSlot *fwSlot, 1.48 + NSSCKMDInstance *mdInstance, 1.49 + NSSCKFWInstance *fwInstance 1.50 +) 1.51 +{ 1.52 + return nss_ckmk_HardwareVersion; 1.53 +} 1.54 + 1.55 +static CK_VERSION 1.56 +ckmk_mdSlot_GetFirmwareVersion 1.57 +( 1.58 + NSSCKMDSlot *mdSlot, 1.59 + NSSCKFWSlot *fwSlot, 1.60 + NSSCKMDInstance *mdInstance, 1.61 + NSSCKFWInstance *fwInstance 1.62 +) 1.63 +{ 1.64 + return nss_ckmk_FirmwareVersion; 1.65 +} 1.66 + 1.67 +static NSSCKMDToken * 1.68 +ckmk_mdSlot_GetToken 1.69 +( 1.70 + NSSCKMDSlot *mdSlot, 1.71 + NSSCKFWSlot *fwSlot, 1.72 + NSSCKMDInstance *mdInstance, 1.73 + NSSCKFWInstance *fwInstance, 1.74 + CK_RV *pError 1.75 +) 1.76 +{ 1.77 + return (NSSCKMDToken *)&nss_ckmk_mdToken; 1.78 +} 1.79 + 1.80 +NSS_IMPLEMENT_DATA const NSSCKMDSlot 1.81 +nss_ckmk_mdSlot = { 1.82 + (void *)NULL, /* etc */ 1.83 + NULL, /* Initialize */ 1.84 + NULL, /* Destroy */ 1.85 + ckmk_mdSlot_GetSlotDescription, 1.86 + ckmk_mdSlot_GetManufacturerID, 1.87 + NULL, /* GetTokenPresent -- defaults to true */ 1.88 + NULL, /* GetRemovableDevice -- defaults to false */ 1.89 + NULL, /* GetHardwareSlot -- defaults to false */ 1.90 + ckmk_mdSlot_GetHardwareVersion, 1.91 + ckmk_mdSlot_GetFirmwareVersion, 1.92 + ckmk_mdSlot_GetToken, 1.93 + (void *)NULL /* null terminator */ 1.94 +};