GNU Info

Info Node: (gdbm.info)Open

(gdbm.info)Open


Next: Close Prev: List Up: Top
Enter node , (file) or (file)node

Opening the database.
*********************

   Initialize `gdbm' system. If the file has a size of zero bytes, a
file initialization procedure is performed, setting up the initial
structure in the file.

   The procedure for opening a `gdbm' file is:

     GDBM_FILE dbf;
     
     dbf = gdbm_open(name, block_size, flags, mode, fatal_func);

   The parameters are:

char *name
     The name of the file (the complete name, `gdbm' does not append any
     characters to this name).

int block_size
     It is used during initialization to determine the size of various
     constructs. It is the size of a single transfer from disk to
     memory. This parameter is ignored if the file has been previously
     initialized. The minimum size is 512.  If the value is less than
     512, the file system blocksize is used, otherwise the value of
     `block_size' is used.

int flags
     If `flags' is set to GDBM_READER, the user wants to just read the
     database and any call to `gdbm_store' or `gdbm_delete' will fail.
     Many readers can access the database at the same time. If `flags'
     is set to GDBM_WRITER, the user wants both read and write access
     to the database and requires exclusive access. If `flags' is set
     to GDBM_WRCREAT, the user wants both read and write access to the
     database and if the database does not exist, create a new one. If
     `flags' is set to GDBM_NEWDB, the user want a new database
     created, regardless of whether one existed, and wants read and
     write access to the new database.  For all writers (GDBM_WRITER,
     GDBM_WRCREAT and GDBM_NEWDB) the value GDBM_FAST can be added to
     the `flags' field using logical or.  This option causes `gdbm' to
     write the database without any disk file synchronization.  This
     allows faster writes, but may produce an inconsistent database in
     the event of abnormal termination of the writer.  Any error
     detected will cause a return value of NULL and an appropriate
     value will be in `gdbm_errno' (see Variables). If no errors occur,
     a pointer to the `gdbm' file descriptor will be returned.

int mode
     File mode (see chmod(2) and open(2) if the file is created).

void (*fatal_func) ()
     A function for `gdbm' to call if it detects a fatal error. The only
     parameter of this function is a string. If the value of NULL is
     provided, `gdbm' will use a default function.

   The return value, `dbf', is the pointer needed by all other
functions to access that `gdbm' file. If the return is the NULL pointer,
`gdbm_open' was not successful. The errors can be found in `gdbm_errno'
for `gdbm' errors and in `errno' for file system errors (for error
codes, see `gdbm.h').

   In all of the following calls, the parameter `dbf' refers to the
pointer returned from `gdbm_open'.


automatically generated by info2www version 1.2.2.9