/*
* Copyright (c) 2002-2004 Sendmail, Inc. and its suppliers.
* All rights reserved.
*
* By using this file, you agree to the terms and conditions set
* forth in the LICENSE file which can be found at the top level of
* the sendmail distribution.
*
* $Id: bhtable.h,v 1.25 2005/06/16 00:09:34 ca Exp $
*/
#ifndef SM_BHTABLE_H
#define SM_BHTABLE_H 1
#include "sm/generic.h"
/*
** Hash table implementation
** Data layout: bht_S use an array (bht_data) of pointer to bht_entry_S.
** The hash value of a key specifies the index in that array.
** If there is already an entry with the same hash value ("collision")
** then the new element is "inserted", i.e., it is prepended.
*/
#define sm_bht_entry_S bht_entry_S
#define sm_bht_entry_T bht_entry_T
#define sm_bht_entry_P bht_entry_P
#define sm_bht_S bht_S
#define sm_bht_T bht_T
#define sm_bht_P bht_P
#define sm_bht_new bht_new
#define sm_bht_add bht_add
#define sm_bht_locate bht_locate
#define sm_bht_find bht_find
#define sm_bht_rm bht_rm
#define sm_bht_rm_all bht_rm_all
#define sm_bht_destroy bht_destroy
#define sm_bht_walk bht_walk
#define sm_bht_stats bht_stats
#define sm_bhfree_F bhfree_F
#define sm_bhwalk_F bhwalk_F
#define sm_bht_create bht_create
#define sm_bht_setopt bht_setopt
#define sm_bht_getopt bht_getopt
#define sm_bht_open bht_open
#include "sm/bht-int.h"
#ifndef BHT_COMPILE
#undef sm_bht_entry_S
#undef sm_bht_entry_T
#undef sm_bht_entry_P
#undef sm_bht_S
#undef sm_bht_T
#undef sm_bht_P
#undef sm_bht_new
#undef sm_bht_add
#undef sm_bht_locate
#undef sm_bht_find
#undef sm_bht_rm
#undef sm_bht_rm_all
#undef sm_bht_destroy
#undef sm_bht_walk
#undef sm_bht_stats
#undef sm_bhfree_F
#undef sm_bhwalk_F
#undef sm_bht_create
#undef sm_bht_setopt
#undef sm_bht_getopt
#undef sm_bht_open
#endif /* ! BHT_COMPILE */
#endif /* SM_BHTABLE_H */
syntax highlighted by Code2HTML, v. 0.9.1