1 /*- 2 * Copyright (c) 1990 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * Margo Seltzer. 7 * 8 * %sccs.include.redist.c% 9 * 10 * @(#)ndbm.h 5.5 (Berkeley) 02/14/91 11 */ 12 13 #include <sys/cdefs.h> 14 #include <db.h> 15 16 /* Map dbm interface onto db(3). */ 17 #define DBM_RDONLY O_RDONLY 18 19 /* Flags to dbm_store(). */ 20 #define DBM_INSERT 0 21 #define DBM_REPLACE 1 22 23 /* 24 * The db(3) support for ndbm(3) always appends this suffix to the 25 * file name to avoid overwriting the user's original database. 26 */ 27 #define DBM_SUFFIX ".db" 28 29 typedef struct { 30 char *dptr; 31 int dsize; 32 } datum; 33 34 typedef DB DBM; 35 36 __BEGIN_DECLS 37 void dbm_close __P((DBM *)); 38 int dbm_delete __P((DBM *, datum)); 39 datum dbm_fetch __P((DBM *, datum)); 40 datum dbm_firstkey __P((DBM *)); 41 long dbm_forder __P((DBM *, datum)); 42 datum dbm_nextkey __P((DBM *)); 43 DBM *dbm_open __P((const char *, int, int)); 44 int dbm_store __P((DBM *, datum, datum, int)); 45 __END_DECLS 46