xref: /original-bsd/include/ndbm.h (revision 4cda19ca)
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