1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/security/nss/lib/ckfw/builtins/binst.c Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,102 @@ 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 "builtins.h" 1.9 + 1.10 +/* 1.11 + * builtins/instance.c 1.12 + * 1.13 + * This file implements the NSSCKMDInstance object for the 1.14 + * "builtin objects" cryptoki module. 1.15 + */ 1.16 + 1.17 +/* 1.18 + * NSSCKMDInstance methods 1.19 + */ 1.20 + 1.21 +static CK_ULONG 1.22 +builtins_mdInstance_GetNSlots 1.23 +( 1.24 + NSSCKMDInstance *mdInstance, 1.25 + NSSCKFWInstance *fwInstance, 1.26 + CK_RV *pError 1.27 +) 1.28 +{ 1.29 + return (CK_ULONG)1; 1.30 +} 1.31 + 1.32 +static CK_VERSION 1.33 +builtins_mdInstance_GetCryptokiVersion 1.34 +( 1.35 + NSSCKMDInstance *mdInstance, 1.36 + NSSCKFWInstance *fwInstance 1.37 +) 1.38 +{ 1.39 + return nss_builtins_CryptokiVersion; 1.40 +} 1.41 + 1.42 +static NSSUTF8 * 1.43 +builtins_mdInstance_GetManufacturerID 1.44 +( 1.45 + NSSCKMDInstance *mdInstance, 1.46 + NSSCKFWInstance *fwInstance, 1.47 + CK_RV *pError 1.48 +) 1.49 +{ 1.50 + return (NSSUTF8 *)nss_builtins_ManufacturerID; 1.51 +} 1.52 + 1.53 +static NSSUTF8 * 1.54 +builtins_mdInstance_GetLibraryDescription 1.55 +( 1.56 + NSSCKMDInstance *mdInstance, 1.57 + NSSCKFWInstance *fwInstance, 1.58 + CK_RV *pError 1.59 +) 1.60 +{ 1.61 + return (NSSUTF8 *)nss_builtins_LibraryDescription; 1.62 +} 1.63 + 1.64 +static CK_VERSION 1.65 +builtins_mdInstance_GetLibraryVersion 1.66 +( 1.67 + NSSCKMDInstance *mdInstance, 1.68 + NSSCKFWInstance *fwInstance 1.69 +) 1.70 +{ 1.71 + extern const char __nss_builtins_rcsid[]; 1.72 + extern const char __nss_builtins_sccsid[]; 1.73 + volatile char c; /* force a reference that won't get optimized away */ 1.74 + 1.75 + c = __nss_builtins_rcsid[0] + __nss_builtins_sccsid[0]; 1.76 + return nss_builtins_LibraryVersion; 1.77 +} 1.78 + 1.79 +static CK_RV 1.80 +builtins_mdInstance_GetSlots 1.81 +( 1.82 + NSSCKMDInstance *mdInstance, 1.83 + NSSCKFWInstance *fwInstance, 1.84 + NSSCKMDSlot *slots[] 1.85 +) 1.86 +{ 1.87 + slots[0] = (NSSCKMDSlot *)&nss_builtins_mdSlot; 1.88 + return CKR_OK; 1.89 +} 1.90 + 1.91 +const NSSCKMDInstance 1.92 +nss_builtins_mdInstance = { 1.93 + (void *)NULL, /* etc */ 1.94 + NULL, /* Initialize */ 1.95 + NULL, /* Finalize */ 1.96 + builtins_mdInstance_GetNSlots, 1.97 + builtins_mdInstance_GetCryptokiVersion, 1.98 + builtins_mdInstance_GetManufacturerID, 1.99 + builtins_mdInstance_GetLibraryDescription, 1.100 + builtins_mdInstance_GetLibraryVersion, 1.101 + NULL, /* ModuleHandlesSessionObjects -- defaults to false */ 1.102 + builtins_mdInstance_GetSlots, 1.103 + NULL, /* WaitForSlotEvent */ 1.104 + (void *)NULL /* null terminator */ 1.105 +};