| HASH(9) | Kernel Developer's Manual | HASH(9) |
hash, hash32_buf,
hash32_str, hash32_strn
— kernel hash functions
#include
<sys/types.h>
#include <sys/hash.h>
uint32_t
hash32_buf(const
void *buf, size_t
len, uint32_t
ihash);
uint32_t
hash32_str(const
void *buf, uint32_t
ihash);
uint32_t
hash32_strn(const
void *buf, size_t
len, uint32_t
ihash);
The hash functions returns a hash of the
given buffer.
The
hash32_buf()
function returns a 32 bit hash of buf, which is
len bytes long, seeded with an initial hash of
ihash (which is usually
HASH32_BUF_INIT). This function may use a different
algorithm to hash32_str() and
hash32_strn().
The
hash32_str()
function returns a 32 bit hash of buf, which is a
NUL terminated ASCII string, seeded with an initial
hash of ihash (which is usually
HASH32_STR_INIT). This function must use the same
algorithm as hash32_strn(), so that the same data
returns the same hash.
The
hash32_strn()
function returns a 32 bit hash of buf, which is a
NUL terminated ASCII string, up to a maximum of
len bytes, seeded with an initial hash of
ihash (which is usually
HASH32_STR_INIT). This function must use the same
algorithm as hash32_str(), so that the same data
returns the same hash.
The ihash parameter is provided to allow for incremental hashing by allowing successive calls to use a previous hash value.
The hash32_* functions return a 32 bit hash of the provided buffer.
The kernel hashing API first appeared in NetBSD 1.6.
| December 5, 2001 | NetBSD 11.0 |