NSS_IMPLEMENT nssCKFWHash * nssCKFWHash_Create
NSS_IMPLEMENT void nssCKFWHash_Iterate
NSS_IMPLEMENT nssCKFWHash *nssCKFWHash_Create(  NSSCKFWInstance *fwInstance,  NSSArena *arena,  CK_RV *pError){  nssCKFWHash *rv;#ifdef NSSDEBUG  if( (CK_RV *)NULL == pError ) {    return (nssCKFWHash *)NULL;  }  if( PR_SUCCESS != nssArena_verifyPointer(arena) ) {    *pError = CKR_ARGUMENTS_BAD;    return (nssCKFWHash *)NULL;  }#endif /* NSSDEBUG */  rv = nss_ZNEW(arena, nssCKFWHash);  if( (nssCKFWHash *)NULL == rv ) {    *pError = CKR_HOST_MEMORY;    return (nssCKFWHash *)NULL;  }  rv->mutex = nssCKFWInstance_CreateMutex(fwInstance, arena, pError);  if( (NSSCKFWMutex *)NULL == rv->mutex ) {    if( CKR_OK == *pError ) {      *pError = CKR_GENERAL_ERROR;    }    return (nssCKFWHash *)NULL;  }  rv->plHashTable = PL_NewHashTable(0, nss_ckfw_identity_hash,     PL_CompareValues, PL_CompareValues, &nssArenaHashAllocOps, arena);  if( (PLHashTable *)NULL == rv->plHashTable ) {    (void)nssCKFWMutex_Destroy(rv->mutex);    (void)nss_ZFreeIf(rv);    *pError = CKR_HOST_MEMORY;    return (nssCKFWHash *)NULL;  }  rv->count = 0;  return rv;}