HASHINIT(9)

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
free(9), malloc(9)

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.