netatalk  4.4.0dev
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
hash.h File Reference
#include <limits.h>
#include <atalk/hash.h>

Go to the source code of this file.

Macros

#define hash_isfull(H)
#define hash_isempty(H)
#define hash_count(H)
#define hash_size(H)
#define hnode_get(N)
#define hnode_getkey(N)
#define hnode_put(N, V)

Functions

hash_thash_create (hashcount_t, hash_comp_t, hash_fun_t)
void hash_set_allocator (hash_t *, hnode_alloc_t, hnode_free_t, void *)
void hash_destroy (hash_t *)
void hash_free_nodes (hash_t *)
void hash_free (hash_t *)
hash_thash_init (hash_t *, hashcount_t, hash_comp_t, hash_fun_t, hnode_t **, hashcount_t)
void hash_insert (hash_t *, hnode_t *, const void *)
hnode_thash_lookup (hash_t *, const void *)
hnode_thash_delete (hash_t *, hnode_t *)
int hash_alloc_insert (hash_t *, const void *, void *)
void hash_delete_free (hash_t *, hnode_t *)
void hnode_put (hnode_t *, void *)
void * hnode_get (hnode_t *)
const void * hnode_getkey (hnode_t *)
hashcount_t hash_count (hash_t *)
hashcount_t hash_size (hash_t *)
int hash_isfull (hash_t *)
int hash_isempty (hash_t *)
void hash_scan_begin (hscan_t *, hash_t *)
hnode_thash_scan_next (hscan_t *)
hnode_thash_scan_delete (hash_t *, hnode_t *)
void hash_scan_delfree (hash_t *, hnode_t *)
int hash_verify (hash_t *)
hnode_thnode_create (void *)
hnode_thnode_init (hnode_t *, void *)
void hnode_destroy (hnode_t *)

Macro Definition Documentation

◆ hash_count

#define hash_count ( H)
Value:
((H)->hash_nodecount)

◆ hash_isempty

#define hash_isempty ( H)
Value:
((H)->hash_nodecount == 0)

◆ hash_isfull

#define hash_isfull ( H)
Value:
((H)->hash_nodecount == (H)->hash_maxcount)

◆ hash_size

#define hash_size ( H)
Value:
((H)->hash_nchains)

◆ hnode_get

#define hnode_get ( N)
Value:
((N)->hash_data)

◆ hnode_getkey

#define hnode_getkey ( N)
Value:
((N)->hash_key)

◆ hnode_put

#define hnode_put ( N,
V )
Value:
((N)->hash_data = (V))

Function Documentation

◆ hash_alloc_insert()

int hash_alloc_insert ( hash_t * hash,
const void * key,
void * data )
extern

◆ hash_count()

hashcount_t hash_count ( hash_t * hash)
extern

◆ hash_create()

hash_t * hash_create ( hashcount_t maxcount,
hash_comp_t compfun,
hash_fun_t hashfun )
extern

◆ hash_delete()

hnode_t * hash_delete ( hash_t * hash,
hnode_t * node )
extern

◆ hash_delete_free()

void hash_delete_free ( hash_t * hash,
hnode_t * node )
extern

◆ hash_destroy()

void hash_destroy ( hash_t * hash)
extern

◆ hash_free()

void hash_free ( hash_t * )
extern

◆ hash_free_nodes()

void hash_free_nodes ( hash_t * hash)
extern

◆ hash_init()

hash_t * hash_init ( hash_t * ,
hashcount_t ,
hash_comp_t ,
hash_fun_t ,
hnode_t ** ,
hashcount_t  )
extern

◆ hash_insert()

void hash_insert ( hash_t * hash,
hnode_t * node,
const void * key )
extern

◆ hash_isempty()

int hash_isempty ( hash_t * )
extern

◆ hash_isfull()

int hash_isfull ( hash_t * )
extern

◆ hash_lookup()

hnode_t * hash_lookup ( hash_t * hash,
const void * key )
extern

◆ hash_scan_begin()

void hash_scan_begin ( hscan_t * scan,
hash_t * hash )
extern

◆ hash_scan_delete()

hnode_t * hash_scan_delete ( hash_t * hash,
hnode_t * node )
extern

◆ hash_scan_delfree()

void hash_scan_delfree ( hash_t * hash,
hnode_t * node )
extern

◆ hash_scan_next()

hnode_t * hash_scan_next ( hscan_t * scan)
extern

◆ hash_set_allocator()

void hash_set_allocator ( hash_t * hash,
hnode_alloc_t al,
hnode_free_t fr,
void * context )
extern

◆ hash_size()

hashcount_t hash_size ( hash_t * hash)
extern

◆ hash_verify()

int hash_verify ( hash_t * hash)
extern

◆ hnode_create()

hnode_t * hnode_create ( void * )
extern

◆ hnode_destroy()

void hnode_destroy ( hnode_t * )
extern

◆ hnode_get()

void * hnode_get ( hnode_t * node)
extern

◆ hnode_getkey()

const void * hnode_getkey ( hnode_t * node)
extern

◆ hnode_init()

hnode_t * hnode_init ( hnode_t * hnode,
void * data )
extern

◆ hnode_put()

void hnode_put ( hnode_t * ,
void *  )
extern