michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "nssckmdt.h" michael@0: #include "nssckfw.h" michael@0: michael@0: /* michael@0: * I'm including this for access to the arena functions. michael@0: * Looks like we should publish that API. michael@0: */ michael@0: #ifndef BASE_H michael@0: #include "base.h" michael@0: #endif /* BASE_H */ michael@0: michael@0: /* michael@0: * This is where the Netscape extensions live, at least for now. michael@0: */ michael@0: #ifndef CKT_H michael@0: #include "ckt.h" michael@0: #endif /* CKT_H */ michael@0: michael@0: struct builtinsInternalObjectStr { michael@0: CK_ULONG n; michael@0: const CK_ATTRIBUTE_TYPE *types; michael@0: const NSSItem *items; michael@0: NSSCKMDObject mdObject; michael@0: }; michael@0: typedef struct builtinsInternalObjectStr builtinsInternalObject; michael@0: michael@0: extern builtinsInternalObject nss_builtins_data[]; michael@0: extern const PRUint32 nss_builtins_nObjects; michael@0: michael@0: extern const CK_VERSION nss_builtins_CryptokiVersion; michael@0: extern const CK_VERSION nss_builtins_LibraryVersion; michael@0: extern const CK_VERSION nss_builtins_HardwareVersion; michael@0: extern const CK_VERSION nss_builtins_FirmwareVersion; michael@0: michael@0: extern const NSSUTF8 nss_builtins_ManufacturerID[]; michael@0: extern const NSSUTF8 nss_builtins_LibraryDescription[]; michael@0: extern const NSSUTF8 nss_builtins_SlotDescription[]; michael@0: extern const NSSUTF8 nss_builtins_TokenLabel[]; michael@0: extern const NSSUTF8 nss_builtins_TokenModel[]; michael@0: extern const NSSUTF8 nss_builtins_TokenSerialNumber[]; michael@0: michael@0: extern const NSSCKMDInstance nss_builtins_mdInstance; michael@0: extern const NSSCKMDSlot nss_builtins_mdSlot; michael@0: extern const NSSCKMDToken nss_builtins_mdToken; michael@0: michael@0: NSS_EXTERN NSSCKMDSession * michael@0: nss_builtins_CreateSession michael@0: ( michael@0: NSSCKFWSession *fwSession, michael@0: CK_RV *pError michael@0: ); michael@0: michael@0: NSS_EXTERN NSSCKMDFindObjects * michael@0: nss_builtins_FindObjectsInit michael@0: ( michael@0: NSSCKFWSession *fwSession, michael@0: CK_ATTRIBUTE_PTR pTemplate, michael@0: CK_ULONG ulAttributeCount, michael@0: CK_RV *pError michael@0: ); michael@0: michael@0: NSS_EXTERN NSSCKMDObject * michael@0: nss_builtins_CreateMDObject michael@0: ( michael@0: NSSArena *arena, michael@0: builtinsInternalObject *io, michael@0: CK_RV *pError michael@0: );