| HASH(3) | Library Functions Manual | HASH(3) | 
hash —
#include <sys/types.h>
#include <db.h>
dbopen() is the library interface to
  database files. One of the supported file formats is hash files. The general
  description of the database access methods is in
  dbopen(3), this manual page
  describes only the hash specific information.
The hash data structure is an extensible, dynamic hashing scheme.
The access method specific data structure provided to
    dbopen() is defined in the
    <db.h> header as
  follows:
typedef struct {
	u_int bsize;
	u_int ffactor;
	u_int nelem;
	u_int cachesize;
	uint32_t (*hash)(const void *, size_t);
	int lorder;
} HASHINFO;
The elements of this structure are as follows:
If the file already exists (and the
    O_TRUNC flag is not specified), the values specified
    for the parameters bsize,
    ffactor, lorder, and
    nelem are ignored and the values specified when the
    tree was created are used.
If a hash function is specified,
    hash_open() will attempt to determine if the hash
    function specified is the same as the one with which the database was
    created, and will fail if it is not.
hash access method routines may fail and set
  errno for any of the errors specified for the library
  routine dbopen(3).
Per-Ake Larson, Dynamic Hash Tables, Communications of the ACM, Issue 4, Volume 31, April 1988.
Margo Seltzer, A New Hash Package for UNIX, Proceedings of the 1991 Winter USENIX Technical Conference, USENIX Association, http://www.usenix.org/publications/library/proceedings/seltzer2.pdf, 173-184, January 1991.
| December 16, 2010 | NetBSD 9.3 |