tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

binst.c (2174B)


      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/. */
      4 
      5 #include "builtins.h"
      6 
      7 /*
      8 * builtins/instance.c
      9 *
     10 * This file implements the NSSCKMDInstance object for the
     11 * "builtin objects" cryptoki module.
     12 */
     13 
     14 /*
     15 * NSSCKMDInstance methods
     16 */
     17 
     18 static CK_ULONG
     19 builtins_mdInstance_GetNSlots(
     20    NSSCKMDInstance *mdInstance,
     21    NSSCKFWInstance *fwInstance,
     22    CK_RV *pError)
     23 {
     24    return (CK_ULONG)1;
     25 }
     26 
     27 static CK_VERSION
     28 builtins_mdInstance_GetCryptokiVersion(
     29    NSSCKMDInstance *mdInstance,
     30    NSSCKFWInstance *fwInstance)
     31 {
     32    return nss_builtins_CryptokiVersion;
     33 }
     34 
     35 static NSSUTF8 *
     36 builtins_mdInstance_GetManufacturerID(
     37    NSSCKMDInstance *mdInstance,
     38    NSSCKFWInstance *fwInstance,
     39    CK_RV *pError)
     40 {
     41    return (NSSUTF8 *)nss_builtins_ManufacturerID;
     42 }
     43 
     44 static NSSUTF8 *
     45 builtins_mdInstance_GetLibraryDescription(
     46    NSSCKMDInstance *mdInstance,
     47    NSSCKFWInstance *fwInstance,
     48    CK_RV *pError)
     49 {
     50    return (NSSUTF8 *)nss_builtins_LibraryDescription;
     51 }
     52 
     53 static CK_VERSION
     54 builtins_mdInstance_GetLibraryVersion(
     55    NSSCKMDInstance *mdInstance,
     56    NSSCKFWInstance *fwInstance)
     57 {
     58 #define NSS_VERSION_VARIABLE __nss_builtins_version
     59 #include "verref.h"
     60    return nss_builtins_LibraryVersion;
     61 }
     62 
     63 static CK_RV
     64 builtins_mdInstance_GetSlots(
     65    NSSCKMDInstance *mdInstance,
     66    NSSCKFWInstance *fwInstance,
     67    NSSCKMDSlot *slots[])
     68 {
     69    slots[0] = (NSSCKMDSlot *)&nss_builtins_mdSlot;
     70    return CKR_OK;
     71 }
     72 
     73 const NSSCKMDInstance
     74    nss_builtins_mdInstance = {
     75        (void *)NULL, /* etc */
     76        NULL,         /* Initialize */
     77        NULL,         /* Finalize */
     78        builtins_mdInstance_GetNSlots,
     79        builtins_mdInstance_GetCryptokiVersion,
     80        builtins_mdInstance_GetManufacturerID,
     81        builtins_mdInstance_GetLibraryDescription,
     82        builtins_mdInstance_GetLibraryVersion,
     83        NULL, /* ModuleHandlesSessionObjects -- defaults to false */
     84        builtins_mdInstance_GetSlots,
     85        NULL,        /* WaitForSlotEvent */
     86        (void *)NULL /* null terminator */
     87    };