1 /* for dbm and dbz */ 2 typedef struct { 3 char *dptr; 4 int dsize; 5 } datum; 6 7 /* standard dbm functions */ 8 extern int dbminit(); 9 extern datum fetch(); 10 extern int store(); 11 extern int delete(); /* not in dbz */ 12 extern datum firstkey(); /* not in dbz */ 13 extern datum nextkey(); /* not in dbz */ 14 extern int dbmclose(); /* in dbz, but not in old dbm */ 15 16 /* new stuff for dbz */ 17 extern int dbzfresh(); 18 extern int dbzagain(); 19 extern datum dbzfetch(); 20 extern datum dbcfetch(); 21 extern int dbzstore(); 22 extern int dbzsync(); 23 extern long dbzsize(); 24 extern int dbzincore(); 25 extern int dbzcancel(); 26 extern int dbzdebug(); 27 28 /* 29 * In principle we could handle unlimited-length keys by operating a chunk 30 * at a time, but it's not worth it in practice. Setting a nice large 31 * bound on them simplifies the code and doesn't hurt anything. 32 */ 33 #define DBZMAXKEY 255 34