1/* for dbm and dbz */ 2typedef struct { 3 char *dptr; 4 int dsize; 5} datum; 6 7/* standard dbm functions */ 8extern int dbminit(); 9extern datum fetch(); 10extern int store(); 11extern int delete(); /* not in dbz */ 12extern datum firstkey(); /* not in dbz */ 13extern datum nextkey(); /* not in dbz */ 14extern int dbmclose(); /* in dbz, but not in old dbm */ 15 16/* new stuff for dbz */ 17extern int dbzfresh(); 18extern int dbzagain(); 19extern datum dbzfetch(); 20extern int dbzstore(); 21extern int dbzsync(); 22extern long dbzsize(); 23extern int dbzincore(); 24extern int dbzcancel(); 25extern 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