summaryrefslogtreecommitdiffstats
path: root/lib/libc/db/man
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/db/man')
-rw-r--r--lib/libc/db/man/Makefile.inc18
-rw-r--r--lib/libc/db/man/btree.3271
-rw-r--r--lib/libc/db/man/dbm.3228
-rw-r--r--lib/libc/db/man/dbopen.3546
-rw-r--r--lib/libc/db/man/hash.3196
-rw-r--r--lib/libc/db/man/mpool.3247
-rw-r--r--lib/libc/db/man/recno.3228
7 files changed, 0 insertions, 1734 deletions
diff --git a/lib/libc/db/man/Makefile.inc b/lib/libc/db/man/Makefile.inc
deleted file mode 100644
index 349b029..0000000
--- a/lib/libc/db/man/Makefile.inc
+++ /dev/null
@@ -1,18 +0,0 @@
-# from @(#)Makefile.inc 8.1 (Berkeley) 6/4/93
-# $FreeBSD$
-
-.PATH: ${.CURDIR}/db/man
-
-MAN+= btree.3 dbm.3 dbopen.3 hash.3 mpool.3 recno.3
-
-MLINKS+= dbm.3 dbm_clearerr.3
-MLINKS+= dbm.3 dbm_close.3
-MLINKS+= dbm.3 dbm_delete.3
-MLINKS+= dbm.3 dbm_dirnfo.3
-MLINKS+= dbm.3 dbm_error.3
-MLINKS+= dbm.3 dbm_fetch.3
-MLINKS+= dbm.3 dbm_firstkey.3
-MLINKS+= dbm.3 dbm_nextkey.3
-MLINKS+= dbm.3 dbm_open.3
-MLINKS+= dbm.3 dbm_store.3
-MLINKS+= dbopen.3 db.3
diff --git a/lib/libc/db/man/btree.3 b/lib/libc/db/man/btree.3
deleted file mode 100644
index 42fc254..0000000
--- a/lib/libc/db/man/btree.3
+++ /dev/null
@@ -1,271 +0,0 @@
-.\" Copyright (c) 1990, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)btree.3 8.4 (Berkeley) 8/18/94
-.\" $FreeBSD$
-.\"
-.Dd August 18, 1994
-.Dt BTREE 3
-.Os
-.Sh NAME
-.Nm btree
-.Nd "btree database access method"
-.Sh SYNOPSIS
-.In sys/types.h
-.In db.h
-.Sh DESCRIPTION
-The routine
-.Fn dbopen
-is the library interface to database files.
-One of the supported file formats is
-.Nm
-files.
-The general description of the database access methods is in
-.Xr dbopen 3 ,
-this manual page describes only the
-.Nm
-specific information.
-.Pp
-The
-.Nm
-data structure is a sorted, balanced tree structure storing
-associated key/data pairs.
-.Pp
-The
-.Nm
-access method specific data structure provided to
-.Fn dbopen
-is defined in the
-.In db.h
-include file as follows:
-.Bd -literal
-typedef struct {
- u_long flags;
- u_int cachesize;
- int maxkeypage;
- int minkeypage;
- u_int psize;
- int (*compare)(const DBT *key1, const DBT *key2);
- size_t (*prefix)(const DBT *key1, const DBT *key2);
- int lorder;
-} BTREEINFO;
-.Ed
-.Pp
-The elements of this structure are as follows:
-.Bl -tag -width indent
-.It Va flags
-The flag value is specified by
-.Em or Ns 'ing
-any of the following values:
-.Bl -tag -width indent
-.It Dv R_DUP
-Permit duplicate keys in the tree, i.e., permit insertion if the key to be
-inserted already exists in the tree.
-The default behavior, as described in
-.Xr dbopen 3 ,
-is to overwrite a matching key when inserting a new key or to fail if
-the
-.Dv R_NOOVERWRITE
-flag is specified.
-The
-.Dv R_DUP
-flag is overridden by the
-.Dv R_NOOVERWRITE
-flag, and if the
-.Dv R_NOOVERWRITE
-flag is specified, attempts to insert duplicate keys into
-the tree will fail.
-.Pp
-If the database contains duplicate keys, the order of retrieval of
-key/data pairs is undefined if the
-.Va get
-routine is used, however,
-.Va seq
-routine calls with the
-.Dv R_CURSOR
-flag set will always return the logical
-.Dq first
-of any group of duplicate keys.
-.El
-.It Va cachesize
-A suggested maximum size (in bytes) of the memory cache.
-This value is
-.Em only
-advisory, and the access method will allocate more memory rather than fail.
-Since every search examines the root page of the tree, caching the most
-recently used pages substantially improves access time.
-In addition, physical writes are delayed as long as possible, so a moderate
-cache can reduce the number of I/O operations significantly.
-Obviously, using a cache increases (but only increases) the likelihood of
-corruption or lost data if the system crashes while a tree is being modified.
-If
-.Va cachesize
-is 0 (no size is specified) a default cache is used.
-.It Va maxkeypage
-The maximum number of keys which will be stored on any single page.
-Not currently implemented.
-.\" The maximum number of keys which will be stored on any single page.
-.\" Because of the way the
-.\" .Nm
-.\" data structure works,
-.\" .Va maxkeypage
-.\" must always be greater than or equal to 2.
-.\" If
-.\" .Va maxkeypage
-.\" is 0 (no maximum number of keys is specified) the page fill factor is
-.\" made as large as possible (which is almost invariably what is wanted).
-.It Va minkeypage
-The minimum number of keys which will be stored on any single page.
-This value is used to determine which keys will be stored on overflow
-pages, i.e., if a key or data item is longer than the pagesize divided
-by the minkeypage value, it will be stored on overflow pages instead
-of in the page itself.
-If
-.Va minkeypage
-is 0 (no minimum number of keys is specified) a value of 2 is used.
-.It Va psize
-Page size is the size (in bytes) of the pages used for nodes in the tree.
-The minimum page size is 512 bytes and the maximum page size is 64K.
-If
-.Va psize
-is 0 (no page size is specified) a page size is chosen based on the
-underlying file system I/O block size.
-.It Va compare
-Compare is the key comparison function.
-It must return an integer less than, equal to, or greater than zero if the
-first key argument is considered to be respectively less than, equal to,
-or greater than the second key argument.
-The same comparison function must be used on a given tree every time it
-is opened.
-If
-.Va compare
-is
-.Dv NULL
-(no comparison function is specified), the keys are compared
-lexically, with shorter keys considered less than longer keys.
-.It Va prefix
-The
-.Va prefix
-element
-is the prefix comparison function.
-If specified, this routine must return the number of bytes of the second key
-argument which are necessary to determine that it is greater than the first
-key argument.
-If the keys are equal, the key length should be returned.
-Note, the usefulness of this routine is very data dependent, but, in some
-data sets can produce significantly reduced tree sizes and search times.
-If
-.Va prefix
-is
-.Dv NULL
-(no prefix function is specified),
-.Em and
-no comparison function is specified, a default lexical comparison routine
-is used.
-If
-.Va prefix
-is
-.Dv NULL
-and a comparison routine is specified, no prefix comparison is
-done.
-.It Va lorder
-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
-.Va lorder
-is 0 (no order is specified) the current host order is used.
-.El
-.Pp
-If the file already exists (and the
-.Dv O_TRUNC
-flag is not specified), the
-values specified for the
-.Va flags , lorder
-and
-.Va psize
-arguments
-are ignored
-in favor of the values used when the tree was created.
-.Pp
-Forward sequential scans of a tree are from the least key to the greatest.
-.Pp
-Space freed up by deleting key/data pairs from the tree is never reclaimed,
-although it is normally made available for reuse.
-This means that the
-.Nm
-storage structure is grow-only.
-The only solutions are to avoid excessive deletions, or to create a fresh
-tree periodically from a scan of an existing one.
-.Pp
-Searches, insertions, and deletions in a
-.Nm
-will all complete in
-O lg base N where base is the average fill factor.
-Often, inserting ordered data into
-.Nm Ns s
-results in a low fill factor.
-This implementation has been modified to make ordered insertion the best
-case, resulting in a much better than normal page fill factor.
-.Sh ERRORS
-The
-.Nm
-access method routines may fail and set
-.Va errno
-for any of the errors specified for the library routine
-.Xr dbopen 3 .
-.Sh SEE ALSO
-.Xr dbopen 3 ,
-.Xr hash 3 ,
-.Xr mpool 3 ,
-.Xr recno 3
-.Rs
-.%T "The Ubiquitous B-tree"
-.%A Douglas Comer
-.%J "ACM Comput. Surv. 11"
-.%N 2
-.%D June 1979
-.%P 121-138
-.Re
-.Rs
-.%A Bayer
-.%A Unterauer
-.%T "Prefix B-trees"
-.%J "ACM Transactions on Database Systems"
-.%N 1
-.%V Vol. 2
-.%D March 1977
-.%P 11-26
-.Re
-.Rs
-.%B "The Art of Computer Programming Vol. 3: Sorting and Searching"
-.%A D. E. Knuth
-.%D 1968
-.%P 471-480
-.Re
-.Sh BUGS
-Only big and little endian byte order is supported.
diff --git a/lib/libc/db/man/dbm.3 b/lib/libc/db/man/dbm.3
deleted file mode 100644
index fabce8a..0000000
--- a/lib/libc/db/man/dbm.3
+++ /dev/null
@@ -1,228 +0,0 @@
-.\" Copyright (c) 1999 Tim Singletary
-.\" No copyright is claimed.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" $FreeBSD$
-.\"
-.Dd April 16, 2006
-.Dt DBM 3
-.Os
-.Sh NAME
-.Nm dbm_clearerr ,
-.Nm dbm_close ,
-.Nm dbm_delete ,
-.Nm dbm_dirfno ,
-.Nm dbm_error ,
-.Nm dbm_fetch ,
-.Nm dbm_firstkey ,
-.Nm dbm_nextkey ,
-.Nm dbm_open ,
-.Nm dbm_store
-.Nd database access functions
-.Sh SYNOPSIS
-.In fcntl.h
-.In ndbm.h
-.Ft DBM *
-.Fn dbm_open "const char *base" "int flags" "int mode"
-.Ft void
-.Fn dbm_close "DBM *db"
-.Ft int
-.Fn dbm_store "DBM *db" "datum key" "datum data" "int flags"
-.Ft datum
-.Fn dbm_fetch "DBM *db" "datum key"
-.Ft int
-.Fn dbm_delete "DBM *db" "datum key"
-.Ft datum
-.Fn dbm_firstkey "DBM *db"
-.Ft datum
-.Fn dbm_nextkey "DBM *db"
-.Ft int
-.Fn dbm_error "DBM *db"
-.Ft int
-.Fn dbm_clearerr "DBM *db"
-.Ft int
-.Fn dbm_dirfno "DBM *db"
-.Sh DESCRIPTION
-Database access functions.
-These functions are implemented using
-.Xr dbopen 3
-with a
-.Xr hash 3
-database.
-.Pp
-.Vt datum
-is declared in
-.In ndbm.h :
-.Bd -literal
-typedef struct {
- char *dptr;
- int dsize;
-} datum;
-.Ed
-.Pp
-The
-.Fn dbm_open base flags mode
-function
-opens or creates a database.
-The
-.Fa base
-argument
-is the basename of the file containing
-the database; the actual database has a
-.Pa .db
-suffix.
-I.e., if
-.Fa base
-is
-.Qq Li /home/me/mystuff
-then the actual database is in the file
-.Pa /home/me/mystuff.db .
-The
-.Fa flags
-and
-.Fa mode
-arguments
-are passed to
-.Xr open 2 .
-.Pq Dv O_RDWR | O_CREAT
-is a typical value for
-.Fa flags ;
-.Li 0660
-is a typical value for
-.Fa mode .
-.Dv O_WRONLY
-is not allowed in
-.Fa flags .
-The pointer returned by
-.Fn dbm_open
-identifies the database and is the
-.Fa db
-argument to the other functions.
-The
-.Fn dbm_open
-function
-returns
-.Dv NULL
-and sets
-.Va errno
-if there were any errors.
-.Pp
-The
-.Fn dbm_close db
-function
-closes the database.
-.Pp
-The
-.Fn dbm_store db key data flags
-function
-inserts or replaces an entry in the database.
-The
-.Fa flags
-argument
-is either
-.Dv DBM_INSERT
-or
-.Dv DBM_REPLACE .
-If
-.Fa flags
-is
-.Dv DBM_INSERT
-and the database already contains an entry for
-.Fa key ,
-that entry is not replaced.
-Otherwise the entry is replaced or inserted.
-The
-.Fn dbm_store
-function
-normally returns zero but returns 1 if the entry could not be
-inserted (because
-.Fa flags
-is
-.Dv DBM_INSERT ,
-and an entry with
-.Fa key
-already exists) or returns -1 and sets
-.Va errno
-if there were any errors.
-.Pp
-The
-.Fn dbm_fetch db key
-function
-returns
-.Dv NULL
-or the
-.Fa data
-corresponding to
-.Fa key .
-.Pp
-The
-.Fn dbm_delete db key
-function
-deletes the entry for
-.Fa key .
-The
-.Fn dbm_delete
-function
-normally returns zero but returns 1 if there was no entry with
-.Fa key
-in the database or returns -1 and sets
-.Va errno
-if there were any errors.
-.Pp
-The
-.Fn dbm_firstkey db
-function
-returns the first key in the database.
-The
-.Fn dbm_nextkey db
-function
-returns subsequent keys.
-The
-.Fn db_firstkey
-function
-must be called before
-.Fn dbm_nextkey .
-The order in which keys are returned is unspecified and may appear
-random.
-The
-.Fn dbm_nextkey
-function
-returns
-.Dv NULL
-after all keys have been returned.
-.Pp
-The
-.Fn dbm_error db
-function
-returns the
-.Va errno
-value of the most recent error.
-The
-.Fn dbm_clearerr db
-function
-resets this value to 0 and returns 0.
-.Pp
-The
-.Fn dbm_dirfno db
-function
-returns the file descriptor to the database.
-.Sh SEE ALSO
-.Xr open 2 ,
-.Xr dbopen 3 ,
-.Xr hash 3
-.Sh STANDARDS
-These functions (except
-.Fn dbm_dirfno )
-are included in the
-.St -susv2 .
diff --git a/lib/libc/db/man/dbopen.3 b/lib/libc/db/man/dbopen.3
deleted file mode 100644
index 13481dd..0000000
--- a/lib/libc/db/man/dbopen.3
+++ /dev/null
@@ -1,546 +0,0 @@
-.\" Copyright (c) 1990, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)dbopen.3 8.5 (Berkeley) 1/2/94
-.\" $FreeBSD$
-.\"
-.Dd September 10, 2010
-.Dt DBOPEN 3
-.Os
-.Sh NAME
-.Nm dbopen
-.Nd "database access methods"
-.Sh SYNOPSIS
-.In sys/types.h
-.In db.h
-.In fcntl.h
-.In limits.h
-.Ft DB *
-.Fn dbopen "const char *file" "int flags" "int mode" "DBTYPE type" "const void *openinfo"
-.Sh DESCRIPTION
-The
-.Fn dbopen
-function
-is the library interface to database files.
-The supported file formats are btree, hashed and UNIX file oriented.
-The btree format is a representation of a sorted, balanced tree structure.
-The hashed format is an extensible, dynamic hashing scheme.
-The flat-file format is a byte stream file with fixed or variable length
-records.
-The formats and file format specific information are described in detail
-in their respective manual pages
-.Xr btree 3 ,
-.Xr hash 3
-and
-.Xr recno 3 .
-.Pp
-The
-.Fn dbopen
-function
-opens
-.Fa file
-for reading and/or writing.
-Files never intended to be preserved on disk may be created by setting
-the
-.Fa file
-argument to
-.Dv NULL .
-.Pp
-The
-.Fa flags
-and
-.Fa mode
-arguments
-are as specified to the
-.Xr open 2
-routine, however, only the
-.Dv O_CREAT , O_EXCL , O_EXLOCK , O_NOFOLLOW , O_NONBLOCK ,
-.Dv O_RDONLY , O_RDWR , O_SHLOCK , O_SYNC
-and
-.Dv O_TRUNC
-flags are meaningful.
-(Note, opening a database file
-.Dv O_WRONLY
-is not possible.)
-.\"Three additional options may be specified by
-.\".Em or Ns 'ing
-.\"them into the
-.\".Fa flags
-.\"argument.
-.\".Bl -tag -width indent
-.\".It Dv DB_LOCK
-.\"Do the necessary locking in the database to support concurrent access.
-.\"If concurrent access is not needed or the database is read-only this
-.\"flag should not be set, as it tends to have an associated performance
-.\"penalty.
-.\".It Dv DB_SHMEM
-.\"Place the underlying memory pool used by the database in shared
-.\"memory.
-.\"Necessary for concurrent access.
-.\".It Dv DB_TXN
-.\"Support transactions in the database.
-.\"The
-.\".Dv DB_LOCK
-.\"and
-.\".Dv DB_SHMEM
-.\"flags must be set as well.
-.\".El
-.Pp
-The
-.Fa type
-argument is of type
-.Ft DBTYPE
-(as defined in the
-.In db.h
-include file) and
-may be set to
-.Dv DB_BTREE , DB_HASH
-or
-.Dv DB_RECNO .
-.Pp
-The
-.Fa openinfo
-argument is a pointer to an access method specific structure described
-in the access method's manual page.
-If
-.Fa openinfo
-is
-.Dv NULL ,
-each access method will use defaults appropriate for the system
-and the access method.
-.Pp
-The
-.Fn dbopen
-function
-returns a pointer to a
-.Ft DB
-structure on success and
-.Dv NULL
-on error.
-The
-.Ft DB
-structure is defined in the
-.In db.h
-include file, and contains at
-least the following fields:
-.Bd -literal
-typedef struct {
- DBTYPE type;
- int (*close)(DB *db);
- int (*del)(const DB *db, const DBT *key, u_int flags);
- int (*fd)(const DB *db);
- int (*get)(const DB *db, const DBT *key, DBT *data, u_int flags);
- int (*put)(const DB *db, DBT *key, const DBT *data,
- u_int flags);
- int (*sync)(const DB *db, u_int flags);
- int (*seq)(const DB *db, DBT *key, DBT *data, u_int flags);
-} DB;
-.Ed
-.Pp
-These elements describe a database type and a set of functions performing
-various actions.
-These functions take a pointer to a structure as returned by
-.Fn dbopen ,
-and sometimes one or more pointers to key/data structures and a flag value.
-.Bl -tag -width indent
-.It Va type
-The type of the underlying access method (and file format).
-.It Va close
-A pointer to a routine to flush any cached information to disk, free any
-allocated resources, and close the underlying file(s).
-Since key/data pairs may be cached in memory, failing to sync the file
-with a
-.Va close
-or
-.Va sync
-function may result in inconsistent or lost information.
-.Va close
-routines return -1 on error (setting
-.Va errno )
-and 0 on success.
-.It Va del
-A pointer to a routine to remove key/data pairs from the database.
-.Pp
-The
-.Fa flags
-argument
-may be set to the following value:
-.Bl -tag -width indent
-.It Dv R_CURSOR
-Delete the record referenced by the cursor.
-The cursor must have previously been initialized.
-.El
-.Pp
-.Va delete
-routines return -1 on error (setting
-.Va errno ) ,
-0 on success, and 1 if the specified
-.Fa key
-was not in the file.
-.It Va fd
-A pointer to a routine which returns a file descriptor representative
-of the underlying database.
-A file descriptor referencing the same file will be returned to all
-processes which call
-.Fn dbopen
-with the same
-.Fa file
-name.
-This file descriptor may be safely used as an argument to the
-.Xr fcntl 2
-and
-.Xr flock 2
-locking functions.
-The file descriptor is not necessarily associated with any of the
-underlying files used by the access method.
-No file descriptor is available for in memory databases.
-.Va \&Fd
-routines return -1 on error (setting
-.Va errno ) ,
-and the file descriptor on success.
-.It Va get
-A pointer to a routine which is the interface for keyed retrieval from
-the database.
-The address and length of the data associated with the specified
-.Fa key
-are returned in the structure referenced by
-.Fa data .
-.Va get
-routines return -1 on error (setting
-.Va errno ) ,
-0 on success, and 1 if the
-.Fa key
-was not in the file.
-.It Va put
-A pointer to a routine to store key/data pairs in the database.
-.Pp
-The
-.Fa flags
-argument
-may be set to one of the following values:
-.Bl -tag -width indent
-.It Dv R_CURSOR
-Replace the key/data pair referenced by the cursor.
-The cursor must have previously been initialized.
-.It Dv R_IAFTER
-Append the data immediately after the data referenced by
-.Fa key ,
-creating a new key/data pair.
-The record number of the appended key/data pair is returned in the
-.Fa key
-structure.
-(Applicable only to the
-.Dv DB_RECNO
-access method.)
-.It Dv R_IBEFORE
-Insert the data immediately before the data referenced by
-.Fa key ,
-creating a new key/data pair.
-The record number of the inserted key/data pair is returned in the
-.Fa key
-structure.
-(Applicable only to the
-.Dv DB_RECNO
-access method.)
-.It Dv R_NOOVERWRITE
-Enter the new key/data pair only if the key does not previously exist.
-.It Dv R_SETCURSOR
-Store the key/data pair, setting or initializing the position of the
-cursor to reference it.
-(Applicable only to the
-.Dv DB_BTREE
-and
-.Dv DB_RECNO
-access methods.)
-.El
-.Pp
-.Dv R_SETCURSOR
-is available only for the
-.Dv DB_BTREE
-and
-.Dv DB_RECNO
-access
-methods because it implies that the keys have an inherent order
-which does not change.
-.Pp
-.Dv R_IAFTER
-and
-.Dv R_IBEFORE
-are available only for the
-.Dv DB_RECNO
-access method because they each imply that the access method is able to
-create new keys.
-This is only true if the keys are ordered and independent, record numbers
-for example.
-.Pp
-The default behavior of the
-.Va put
-routines is to enter the new key/data pair, replacing any previously
-existing key.
-.Pp
-.Va put
-routines return -1 on error (setting
-.Va errno ) ,
-0 on success, and 1 if the
-.Dv R_NOOVERWRITE
-flag
-was set and the key already exists in the file.
-.It Va seq
-A pointer to a routine which is the interface for sequential
-retrieval from the database.
-The address and length of the key are returned in the structure
-referenced by
-.Fa key ,
-and the address and length of the data are returned in the
-structure referenced
-by
-.Fa data .
-.Pp
-Sequential key/data pair retrieval may begin at any time, and the
-position of the
-.Dq cursor
-is not affected by calls to the
-.Va del ,
-.Va get ,
-.Va put ,
-or
-.Va sync
-routines.
-Modifications to the database during a sequential scan will be reflected
-in the scan, i.e., records inserted behind the cursor will not be returned
-while records inserted in front of the cursor will be returned.
-.Pp
-The
-.Fa flags
-argument
-.Em must
-be set to one of the following values:
-.Bl -tag -width indent
-.It Dv R_CURSOR
-The data associated with the specified key is returned.
-This differs from the
-.Va get
-routines in that it sets or initializes the cursor to the location of
-the key as well.
-(Note, for the
-.Dv DB_BTREE
-access method, the returned key is not necessarily an
-exact match for the specified key.
-The returned key is the smallest key greater than or equal to the specified
-key, permitting partial key matches and range searches.)
-.It Dv R_FIRST
-The first key/data pair of the database is returned, and the cursor
-is set or initialized to reference it.
-.It Dv R_LAST
-The last key/data pair of the database is returned, and the cursor
-is set or initialized to reference it.
-(Applicable only to the
-.Dv DB_BTREE
-and
-.Dv DB_RECNO
-access methods.)
-.It Dv R_NEXT
-Retrieve the key/data pair immediately after the cursor.
-If the cursor is not yet set, this is the same as the
-.Dv R_FIRST
-flag.
-.It Dv R_PREV
-Retrieve the key/data pair immediately before the cursor.
-If the cursor is not yet set, this is the same as the
-.Dv R_LAST
-flag.
-(Applicable only to the
-.Dv DB_BTREE
-and
-.Dv DB_RECNO
-access methods.)
-.El
-.Pp
-.Dv R_LAST
-and
-.Dv R_PREV
-are available only for the
-.Dv DB_BTREE
-and
-.Dv DB_RECNO
-access methods because they each imply that the keys have an inherent
-order which does not change.
-.Pp
-.Va seq
-routines return -1 on error (setting
-.Va errno ) ,
-0 on success and 1 if there are no key/data pairs less than or greater
-than the specified or current key.
-If the
-.Dv DB_RECNO
-access method is being used, and if the database file
-is a character special file and no complete key/data pairs are currently
-available, the
-.Va seq
-routines return 2.
-.It Va sync
-A pointer to a routine to flush any cached information to disk.
-If the database is in memory only, the
-.Va sync
-routine has no effect and will always succeed.
-.Pp
-The
-.Fa flags
-argument may be set to the following value:
-.Bl -tag -width indent
-.It Dv R_RECNOSYNC
-If the
-.Dv DB_RECNO
-access method is being used, this flag causes
-the
-.Va sync
-routine to apply to the btree file which underlies the
-recno file, not the recno file itself.
-(See the
-.Va bfname
-field of the
-.Xr recno 3
-manual page for more information.)
-.El
-.Pp
-.Va sync
-routines return -1 on error (setting
-.Va errno )
-and 0 on success.
-.El
-.Sh "KEY/DATA PAIRS"
-Access to all file types is based on key/data pairs.
-Both keys and data are represented by the following data structure:
-.Bd -literal
-typedef struct {
- void *data;
- size_t size;
-} DBT;
-.Ed
-.Pp
-The elements of the
-.Ft DBT
-structure are defined as follows:
-.Bl -tag -width "data"
-.It Va data
-A pointer to a byte string.
-.It Va size
-The length of the byte string.
-.El
-.Pp
-Key and data byte strings may reference strings of essentially unlimited
-length although any two of them must fit into available memory at the same
-time.
-It should be noted that the access methods provide no guarantees about
-byte string alignment.
-.Sh ERRORS
-The
-.Fn dbopen
-routine may fail and set
-.Va errno
-for any of the errors specified for the library routines
-.Xr open 2
-and
-.Xr malloc 3
-or the following:
-.Bl -tag -width Er
-.It Bq Er EFTYPE
-A file is incorrectly formatted.
-.It Bq Er EINVAL
-An argument has been specified (hash function, pad byte etc.) that is
-incompatible with the current file specification or which is not
-meaningful for the function (for example, use of the cursor without
-prior initialization) or there is a mismatch between the version
-number of file and the software.
-.El
-.Pp
-The
-.Va close
-routines may fail and set
-.Va errno
-for any of the errors specified for the library routines
-.Xr close 2 ,
-.Xr read 2 ,
-.Xr write 2 ,
-.Xr free 3 ,
-or
-.Xr fsync 2 .
-.Pp
-The
-.Va del ,
-.Va get ,
-.Va put
-and
-.Va seq
-routines may fail and set
-.Va errno
-for any of the errors specified for the library routines
-.Xr read 2 ,
-.Xr write 2 ,
-.Xr free 3
-or
-.Xr malloc 3 .
-.Pp
-The
-.Va fd
-routines will fail and set
-.Va errno
-to
-.Er ENOENT
-for in memory databases.
-.Pp
-The
-.Va sync
-routines may fail and set
-.Va errno
-for any of the errors specified for the library routine
-.Xr fsync 2 .
-.Sh SEE ALSO
-.Xr btree 3 ,
-.Xr hash 3 ,
-.Xr mpool 3 ,
-.Xr recno 3
-.Rs
-.%T "LIBTP: Portable, Modular Transactions for UNIX"
-.%A Margo Seltzer
-.%A Michael Olson
-.%R "USENIX proceedings"
-.%D Winter 1992
-.Re
-.Sh BUGS
-The typedef
-.Ft DBT
-is a mnemonic for
-.Dq "data base thang" ,
-and was used
-because noone could think of a reasonable name that was not already used.
-.Pp
-The file descriptor interface is a kluge and will be deleted in a
-future version of the interface.
-.Pp
-None of the access methods provide any form of concurrent access,
-locking, or transactions.
diff --git a/lib/libc/db/man/hash.3 b/lib/libc/db/man/hash.3
deleted file mode 100644
index 133885d..0000000
--- a/lib/libc/db/man/hash.3
+++ /dev/null
@@ -1,196 +0,0 @@
-.\" Copyright (c) 1990, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)hash.3 8.6 (Berkeley) 8/18/94
-.\" $FreeBSD$
-.\"
-.Dd August 18, 1994
-.Dt HASH 3
-.Os
-.Sh NAME
-.Nm hash
-.Nd "hash database access method"
-.Sh SYNOPSIS
-.In sys/types.h
-.In db.h
-.Sh DESCRIPTION
-The routine
-.Fn dbopen
-is the library interface to database files.
-One of the supported file formats is
-.Nm
-files.
-The general description of the database access methods is in
-.Xr dbopen 3 ,
-this manual page describes only the
-.Nm
-specific information.
-.Pp
-The
-.Nm
-data structure is an extensible, dynamic hashing scheme.
-.Pp
-The access method specific data structure provided to
-.Fn dbopen
-is defined in the
-.In db.h
-include file as follows:
-.Bd -literal
-typedef struct {
- u_int bsize;
- u_int ffactor;
- u_int nelem;
- u_int cachesize;
- u_int32_t (*hash)(const void *, size_t);
- int lorder;
-} HASHINFO;
-.Ed
-.Pp
-The elements of this structure are as follows:
-.Bl -tag -width indent
-.It Va bsize
-The
-.Va bsize
-element
-defines the
-.Nm
-table bucket size, and is, by default, 4096 bytes.
-It may be preferable to increase the page size for disk-resident tables
-and tables with large data items.
-.It Va ffactor
-The
-.Va ffactor
-element
-indicates a desired density within the
-.Nm
-table.
-It is an approximation of the number of keys allowed to accumulate in any
-one bucket, determining when the
-.Nm
-table grows or shrinks.
-The default value is 8.
-.It Va nelem
-The
-.Va nelem
-element
-is an estimate of the final size of the
-.Nm
-table.
-If not set or set too low,
-.Nm
-tables will expand gracefully as keys
-are entered, although a slight performance degradation may be noticed.
-The default value is 1.
-.It Va cachesize
-A suggested maximum size, in bytes, of the memory cache.
-This value is
-.Em only
-advisory, and the access method will allocate more memory rather
-than fail.
-.It Va hash
-The
-.Va hash
-element
-is a user defined
-.Nm
-function.
-Since no
-.Nm
-function performs equally well on all possible data, the
-user may find that the built-in
-.Nm
-function does poorly on a particular
-data set.
-User specified
-.Nm
-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
-.Nm
-value.
-.It Va lorder
-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
-.Va 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.
-.El
-.Pp
-If the file already exists (and the
-.Dv O_TRUNC
-flag is not specified), the
-values specified for the
-.Va bsize , ffactor , lorder
-and
-.Va nelem
-arguments
-are
-ignored and the values specified when the tree was created are used.
-.Pp
-If a
-.Nm
-function is specified,
-.Fn hash_open
-will attempt to determine if the
-.Nm
-function specified is the same as
-the one with which the database was created, and will fail if it is not.
-.Pp
-Backward compatible interfaces to the older
-.Em dbm
-and
-.Em ndbm
-routines are provided, however these interfaces are not compatible with
-previous file formats.
-.Sh ERRORS
-The
-.Nm
-access method routines may fail and set
-.Va errno
-for any of the errors specified for the library routine
-.Xr dbopen 3 .
-.Sh SEE ALSO
-.Xr btree 3 ,
-.Xr dbopen 3 ,
-.Xr mpool 3 ,
-.Xr recno 3
-.Rs
-.%T "Dynamic Hash Tables"
-.%A Per-Ake Larson
-.%R "Communications of the ACM"
-.%D April 1988
-.Re
-.Rs
-.%T "A New Hash Package for UNIX"
-.%A Margo Seltzer
-.%R "USENIX Proceedings"
-.%D Winter 1991
-.Re
-.Sh BUGS
-Only big and little endian byte order is supported.
diff --git a/lib/libc/db/man/mpool.3 b/lib/libc/db/man/mpool.3
deleted file mode 100644
index 3de51c3..0000000
--- a/lib/libc/db/man/mpool.3
+++ /dev/null
@@ -1,247 +0,0 @@
-.\" Copyright (c) 1990, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)mpool.3 8.1 (Berkeley) 6/4/93
-.\" $FreeBSD$
-.\"
-.Dd February 25, 1999
-.Dt MPOOL 3
-.Os
-.Sh NAME
-.Nm mpool
-.Nd "shared memory buffer pool"
-.Sh SYNOPSIS
-.In db.h
-.In mpool.h
-.Ft MPOOL *
-.Fn mpool_open "void *key" "int fd" "pgno_t pagesize" "pgno_t maxcache"
-.Ft void
-.Fo mpool_filter
-.Fa "MPOOL *mp"
-.Fa "void (*pgin)(void *, pgno_t, void *)"
-.Fa "void (*pgout)(void *, pgno_t, void *)"
-.Fa "void *pgcookie"
-.Fc
-.Ft void *
-.Fn mpool_new "MPOOL *mp" "pgno_t *pgnoaddr" "u_int flags"
-.Ft int
-.Fn mpool_delete "MPOOL *mp" "void *page"
-.Ft void *
-.Fn mpool_get "MPOOL *mp" "pgno_t pgno" "u_int flags"
-.Ft int
-.Fn mpool_put "MPOOL *mp" "void *pgaddr" "u_int flags"
-.Ft int
-.Fn mpool_sync "MPOOL *mp"
-.Ft int
-.Fn mpool_close "MPOOL *mp"
-.Sh DESCRIPTION
-The
-.Nm mpool
-library interface is intended to provide page oriented buffer management
-of files.
-.Pp
-The
-.Fn mpool_open
-function initializes a memory pool.
-The
-.Fa key
-argument is currently ignored.
-The
-.Fa fd
-argument is a file descriptor for the underlying file, which must be seekable.
-.Pp
-The
-.Fa pagesize
-argument is the size, in bytes, of the pages into which the file is broken up.
-The
-.Fa maxcache
-argument is the maximum number of pages from the underlying file to cache
-at any one time.
-This value is not relative to the number of processes which share a file's
-buffers, but will be the largest value specified by any of the processes
-sharing the file.
-.Pp
-The
-.Fn mpool_filter
-function is intended to make transparent input and output processing of the
-pages possible.
-If the
-.Fa pgin
-function is specified, it is called each time a buffer is read into the memory
-pool from the backing file.
-If the
-.Fa pgout
-function is specified, it is called each time a buffer is written into the
-backing file.
-Both functions are called with the
-.Fa pgcookie
-pointer, the page number and a pointer to the page to being read or written.
-.Pp
-The function
-.Fn mpool_new
-takes an
-.Dv MPOOL
-pointer, an address, and a set of flags as arguments.
-If a new page can be allocated, a pointer to the page is returned and
-the page number is stored into the
-.Fa pgnoaddr
-address.
-Otherwise,
-.Dv NULL
-is returned and
-.Va errno
-is set.
-The flags value is formed by
-.Tn OR Ns 'ing
-the following values:
-.Bl -tag -width Ds
-.It Dv MPOOL_PAGE_REQUEST
-Allocate a new page with a specific page number.
-.It Dv MPOOL_PAGE_NEXT
-Allocate a new page with the next page number.
-.El
-.Pp
-The function
-.Fn mpool_delete
-deletes the specified page from a pool and frees the page.
-It takes an
-.Dv MPOOL
-pointer and a page as arguments.
-The page must have been generated by
-.Fn mpool_new .
-.Pp
-The
-.Fn mpool_get
-function takes a
-.Ft MPOOL
-pointer and a page number as arguments.
-If the page exists, a pointer to the page is returned.
-Otherwise,
-.Dv NULL
-is returned and
-.Va errno
-is set.
-The
-.Fa flags
-argument is not currently used.
-.Pp
-The
-.Fn mpool_put
-function unpins the page referenced by
-.Fa pgaddr .
-The
-.Fa pgaddr
-argument
-must be an address previously returned by
-.Fn mpool_get
-or
-.Fn mpool_new .
-The
-.Fa flags
-argument is specified by
-.Em or Ns 'ing
-any of the following values:
-.Bl -tag -width indent
-.It Dv MPOOL_DIRTY
-The page has been modified and needs to be written to the backing file.
-.El
-.Pp
-The
-.Fn mpool_put
-function
-returns 0 on success and -1 if an error occurs.
-.Pp
-The
-.Fn mpool_sync
-function writes all modified pages associated with the
-.Ft MPOOL
-pointer to the
-backing file.
-The
-.Fn mpool_sync
-function
-returns 0 on success and -1 if an error occurs.
-.Pp
-The
-.Fn mpool_close
-function free's up any allocated memory associated with the memory pool
-cookie.
-Modified pages are
-.Em not
-written to the backing file.
-The
-.Fn mpool_close
-function
-returns 0 on success and -1 if an error occurs.
-.Sh ERRORS
-The
-.Fn mpool_open
-function may fail and set
-.Va errno
-for any of the errors specified for the library routine
-.Xr malloc 3 .
-.Pp
-The
-.Fn mpool_get
-function may fail and set
-.Va errno
-for the following:
-.Bl -tag -width Er
-.It Bq Er EINVAL
-The requested record does not exist.
-.El
-.Pp
-The
-.Fn mpool_new
-and
-.Fn mpool_get
-functions may fail and set
-.Va errno
-for any of the errors specified for the library routines
-.Xr read 2 ,
-.Xr write 2 ,
-and
-.Xr malloc 3 .
-.Pp
-The
-.Fn mpool_sync
-function may fail and set
-.Va errno
-for any of the errors specified for the library routine
-.Xr write 2 .
-.Pp
-The
-.Fn mpool_close
-function may fail and set
-.Va errno
-for any of the errors specified for the library routine
-.Xr free 3 .
-.Sh SEE ALSO
-.Xr btree 3 ,
-.Xr dbopen 3 ,
-.Xr hash 3 ,
-.Xr recno 3
diff --git a/lib/libc/db/man/recno.3 b/lib/libc/db/man/recno.3
deleted file mode 100644
index 22d5567..0000000
--- a/lib/libc/db/man/recno.3
+++ /dev/null
@@ -1,228 +0,0 @@
-.\" Copyright (c) 1990, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\" @(#)recno.3 8.5 (Berkeley) 8/18/94
-.\" $FreeBSD$
-.\"
-.Dd August 18, 1994
-.Dt RECNO 3
-.Os
-.Sh NAME
-.Nm recno
-.Nd "record number database access method"
-.Sh SYNOPSIS
-.In sys/types.h
-.In db.h
-.Sh DESCRIPTION
-The routine
-.Fn dbopen
-is the library interface to database files.
-One of the supported file formats is record number files.
-The general description of the database access methods is in
-.Xr dbopen 3 ,
-this manual page describes only the
-.Nm
-specific information.
-.Pp
-The record number data structure is either variable or fixed-length
-records stored in a flat-file format, accessed by the logical record
-number.
-The existence of record number five implies the existence of records
-one through four, and the deletion of record number one causes
-record number five to be renumbered to record number four, as well
-as the cursor, if positioned after record number one, to shift down
-one record.
-.Pp
-The
-.Nm
-access method specific data structure provided to
-.Fn dbopen
-is defined in the
-.In db.h
-include file as follows:
-.Bd -literal
-typedef struct {
- u_long flags;
- u_int cachesize;
- u_int psize;
- int lorder;
- size_t reclen;
- u_char bval;
- char *bfname;
-} RECNOINFO;
-.Ed
-.Pp
-The elements of this structure are defined as follows:
-.Bl -tag -width indent
-.It Va flags
-The flag value is specified by
-.Em or Ns 'ing
-any of the following values:
-.Bl -tag -width indent
-.It Dv R_FIXEDLEN
-The records are fixed-length, not byte delimited.
-The structure element
-.Va reclen
-specifies the length of the record, and the structure element
-.Va bval
-is used as the pad character.
-Any records, inserted into the database, that are less than
-.Va reclen
-bytes long are automatically padded.
-.It Dv R_NOKEY
-In the interface specified by
-.Fn dbopen ,
-the sequential record retrieval fills in both the caller's key and
-data structures.
-If the
-.Dv R_NOKEY
-flag is specified, the
-.Em cursor
-routines are not required to fill in the key structure.
-This permits applications to retrieve records at the end of files without
-reading all of the intervening records.
-.It Dv R_SNAPSHOT
-This flag requires that a snapshot of the file be taken when
-.Fn dbopen
-is called, instead of permitting any unmodified records to be read from
-the original file.
-.El
-.It Va cachesize
-A suggested maximum size, in bytes, of the memory cache.
-This value is
-.Em only
-advisory, and the access method will allocate more memory rather than fail.
-If
-.Va cachesize
-is 0 (no size is specified) a default cache is used.
-.It Va psize
-The
-.Nm
-access method stores the in-memory copies of its records
-in a btree.
-This value is the size (in bytes) of the pages used for nodes in that tree.
-If
-.Va psize
-is 0 (no page size is specified) a page size is chosen based on the
-underlying file system I/O block size.
-See
-.Xr btree 3
-for more information.
-.It Va lorder
-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
-.Va lorder
-is 0 (no order is specified) the current host order is used.
-.It Va reclen
-The length of a fixed-length record.
-.It Va bval
-The delimiting byte to be used to mark the end of a record for
-variable-length records, and the pad character for fixed-length
-records.
-If no value is specified, newlines
-.Pq Dq \en
-are used to mark the end
-of variable-length records and fixed-length records are padded with
-spaces.
-.It Va bfname
-The
-.Nm
-access method stores the in-memory copies of its records
-in a btree.
-If
-.Va bfname
-is
-.No non\- Ns Dv NULL ,
-it specifies the name of the btree file,
-as if specified as the file name for a
-.Fn dbopen
-of a btree file.
-.El
-.Pp
-The data part of the key/data pair used by the
-.Nm
-access method
-is the same as other access methods.
-The key is different.
-The
-.Va data
-field of the key should be a pointer to a memory location of type
-.Ft recno_t ,
-as defined in the
-.In db.h
-include file.
-This type is normally the largest unsigned integral type available to
-the implementation.
-The
-.Va size
-field of the key should be the size of that type.
-.Pp
-Because there can be no meta-data associated with the underlying
-.Nm
-access method files, any changes made to the default values
-(e.g.\& fixed record length or byte separator value) must be explicitly
-specified each time the file is opened.
-.Pp
-In the interface specified by
-.Fn dbopen ,
-using the
-.Va put
-interface to create a new record will cause the creation of multiple,
-empty records if the record number is more than one greater than the
-largest record currently in the database.
-.Sh ERRORS
-The
-.Nm
-access method routines may fail and set
-.Va errno
-for any of the errors specified for the library routine
-.Xr dbopen 3
-or the following:
-.Bl -tag -width Er
-.It Bq Er EINVAL
-An attempt was made to add a record to a fixed-length database that
-was too large to fit.
-.El
-.Sh SEE ALSO
-.Xr btree 3 ,
-.Xr dbopen 3 ,
-.Xr hash 3 ,
-.Xr mpool 3
-.Rs
-.%T "Document Processing in a Relational Database System"
-.%A Michael Stonebraker
-.%A Heidi Stettner
-.%A Joseph Kalash
-.%A Antonin Guttman
-.%A Nadene Lynn
-.%R "Memorandum No. UCB/ERL M82/32"
-.%D May 1982
-.Re
-.Sh BUGS
-Only big and little endian byte order is supported.
OpenPOWER on IntegriCloud