NAME
hashinit
, hashfree
— kernel hashtable
functions
SYNOPSIS
#include
<sys/systm.h>
void *
hashinit
(int
num, int type,
int flags,
u_long *mask);
void
hashfree
(void
*hash, int num,
int type);
DESCRIPTION
The
hashinit
()
function is used to allocate a hashtable of a desired size given by the
num argument. The hashinit
()
function will round this number to the next power of two, and allocate and
initialize the requested hashtable. The type and
flags arguments are passed to the
malloc(9)
function unchanged. The mask argument is used to pass
back the mask for use with the allocated hashing table.
The
hashfree
()
function causes memory allocated by the hashinit
()
function to be released. The num and
type arguments of related calls must match.
RETURN VALUES
The hashinit
() function returns a pointer
to the allocated and initialized hash table.
SEE ALSO
LIMITATIONS
The hashinit
() function currently only
allocates hash tables with LIST bucket pointers at this time. Future
enhancements to allocate QUEUE bucket pointers may be warranted. This may
necessitate an API change to accommodate.
HISTORY
The hashinit
function first appeared in
4.4BSD.