Mercurial > trustbridge > nss-cmake-static
view nss/lib/dev/devt.h @ 0:1e5118fa0cb1
This is NSS with a Cmake Buildsyste
To compile a static NSS library for Windows we've used the
Chromium-NSS fork and added a Cmake buildsystem to compile
it statically for Windows. See README.chromium for chromium
changes and README.trustbridge for our modifications.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 28 Jul 2014 10:47:06 +0200 |
parents | |
children |
line wrap: on
line source
/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef DEVT_H #define DEVT_H /* * devt.h * * This file contains definitions for the low-level cryptoki devices. */ #ifndef NSSBASET_H #include "nssbaset.h" #endif /* NSSBASET_H */ #ifndef NSSPKIT_H #include "nsspkit.h" #endif /* NSSPKIT_H */ #ifndef NSSDEVT_H #include "nssdevt.h" #endif /* NSSDEVT_H */ #ifndef BASET_H #include "baset.h" #endif /* BASET_H */ #include "secmodt.h" PR_BEGIN_EXTERN_C typedef struct nssSessionStr nssSession; /* XXX until NSSTokenStr is moved */ struct nssDeviceBaseStr { NSSArena *arena; PZLock *lock; PRInt32 refCount; NSSUTF8 *name; PRUint32 flags; }; typedef struct nssTokenObjectCacheStr nssTokenObjectCache; /* XXX until devobject.c goes away */ struct NSSTokenStr { struct nssDeviceBaseStr base; NSSSlot *slot; /* Parent (or peer, if you will) */ CK_FLAGS ckFlags; /* from CK_TOKEN_INFO.flags */ PRUint32 flags; void *epv; nssSession *defaultSession; NSSTrustDomain *trustDomain; PRIntervalTime lastTime; nssTokenObjectCache *cache; PK11SlotInfo *pk11slot; }; typedef enum { nssSlotAskPasswordTimes_FirstTime = 0, nssSlotAskPasswordTimes_EveryTime = 1, nssSlotAskPasswordTimes_Timeout = 2 } nssSlotAskPasswordTimes; struct nssSlotAuthInfoStr { PRTime lastLogin; nssSlotAskPasswordTimes askTimes; PRIntervalTime askPasswordTimeout; }; struct NSSSlotStr { struct nssDeviceBaseStr base; NSSModule *module; /* Parent */ NSSToken *token; /* Peer */ CK_SLOT_ID slotID; CK_FLAGS ckFlags; /* from CK_SLOT_INFO.flags */ struct nssSlotAuthInfoStr authInfo; PRIntervalTime lastTokenPing; PZLock *lock; void *epv; PK11SlotInfo *pk11slot; }; struct nssSessionStr { PZLock *lock; CK_SESSION_HANDLE handle; NSSSlot *slot; PRBool isRW; PRBool ownLock; }; typedef enum { NSSCertificateType_Unknown = 0, NSSCertificateType_PKIX = 1 } NSSCertificateType; typedef enum { nssTrustLevel_Unknown = 0, nssTrustLevel_NotTrusted = 1, nssTrustLevel_Trusted = 2, nssTrustLevel_TrustedDelegator = 3, nssTrustLevel_MustVerify = 4, nssTrustLevel_ValidDelegator = 5 } nssTrustLevel; typedef struct nssCryptokiInstanceStr nssCryptokiInstance; struct nssCryptokiInstanceStr { CK_OBJECT_HANDLE handle; NSSToken *token; PRBool isTokenObject; NSSUTF8 *label; }; typedef struct nssCryptokiInstanceStr nssCryptokiObject; typedef struct nssTokenCertSearchStr nssTokenCertSearch; typedef enum { nssTokenSearchType_AllObjects = 0, nssTokenSearchType_SessionOnly = 1, nssTokenSearchType_TokenOnly = 2, nssTokenSearchType_TokenForced = 3 } nssTokenSearchType; struct nssTokenCertSearchStr { nssTokenSearchType searchType; PRStatus (* callback)(NSSCertificate *c, void *arg); void *cbarg; nssList *cached; /* TODO: add a cache query callback if the list would be large * (traversal) */ }; struct nssSlotListStr; typedef struct nssSlotListStr nssSlotList; struct NSSAlgorithmAndParametersStr { CK_MECHANISM mechanism; }; PR_END_EXTERN_C #endif /* DEVT_H */