FreeBSD 7.0 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

dbm_clearerr, dbm_close, dbm_delete, dbm_dirfno, dbm_error, dbm_fetch,

 

NAME

      dbm_clearerr, dbm_close, dbm_delete, dbm_dirfno, dbm_error, dbm_fetch,
      dbm_firstkey, dbm_nextkey, dbm_open, dbm_store - database access func‐
      tions
 

SYNOPSIS

      #include <fcntl.h>
      #include <ndbm.h>
 
      DBM *
      dbm_open(const char *base, int flags, int mode);
 
      void
      dbm_close(DBM *db);
 
      int
      dbm_store(DBM *db, datum key, datum data, int flags);
 
      datum
      dbm_fetch(DBM *db, datum key);
 
      int
      dbm_delete(DBM *db, datum key);
 
      datum
      dbm_firstkey(DBM *db);
 
      datum
      dbm_nextkey(DBM *db);
 
      int
      dbm_error(DBM *db);
 
      int
      dbm_clearerr(DBM *db);
 
      int
      dbm_dirfno(DBM *db);
 

DESCRIPTION

      Database access functions.  These functions are implemented using
      dbopen(3) with a hash(3) database.
 
      datum is declared in
 
      typedef struct {
              char *dptr;
              int dsize;
      } datum;
 
      The dbm_open(base, flags, mode) function opens or creates a database.
      The base argument is the basename of the file containing the database;
      the actual database has a .db suffix.  I.e., if base is
      "/home/me/mystuff" then the actual database is in the file
      /home/me/mystuff.db.  The flags and mode arguments are passed to open(2).
      (O_RDWR | O_CREAT) is a typical value for flags; 0660 is a typical value
      for mode.  O_WRONLY is not allowed in flags.  The pointer returned by
      dbm_open() identifies the database and is the db argument to the other
      functions.  The dbm_open() function returns NULL and sets errno if there
      were any errors.
 
      The dbm_close(db) function closes the database.
 
      The dbm_store(db, key, data, flags) function inserts or replaces an entry
      in the database.  The flags argument is either DBM_INSERT or DBM_REPLACE.
      If flags is DBM_INSERT and the database already contains an entry for
      key, that entry is not replaced.  Otherwise the entry is replaced or
      inserted.  The dbm_store() function normally returns zero but returns 1
      if the entry could not be inserted (because flags is DBM_INSERT, and an
      entry with key already exists) or returns -1 and sets errno if there were
      any errors.
 
      The dbm_fetch(db, key) function returns NULL or the data corresponding to
      key.
 
      The dbm_delete(db, key) function deletes the entry for key.  The
      dbm_delete() function normally returns zero but returns 1 if there was no
      entry with key in the database or returns -1 and sets errno if there were
      any errors.
 
      The dbm_firstkey(db) function returns the first key in the database.  The
      dbm_nextkey(db) function returns subsequent keys.  The db_firstkey()
      function must be called before dbm_nextkey().  The order in which keys
      are returned is unspecified and may appear random.  The dbm_nextkey()
      function returns NULL after all keys have been returned.
 
      The dbm_error(db) function returns the errno value of the most recent
      error.  The dbm_clearerr(db) function resets this value to 0 and returns
      0.
 
      The dbm_dirfno(db) function returns the file descriptor to the database.
      open(2), dbopen(3), hash(3)
 

STANDARDS

      These functions (except dbm_dirfno()) are included in the Version 2 of
      the Single UNIX Specification (“SUSv2”).
 

Sections

Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.