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: #ifndef CKFWM_H
andre@0: #define CKFWM_H
andre@0: 
andre@0: /*
andre@0:  * ckfwm.h
andre@0:  *
andre@0:  * This file prototypes the module-private calls of the NSS Cryptoki Framework.
andre@0:  */
andre@0: 
andre@0: #ifndef NSSBASET_H
andre@0: #include "nssbaset.h"
andre@0: #endif /* NSSBASET_H */
andre@0: 
andre@0: #ifndef NSSCKT_H
andre@0: #include "nssckt.h"
andre@0: #endif /* NSSCKT_H */
andre@0: 
andre@0: #ifndef NSSCKFWT_H
andre@0: #include "nssckfwt.h"
andre@0: #endif /* NSSCKFWT_H */
andre@0: 
andre@0: /*
andre@0:  * nssCKFWHash
andre@0:  *
andre@0:  *  nssCKFWHash_Create
andre@0:  *  nssCKFWHash_Destroy
andre@0:  *  nssCKFWHash_Add
andre@0:  *  nssCKFWHash_Remove
andre@0:  *  nssCKFWHash_Count
andre@0:  *  nssCKFWHash_Exists
andre@0:  *  nssCKFWHash_Lookup
andre@0:  *  nssCKFWHash_Iterate
andre@0:  */
andre@0: 
andre@0: /*
andre@0:  * nssCKFWHash_Create
andre@0:  *
andre@0:  */
andre@0: NSS_EXTERN nssCKFWHash *
andre@0: nssCKFWHash_Create
andre@0: (
andre@0:   NSSCKFWInstance *fwInstance,
andre@0:   NSSArena *arena,
andre@0:   CK_RV *pError
andre@0: );
andre@0: 
andre@0: /*
andre@0:  * nssCKFWHash_Destroy
andre@0:  *
andre@0:  */
andre@0: NSS_EXTERN void
andre@0: nssCKFWHash_Destroy
andre@0: (
andre@0:   nssCKFWHash *hash
andre@0: );
andre@0: 
andre@0: /*
andre@0:  * nssCKFWHash_Add
andre@0:  *
andre@0:  */
andre@0: NSS_EXTERN CK_RV
andre@0: nssCKFWHash_Add
andre@0: (
andre@0:   nssCKFWHash *hash,
andre@0:   const void *key,
andre@0:   const void *value
andre@0: );
andre@0: 
andre@0: /*
andre@0:  * nssCKFWHash_Remove
andre@0:  *
andre@0:  */
andre@0: NSS_EXTERN void
andre@0: nssCKFWHash_Remove
andre@0: (
andre@0:   nssCKFWHash *hash,
andre@0:   const void *it
andre@0: );
andre@0: 
andre@0: /*
andre@0:  * nssCKFWHash_Count
andre@0:  *
andre@0:  */
andre@0: NSS_EXTERN CK_ULONG
andre@0: nssCKFWHash_Count
andre@0: (
andre@0:   nssCKFWHash *hash
andre@0: );
andre@0: 
andre@0: /*
andre@0:  * nssCKFWHash_Exists
andre@0:  *
andre@0:  */
andre@0: NSS_EXTERN CK_BBOOL
andre@0: nssCKFWHash_Exists
andre@0: (
andre@0:   nssCKFWHash *hash,
andre@0:   const void *it
andre@0: );
andre@0: 
andre@0: /*
andre@0:  * nssCKFWHash_Lookup
andre@0:  *
andre@0:  */
andre@0: NSS_EXTERN void *
andre@0: nssCKFWHash_Lookup
andre@0: (
andre@0:   nssCKFWHash *hash,
andre@0:   const void *it
andre@0: );
andre@0: 
andre@0: /*
andre@0:  * nssCKFWHash_Iterate
andre@0:  *
andre@0:  */
andre@0: NSS_EXTERN void
andre@0: nssCKFWHash_Iterate
andre@0: (
andre@0:   nssCKFWHash *hash,
andre@0:   nssCKFWHashIterator fcn,
andre@0:   void *closure
andre@0: );
andre@0: 
andre@0: #endif /* CKFWM_H */