xref: /original-bsd/include/ndbm.h (revision 4092c5cc)
1 /*-
2  * Copyright (c) 1990, 1993
3  *	The Regents of the University of California.  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	8.1 (Berkeley) 06/02/93
11  */
12 
13 #ifndef _NDBM_H_
14 #define	_NDBM_H_
15 
16 #include <db.h>
17 
18 /* Map dbm interface onto db(3). */
19 #define DBM_RDONLY	O_RDONLY
20 
21 /* Flags to dbm_store(). */
22 #define DBM_INSERT      0
23 #define DBM_REPLACE     1
24 
25 /*
26  * The db(3) support for ndbm(3) always appends this suffix to the
27  * file name to avoid overwriting the user's original database.
28  */
29 #define	DBM_SUFFIX	".db"
30 
31 typedef struct {
32 	char *dptr;
33 	int dsize;
34 } datum;
35 
36 typedef DB DBM;
37 #define	dbm_pagfno(a)	DBM_PAGFNO_NOT_AVAILABLE
38 
39 __BEGIN_DECLS
40 void	 dbm_close __P((DBM *));
41 int	 dbm_delete __P((DBM *, datum));
42 datum	 dbm_fetch __P((DBM *, datum));
43 datum	 dbm_firstkey __P((DBM *));
44 long	 dbm_forder __P((DBM *, datum));
45 datum	 dbm_nextkey __P((DBM *));
46 DBM	*dbm_open __P((const char *, int, int));
47 int	 dbm_store __P((DBM *, datum, datum, int));
48 int	 dbm_dirfno __P((DBM *));
49 __END_DECLS
50 
51 #endif /* !_NDBM_H_ */
52