/* for dbm and dbz */
#ifndef _DBZ_H
#define _DBZ_H
typedef struct {
    char           *dptr;
    int             dsize;
}               datum;

/* standard dbm functions */
extern int      dbminit();
extern datum    fetch();
extern int      store();
extern int      delete();	/* not in dbz */
extern datum    firstkey();	/* not in dbz */
extern datum    nextkey();	/* not in dbz */
extern int      dbmclose();	/* in dbz, but not in old dbm */

/* new stuff for dbz */
extern int      dbzfresh();
extern int      dbzagain();
extern datum    dbzfetch();
extern int      dbzstore();
extern int      dbzsync();
extern long     dbzsize();
extern int      dbzincore();
extern int      dbzcancel();
extern int      dbzdebug();
extern int      dbzwritethrough();

/*
 * In principle we could handle unlimited-length keys by operating a chunk at
 * a time, but it's not worth it in practice.  Setting a nice large bound on
 * them simplifies the code and doesn't hurt anything.
 */
#define DBZMAXKEY	255

#endif /* _DBZ_H */
