| HASH(9) | Kernel Developer's Manual | HASH(9) | 
hash, hash32_buf,
  hash32_str, hash32_strn
  —
#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);
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.
| December 5, 2001 | NetBSD 9.4 |