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 |