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.2 |