1: /*
2: * "@(#)dump.h 1.2 (2.11BSD GTE) 12/6/94"
3: */
4: #define NI 4 /* number of blocks of inodes per read */
5:
6: #include <stdio.h>
7: #include <ctype.h>
8: #include <strings.h>
9: #include <grp.h>
10: #include <sys/param.h>
11: #include <sys/stat.h>
12: #include <sys/fs.h>
13: #include <sys/inode.h>
14: #include <sys/dir.h>
15: #include <sys/time.h>
16: #include <utmp.h>
17: #include <protocols/dumprestor.h>
18: #include <fstab.h>
19:
20: #define MWORD(m,i) (m[(unsigned)(i-1)/MLEN])
21: #define MBIT(i) (1<<((unsigned)(i-1)%MLEN))
22: #define BIS(i,w) (MWORD(w,i) |= MBIT(i))
23: #define BIC(i,w) (MWORD(w,i) &= ~MBIT(i))
24: #define BIT(i,w) (MWORD(w,i) & MBIT(i))
25:
26: short clrmap[MSIZ];
27: short dirmap[MSIZ];
28: short nodmap[MSIZ];
29:
30: /*
31: * All calculations done in 0.1" units!
32: */
33:
34: char *disk; /* name of the disk file */
35: char *tape; /* name of the tape file */
36: char *increm; /* name of the file containing incremental information*/
37: char incno; /* increment number */
38: int uflag; /* update flag */
39: int fi; /* disk file descriptor */
40: int to; /* tape file descriptor */
41: int pipeout; /* true => output to standard output */
42: ino_t ino; /* current inumber; used globally */
43: int lastlevel;
44: int nonodump;
45: int nsubdir;
46: int newtape; /* new tape flag */
47: int nadded; /* number of added sub directories */
48: int dadded; /* directory added flag */
49: u_short density; /* density in 0.1" units */
50: long tsize; /* tape size in 0.1" units */
51: long esize; /* estimated tape size, blocks */
52: long asize; /* number of 0.1" units written on current tape */
53: int etapes; /* estimated number of tapes */
54:
55: int notify; /* notify operator flag */
56: long blockswritten; /* number of blocks written on current tape */
57: int tapeno; /* current tape number */
58: time_t tstart_writing; /* when started writing the first tape block */
59:
60: time_t time();
61: off_t lseek();
62: char *ctime();
63: char *prdate();
64: long atol();
65: int mark();
66: int add();
67: int dump();
68: int tapsrec();
69: int dmpspc();
70: int dsrch();
71: int nullf();
72: char *rawname();
73:
74: int interrupt(); /* in case operator bangs on console */
75:
76: #define HOUR (60L*60L)
77: #define DAY (24L*HOUR)
78: #define YEAR (365L*DAY)
79:
80: /*
81: * Exit status codes
82: */
83: #define X_FINOK 1 /* normal exit */
84: #define X_REWRITE 2 /* restart writing from the check point */
85: #define X_ABORT 3 /* abort all of dump; don't attempt checkpointing*/
86:
87: #ifdef DEBUG
88: #define OINCREM "./ddate" /*old format incremental info*/
89: #define NINCREM "./dumpdates" /*new format incremental info*/
90: #else not DEBUG
91: #define OINCREM "/etc/ddate" /*old format incremental info*/
92: #define NINCREM "/etc/dumpdates" /*new format incremental info*/
93: #endif
94:
95: #define TAPE "/dev/rmt8" /* default tape device */
96: #define DISK "/dev/rxp0a" /* default disk */
97: #define OPGRENT "operator" /* group entry to notify */
98: #define DIALUP "ttyd" /* prefix for dialups */
99:
100: /*
101: * The contents of the file NINCREM is maintained both on
102: * a linked list, and then (eventually) arrayified.
103: */
104: struct itime{
105: struct idates it_value;
106: struct itime *it_next;
107: };
108: struct itime *ithead; /* head of the list version */
109: int nidates; /* number of records (might be zero) */
110: int idates_in; /* we have read the increment file */
111: struct idates **idatev; /* the arrayfied version */
112: #define ITITERATE(i, ip) for (i = 0,ip = idatev[0]; i < nidates; i++, ip = idatev[i])
113:
114: /*
115: * We catch these interrupts
116: */
117: int sighup();
118: int sigquit();
119: int sigill();
120: int sigtrap();
121: int sigfpe();
122: int sigkill();
123: int sigbus();
124: int sigsegv();
125: int sigsys();
126: int sigalrm();
127: int sigterm();
Defined variables
asize
defined in line
52; used 4 times
disk
defined in line
34; used 15 times
esize
defined in line
51; used 19 times
fi
defined in line
39; used 6 times
incno
defined in line
37; used 9 times
ino
defined in line
42; used 16 times
nodmap
defined in line
28; used 11 times
tape
defined in line
35; used 18 times
to
defined in line
40; used 5 times
tsize
defined in line
50; used 7 times
uflag
defined in line
38; used 3 times
Defined struct's
itime
defined in line
104; used 10 times
Defined macros
BIC
defined in line
23; used 2 times
BIS
defined in line
22; used 4 times
BIT
defined in line
24; used 4 times
DAY
defined in line
77; used 2 times
DISK
defined in line
96;
never used
HOUR
defined in line
76; used 1 times
MBIT
defined in line
21; used 3 times
MWORD
defined in line
20; used 3 times
NI
defined in line
4; used 3 times
TAPE
defined in line
95; used 1 times
YEAR
defined in line
78;
never used
Usage of this include