| 
        dbminit, fetch, store, delete, firstkey, nextkey, forder -
       Database subroutines
       #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 );
       DBM Library (libdbm.a)
        Specifies the database file.  Specifies the  key.   Specifies
 a value associated with the key parameter.
        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 as its suffix. The  second
 file contains all data and has 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  and
       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))
       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.
       Functions: ndbm(3)
                                                           dbm(3)
[ Back ] |