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