HASHINIT(9) | Kernel Developer's Manual | HASHINIT(9) |
hashinit
, hashfree
— kernel hashtable functions
#include
<sys/systm.h>
void *
hashinit
(int
num, int type,
int flags,
u_long *mask);
void
hashfree
(void
*hash, int num,
int type);
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.
The hashinit
() function returns a pointer
to the allocated and initialized hash table.
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.
The hashinit
function first appeared in
4.4BSD.
September 24, 2016 | OpenBSD-current |