Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #include "builtins.h"
7 /*
8 * builtins/instance.c
9 *
10 * This file implements the NSSCKMDInstance object for the
11 * "builtin objects" cryptoki module.
12 */
14 /*
15 * NSSCKMDInstance methods
16 */
18 static CK_ULONG
19 builtins_mdInstance_GetNSlots
20 (
21 NSSCKMDInstance *mdInstance,
22 NSSCKFWInstance *fwInstance,
23 CK_RV *pError
24 )
25 {
26 return (CK_ULONG)1;
27 }
29 static CK_VERSION
30 builtins_mdInstance_GetCryptokiVersion
31 (
32 NSSCKMDInstance *mdInstance,
33 NSSCKFWInstance *fwInstance
34 )
35 {
36 return nss_builtins_CryptokiVersion;
37 }
39 static NSSUTF8 *
40 builtins_mdInstance_GetManufacturerID
41 (
42 NSSCKMDInstance *mdInstance,
43 NSSCKFWInstance *fwInstance,
44 CK_RV *pError
45 )
46 {
47 return (NSSUTF8 *)nss_builtins_ManufacturerID;
48 }
50 static NSSUTF8 *
51 builtins_mdInstance_GetLibraryDescription
52 (
53 NSSCKMDInstance *mdInstance,
54 NSSCKFWInstance *fwInstance,
55 CK_RV *pError
56 )
57 {
58 return (NSSUTF8 *)nss_builtins_LibraryDescription;
59 }
61 static CK_VERSION
62 builtins_mdInstance_GetLibraryVersion
63 (
64 NSSCKMDInstance *mdInstance,
65 NSSCKFWInstance *fwInstance
66 )
67 {
68 extern const char __nss_builtins_rcsid[];
69 extern const char __nss_builtins_sccsid[];
70 volatile char c; /* force a reference that won't get optimized away */
72 c = __nss_builtins_rcsid[0] + __nss_builtins_sccsid[0];
73 return nss_builtins_LibraryVersion;
74 }
76 static CK_RV
77 builtins_mdInstance_GetSlots
78 (
79 NSSCKMDInstance *mdInstance,
80 NSSCKFWInstance *fwInstance,
81 NSSCKMDSlot *slots[]
82 )
83 {
84 slots[0] = (NSSCKMDSlot *)&nss_builtins_mdSlot;
85 return CKR_OK;
86 }
88 const NSSCKMDInstance
89 nss_builtins_mdInstance = {
90 (void *)NULL, /* etc */
91 NULL, /* Initialize */
92 NULL, /* Finalize */
93 builtins_mdInstance_GetNSlots,
94 builtins_mdInstance_GetCryptokiVersion,
95 builtins_mdInstance_GetManufacturerID,
96 builtins_mdInstance_GetLibraryDescription,
97 builtins_mdInstance_GetLibraryVersion,
98 NULL, /* ModuleHandlesSessionObjects -- defaults to false */
99 builtins_mdInstance_GetSlots,
100 NULL, /* WaitForSlotEvent */
101 (void *)NULL /* null terminator */
102 };