* "@(#)dump.h 1.1 (Berkeley) %G%"
#define DIRPB (BSIZE/sizeof(struct direct))
#define MWORD(m,i) (m[(unsigned)(i-1)/MLEN])
#define MBIT(i) (1<<((unsigned)(i-1)%MLEN))
#define BIS(i,w) (MWORD(w,i) |= MBIT(i))
#define BIC(i,w) (MWORD(w,i) &= ~MBIT(i))
#define BIT(i,w) (MWORD(w,i) & MBIT(i))
* All calculations done in 0.1" units!
char *disk
; /* name of the disk file */
char *tape
; /* name of the tape file */
char *increm
; /* name of the file containing incremental information*/
char incno
; /* increment number */
int uflag
; /* update flag */
int fi
; /* disk file descriptor */
int to
; /* tape file descriptor */
ino_t ino
; /* current inumber; used globally */
int newtape
; /* new tape flag */
int nadded
; /* number of added sub directories */
int dadded
; /* directory added flag */
int density
; /* density in 0.1" units */
long tsize
; /* tape size in 0.1" units */
long esize
; /* estimated tape size, blocks */
long asize
; /* number of 0.1" units written on current tape */
int etapes
; /* estimated number of tapes */
int notify
; /* notify operator flag */
int blockswritten
; /* number of blocks written on current tape */
int tapeno
; /* current tape number */
time_t tstart_writing
; /* when started writing the first tape block */
int interrupt(); /* in case operator bangs on console */
#define X_FINOK 1 /* normal exit */
#define X_REWRITE 2 /* restart writing from the check point */
#define X_ABORT 3 /* abort all of dump; don't attempt checkpointing*/
#define OINCREM "./ddate" /*old format incremental info*/
#define NINCREM "./dumpdates" /*new format incremental info*/
#define OINCREM "/etc/ddate" /*old format incremental info*/
#define NINCREM "/etc/dumpdates" /*new format incremental info*/
#define TAPE "/dev/rmt8" /* default tape device */
#define DISK "/dev/rrp1g" /* default disk */
#define OPGRENT "operator" /* group entry to notify */
#define DIALUP "ttyd" /* prefix for dialups */
struct fstab fstab
[MAXFSTAB
];
struct fstab
*fstabsearch(); /* search in fs_file and fs_spec */
* The contents of the file NINCREM is maintained both on
* a linked list, and then (eventually) arrayified.
struct itime
*ithead
; /* head of the list version */
int nidates
; /* number of records (might be zero) */
int idates_in
; /* we have read the increment file */
struct idates
**idatev
; /* the arrayfied version */
#define ITITERATE(i, ip) for (i = 0,ip = idatev[0]; i < nidates; i++, ip = idatev[i])
* We catch these interrupts