diff options
author | K. Richard Pixley <rich@cygnus> | 1991-03-25 22:25:03 +0000 |
---|---|---|
committer | K. Richard Pixley <rich@cygnus> | 1991-03-25 22:25:03 +0000 |
commit | fcd5c2934e7ce37a0e607b00cac4cf6a149b2b1e (patch) | |
tree | 3f0ac271f3cd3235fe1685a4e07905902f8da4e6 /include/gdbm.h | |
parent | d0281557bbf275c72bfbf5904d641be5913b0aa0 (diff) | |
download | gdb-fcd5c2934e7ce37a0e607b00cac4cf6a149b2b1e.zip gdb-fcd5c2934e7ce37a0e607b00cac4cf6a149b2b1e.tar.gz gdb-fcd5c2934e7ce37a0e607b00cac4cf6a149b2b1e.tar.bz2 |
Initial revision
Diffstat (limited to 'include/gdbm.h')
-rw-r--r-- | include/gdbm.h | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/include/gdbm.h b/include/gdbm.h new file mode 100644 index 0000000..b27f8e7 --- /dev/null +++ b/include/gdbm.h @@ -0,0 +1,91 @@ +/* gdbm.h - The include file for dbm users. */ + +/* GNU DBM - DataBase Manager (database subroutines) by Philip A. Nelson + Copyright (C) 1989 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + You may contact the author by: + e-mail: phil@wwu.edu + us-mail: Philip A. Nelson + Computer Science Department + Western Washington University + Bellingham, WA 98226 + phone: (206) 676-3035 + +*************************************************************************/ + +/* Parameters to gdbm_open for READERS, WRITERS, and WRITERS who + can create the database. */ +#define GDBM_READER 0 +#define GDBM_WRITER 1 +#define GDBM_WRCREAT 2 +#define GDBM_NEWDB 3 + +/* Parameters to gdbm_store for simple insertion or replacement. */ +#define GDBM_INSERT 0 +#define GDBM_REPLACE 1 + + +/* The data and key structure. This structure is defined for compatibility. */ +typedef struct { + char *dptr; + int dsize; + } datum; + + +/* The file information header. This is good enough for most applications. */ +typedef struct {int dummy[10];} *GDBM_FILE; + + +/* These are the routines! */ + +extern GDBM_FILE gdbm_open (); + +extern void gdbm_close (); + +extern datum gdbm_fetch (); + +extern int gdbm_store (); + +extern int gdbm_delete (); + +extern datum gdbm_firstkey (); + +extern datum gdbm_nextkey (); + +extern int gdbm_reorganize (); + + +/* gdbm sends back the following error codes in the variable gdbm_errno. */ +typedef enum { NO_ERROR, + MALLOC_ERROR, + BLOCK_SIZE_ERROR, + FILE_OPEN_ERROR, + FILE_WRITE_ERROR, + FILE_SEEK_ERROR, + FILE_READ_ERROR, + BAD_MAGIC_NUMBER, + EMPTY_DATABASE, + CANT_BE_READER, + CANT_BE_WRITER, + READER_CANT_RECOVER, + READER_CANT_DELETE, + READER_CANT_STORE, + READER_CANT_REORGANIZE, + UNKNOWN_UPDATE, + ITEM_NOT_FOUND, + REORGANIZE_FAILED, + CANNOT_REPLACE} + gdbm_error; |