OpenBSD manual page server

Manual Page Search Parameters

HASHINIT(9) Kernel Developer's Manual HASHINIT(9)

hashinit, hashfreekernel 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.

free(9), malloc(9)

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