summaryrefslogtreecommitdiffstats
path: root/man3/hash.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/hash.3')
-rw-r--r--man3/hash.3145
1 files changed, 0 insertions, 145 deletions
diff --git a/man3/hash.3 b/man3/hash.3
deleted file mode 100644
index 6ab717f..0000000
--- a/man3/hash.3
+++ /dev/null
@@ -1,145 +0,0 @@
-.\" Copyright (c) 1990, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" SPDX-License-Identifier: BSD-4-Clause-UC
-.\"
-.\" @(#)hash.3 8.6 (Berkeley) 8/18/94
-.\"
-.TH hash 3 2023-10-31 "Linux man-pages 6.7"
-.UC 7
-.SH NAME
-hash \- hash database access method
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.nf
-.ft B
-#include <sys/types.h>
-#include <db.h>
-.ft R
-.fi
-.SH DESCRIPTION
-.IR "Note well" :
-This page documents interfaces provided up until glibc 2.1.
-Since glibc 2.2, glibc no longer provides these interfaces.
-Probably, you are looking for the APIs provided by the
-.I libdb
-library instead.
-.P
-The routine
-.BR dbopen (3)
-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
-.BR dbopen (3),
-this manual page describes only the hash-specific information.
-.P
-The hash data structure is an extensible, dynamic hashing scheme.
-.P
-The access-method-specific data structure provided to
-.BR dbopen (3)
-is defined in the
-.I <db.h>
-include file as follows:
-.P
-.in +4n
-.EX
-typedef struct {
- unsigned int bsize;
- unsigned int ffactor;
- unsigned int nelem;
- unsigned int cachesize;
- uint32_t (*hash)(const void *, size_t);
- int lorder;
-} HASHINFO;
-.EE
-.in
-.P
-The elements of this structure are as follows:
-.TP 10
-.I bsize
-defines the hash table bucket size, and is, by default, 256 bytes.
-It may be preferable to increase the page size for disk-resident tables
-and tables with large data items.
-.TP
-.I ffactor
-indicates a desired density within the hash table.
-It is an approximation of the number of keys allowed to accumulate in any
-one bucket, determining when the hash table grows or shrinks.
-The default value is 8.
-.TP
-.I nelem
-is an estimate of the final size of the hash table.
-If not set or set too low, hash tables will expand gracefully as keys
-are entered, although a slight performance degradation may be noticed.
-The default value is 1.
-.TP
-.I cachesize
-is the suggested maximum size, in bytes, of the memory cache.
-This value is
-.IR "only advisory" ,
-and the access method will allocate more memory rather than fail.
-.TP
-.I hash
-is a user-defined hash function.
-Since no hash function performs equally well on all possible data, the
-user may find that the built-in hash function does poorly on a particular
-data set.
-A user-specified hash functions must take two arguments (a pointer to a byte
-string and a length) and return a 32-bit quantity to be used as the hash
-value.
-.TP
-.I lorder
-is the byte order for integers in the stored database metadata.
-The number should represent the order as an integer; for example,
-big endian order would be the number 4,321.
-If
-.I lorder
-is 0 (no order is specified), the current host order is used.
-If the file already exists, the specified value is ignored and the
-value specified when the tree was created is used.
-.P
-If the file already exists (and the
-.B O_TRUNC
-flag is not specified), the
-values specified for
-.IR bsize ,
-.IR ffactor ,
-.IR lorder ,
-and
-.I nelem
-are
-ignored and the values specified when the tree was created are used.
-.P
-If a hash function is specified,
-.I hash_open
-attempts to determine if the hash function specified is the same as
-the one with which the database was created, and fails if it is not.
-.P
-Backward-compatible interfaces to the routines described in
-.BR dbm (3),
-and
-.BR ndbm (3)
-are provided, however these interfaces are not compatible with
-previous file formats.
-.SH ERRORS
-The
-.I hash
-access method routines may fail and set
-.I errno
-for any of the errors specified for the library routine
-.BR dbopen (3).
-.SH BUGS
-Only big and little endian byte order are supported.
-.SH SEE ALSO
-.BR btree (3),
-.BR dbopen (3),
-.BR mpool (3),
-.BR recno (3)
-.P
-.IR "Dynamic Hash Tables" ,
-Per-Ake Larson, Communications of the ACM, April 1988.
-.P
-.IR "A New Hash Package for UNIX" ,
-Margo Seltzer, USENIX Proceedings, Winter 1991.