60#if defined(HASH_IMPLEMENTATION) || !defined(KAZLIB_OPAQUE_DEBUG)
61#ifdef KAZLIB_SIDEEFFECT_DEBUG
62#define hash_isfull(H) (SFX_CHECK(H)->hash_nodecount == (H)->hash_maxcount)
64#define hash_isfull(H) ((H)->hash_nodecount == (H)->hash_maxcount)
66#define hash_isempty(H) ((H)->hash_nodecount == 0)
67#define hash_count(H) ((H)->hash_nodecount)
68#define hash_size(H) ((H)->hash_nchains)
69#define hnode_get(N) ((N)->hash_data)
70#define hnode_getkey(N) ((N)->hash_key)
71#define hnode_put(N, V) ((N)->hash_data = (V))
#define hnode_getkey(N)
Definition etc/afpd/hash.h:70
#define hnode_get(N)
Definition etc/afpd/hash.h:69
hash_t * hash_init(hash_t *, hashcount_t, hash_comp_t, hash_fun_t, hnode_t **, hashcount_t)
#define hnode_put(N, V)
Definition etc/afpd/hash.h:71
hnode_t * hnode_create(void *)
void hnode_destroy(hnode_t *)
#define hash_isfull(H)
Definition etc/afpd/hash.h:64
#define hash_isempty(H)
Definition etc/afpd/hash.h:66
#define hash_size(H)
Definition etc/afpd/hash.h:68
#define hash_count(H)
Definition etc/afpd/hash.h:67
hnode_t * hash_lookup(hash_t *hash, const void *key)
Find a node in the hash table and return a pointer to it.
Definition hash.c:554
void hash_delete_free(hash_t *hash, hnode_t *node)
Definition hash.c:643
void hash_scan_begin(hscan_t *scan, hash_t *hash)
Initialize a hash scanner.
Definition hash.c:412
void hash_destroy(hash_t *hash)
Definition hash.c:391
hnode_t * hnode_init(hnode_t *hnode, void *data)
Definition hash.c:747
void hash_scan_delfree(hash_t *hash, hnode_t *node)
Definition hash.c:681
hnode_t * hash_delete(hash_t *hash, hnode_t *node)
Delete the given node from the hash table. Since the chains are singly linked, we must locate the sta...
Definition hash.c:591
hnode_t * hash_scan_delete(hash_t *hash, hnode_t *node)
Definition hash.c:653
void hash_insert(hash_t *hash, hnode_t *node, const void *key)
Insert a node into the hash table.
Definition hash.c:513
hnode_t * hash_scan_next(hscan_t *scan)
Retrieve the next node from the hash table, and update the pointer for the next invocation of hash_sc...
Definition hash.c:457
int hash_alloc_insert(hash_t *hash, const void *key, void *data)
Definition hash.c:630
void hash_set_allocator(hash_t *hash, hnode_alloc_t al, hnode_free_t fr, void *context)
Definition hash.c:359
int hash_verify(hash_t *hash)
Verify whether the given object is a valid hash table.
Definition hash.c:696
void hash_free_nodes(hash_t *hash)
Definition hash.c:373
hash_t * hash_create(hashcount_t maxcount, hash_comp_t compfun, hash_fun_t hashfun)
Create a dynamic hash table.
Definition hash.c:310
hash_val_t(*) hash_fun_t(const void *)
Definition include/atalk/hash.h:95
void(*) hnode_free_t(hnode_t *, void *)
Definition include/atalk/hash.h:102
unsigned long hashcount_t
Definition include/atalk/hash.h:26
hnode_t *(*) hnode_alloc_t(void *)
Definition include/atalk/hash.h:101
int(*) hash_comp_t(const void *, const void *)
Definition include/atalk/hash.h:81
Definition include/atalk/hash.h:139
Hash chain node structure.
Definition include/atalk/hash.h:63
Definition include/atalk/hash.h:169