perl 5.0 alpha 8
[p5sagit/p5-mst-13.2.git] / hvdbm.h
CommitLineData
463ee0b2 1#define DBM_CACHE_MAX 63 /* cache 64 entries for dbm file */
2 /* (resident array acts as a write-thru cache)*/
3#ifdef WANT_DBZ
4# include <dbz.h>
5# define SOME_DBM
6# define dbm_fetch(db,dkey) fetch(dkey)
7# define dbm_delete(db,dkey) croak("dbz doesn't implement delete")
8# define dbm_store(db,dkey,dcontent,flags) store(dkey,dcontent)
9# define dbm_close(db) dbmclose()
10# define dbm_firstkey(db) (croak("dbz doesn't implement traversal"),fetch())
11# define nextkey() (croak("dbz doesn't implement traversal"),fetch())
12# define dbm_nextkey(db) (croak("dbz doesn't implement traversal"),fetch())
2304df62 13# ifdef I_NDBM
14# undef I_NDBM
463ee0b2 15# endif
2304df62 16# ifndef I_DBM
17# define I_DBM
463ee0b2 18# endif
19#else
20# ifdef HAS_GDBM
21# ifdef I_GDBM
22# include <gdbm.h>
23# endif
24# define SOME_DBM
2304df62 25# ifdef I_NDBM
26# undef I_NDBM
463ee0b2 27# endif
2304df62 28# ifdef I_DBM
29# undef I_DBM
463ee0b2 30# endif
31# else
2304df62 32# ifdef I_NDBM
463ee0b2 33# include <ndbm.h>
34# define SOME_DBM
2304df62 35# ifdef I_DBM
36# undef I_DBM
463ee0b2 37# endif
38# else
2304df62 39# ifdef I_DBM
463ee0b2 40# ifdef NULL
41# undef NULL /* suppress redefinition message */
42# endif
43# include <dbm.h>
44# ifdef NULL
45# undef NULL
46# endif
47# define NULL 0 /* silly thing is, we don't even use this... */
48# define SOME_DBM
49# define dbm_fetch(db,dkey) fetch(dkey)
50# define dbm_delete(db,dkey) delete(dkey)
51# define dbm_store(db,dkey,dcontent,flags) store(dkey,dcontent)
52# define dbm_close(db) dbmclose()
53# define dbm_firstkey(db) firstkey()
2304df62 54# endif /* I_DBM */
55# endif /* I_NDBM */
463ee0b2 56# endif /* HAS_GDBM */
57#endif /* WANT_DBZ */
58