 |
Index for Section 3 |
|
 |
Alphabetical listing for D |
|
 |
Bottom of page |
|
dbm(3)
NAME
dbminit, fetch, store, delete, firstkey, nextkey, forder - Database
subroutines
SYNOPSIS
#include <dbm.h>
typedef struct {
char *dptr
int dzise
} datum;
int dbminit(
char *file );
int store(
datum key,
datum content );
int delete(
datum key );
datum firstkey(
void );
datum nextkey(
datum key );
long forder(
datum key );
LIBRARY
DBM Library (libdbm.a)
PARAMETERS
file
Specifies the database file.
key Specifies the key.
content
Specifies a value associated with the key parameter.
DESCRIPTION
The dbminit(), fetch(), store(), delete(), firstkey(), nextkey(), and
forder() functions maintain key/content pairs in a database. They are
obtained with the -ldbm loader option. The dbm library is provided only for
backwards compatibility, having been obsoleted by the ndbm functions in
libc. See the manual page for ndbm for more information.
The dbminit(), fetch(), store(), delete(), firstkey(), nextkey(), and
forder() functions handle very large databases (up to a billion blocks) and
access a keyed item in one or two file system accesses. Arbitrary binary
data, as well as normal ASCII strings, are allowed.
The database is stored in two files. One file is a directory containing a
bit map and has .dir as its suffix. The second file contains all data and
has .pag as its suffix.
Before a database can be accessed, it must be opened by the dbminit()
function. At the time that dbminit() is called, the file.dir and file.pag
files must exist. (An empty database is created by creating zero-length
.dir and .pag files.)
Once open, the data stored under a key is accessed by the fetch() function
and data is placed under a key by the store() function. A key (and its
associated contents) is deleted by the delete() function. A linear pass
through all keys in a database may be made by use of the firstkey() and
nextkey() functions. The firstkey() function returns the first key in the
database. With any key, the nextkey() function returns the next key in the
database. The following code traverses the database:
for (key = firstkey(); key.dptr != NULL; key = nextkey(key))
RETURN VALUES
Upon successful completion, the functions that return an int return 0
(zero). Otherwise, a negative number is returned. The functions that return
a datum indicate errors with a null (0) dptr.
SEE ALSO
Functions: ndbm(3)
 |
Index for Section 3 |
|
 |
Alphabetical listing for D |
|
 |
Top of page |
|