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 int dbzstore(); 21 extern int dbzsync(); 22 extern long dbzsize(); 23 extern int dbzincore(); 24 extern int dbzcancel(); 25 extern int dbzdebug(); 26 27 /* 28 * In principle we could handle unlimited-length keys by operating a chunk 29 * at a time, but it's not worth it in practice. Setting a nice large 30 * bound on them simplifies the code and doesn't hurt anything. 31 */ 32 #define DBZMAXKEY 255 33