perl 5.0 alpha 4
[p5sagit/p5-mst-13.2.git] / hvdbm.h
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())
13 #   ifdef HAS_NDBM
14 #       undef HAS_NDBM
15 #   endif
16 #   ifndef HAS_ODBM
17 #       define HAS_ODBM
18 #   endif
19 #else
20 #   ifdef HAS_GDBM
21 #       ifdef I_GDBM
22 #           include <gdbm.h>
23 #       endif
24 #       define SOME_DBM
25 #       ifdef HAS_NDBM
26 #           undef HAS_NDBM
27 #       endif
28 #       ifdef HAS_ODBM
29 #           undef HAS_ODBM
30 #       endif
31 #   else
32 #       ifdef HAS_NDBM
33 #           include <ndbm.h>
34 #           define SOME_DBM
35 #           ifdef HAS_ODBM
36 #               undef HAS_ODBM
37 #           endif
38 #       else
39 #           ifdef HAS_ODBM
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()
54 #           endif /* HAS_ODBM */
55 #       endif /* HAS_NDBM */
56 #   endif /* HAS_GDBM */
57 #endif /* WANT_DBZ */
58