From 5b7cef5320d99f2ce6d29b3dc36edae6f96e12a7 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Fri, 5 Aug 2011 11:28:03 +0000 Subject: New file. --- compat/dbm-priv.h | 22 ++++++++++++++++++++++ compat/dbm.h | 38 ++++++++++++++++++++++++++++++++++++++ compat/ndbm.h | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 115 insertions(+) create mode 100644 compat/dbm-priv.h create mode 100644 compat/dbm.h create mode 100644 compat/ndbm.h (limited to 'compat') diff --git a/compat/dbm-priv.h b/compat/dbm-priv.h new file mode 100644 index 0000000..f6cca3f --- /dev/null +++ b/compat/dbm-priv.h @@ -0,0 +1,22 @@ +/* This file is part of GDBM, the GNU data base manager. + Copyright (C) 1990, 1991, 1993, 2007, 2011 Free Software Foundation, + Inc. + + GDBM 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; either version 3, or (at your option) + any later version. + + GDBM 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 GDBM. If not, see . */ + +#include "dbm.h" +#include "ndbm.h" +#include "gdbmdefs.h" + +extern DBM *_gdbm_file; diff --git a/compat/dbm.h b/compat/dbm.h new file mode 100644 index 0000000..f812950 --- /dev/null +++ b/compat/dbm.h @@ -0,0 +1,38 @@ +/* dbm.h - The include file for dbm users. */ + +/* This file is part of GDBM, the GNU data base manager, by Philip A. Nelson. + Copyright (C) 1990-2011 Free Software Foundation, Inc. + + GDBM 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; either version 2, or (at your option) + any later version. + + GDBM 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 GDBM. If not, see . + + You may contact the author by: + e-mail: phil@cs.wwu.edu + us-mail: Philip A. Nelson + Computer Science Department + Western Washington University + Bellingham, WA 98226 + +*************************************************************************/ + +#include + +/* These are the routines in dbm. */ + +extern int dbminit (char *file); +extern datum fetch (datum key); +extern int store (datum key, datum content); +extern int delete (datum key); +extern datum firstkey (void); +extern datum nextkey (datum key); +extern int dbmclose (void); diff --git a/compat/ndbm.h b/compat/ndbm.h new file mode 100644 index 0000000..0a28e6c --- /dev/null +++ b/compat/ndbm.h @@ -0,0 +1,55 @@ +/* ndbm.h - The include file for ndbm users. */ + +/* This file is part of GDBM, the GNU data base manager, by Philip A. Nelson. + Copyright (C) 1990-2011 Free Software Foundation, Inc. + + GDBM 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; either version 2, or (at your option) + any later version. + + GDBM 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 GDBM. If not, see . + + You may contact the author by: + e-mail: phil@cs.wwu.edu + us-mail: Philip A. Nelson + Computer Science Department + Western Washington University + Bellingham, WA 98226 + +*************************************************************************/ + +#include + +/* Parameters to dbm_store for simple insertion or replacement. */ +#define DBM_INSERT GDBM_INSERT +#define DBM_REPLACE GDBM_REPLACE + +/* The file information header. */ +typedef struct +{ + GDBM_FILE file; + datum _dbm_memory; + char *_dbm_fetch_val; +} DBM; + +/* These are the routines (with some macros defining them!) */ + +extern DBM *dbm_open (char *file, int flags, int mode); +extern void dbm_close (DBM *dbf); +extern datum dbm_fetch (DBM *dbf, datum key); +extern int dbm_store (DBM *dbf, datum key, datum content, int flags); +extern int dbm_delete (DBM *dbf, datum key); +extern datum dbm_firstkey (DBM *dbf); +extern datum dbm_nextkey (DBM *dbf); +#define dbm_error(dbf) (0) +#define dbm_clearerr(dbf) +extern int dbm_dirfno (DBM *dbf); +extern int dbm_pagfno (DBM *dbf); +extern int dbm_rdonly (DBM *dbf); -- cgit v1.2.1