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

Defined variables

asize defined in line 51; used 4 times
dadded defined in line 47; used 4 times
density defined in line 48; used 3 times
etapes defined in line 52; used 2 times
fi defined in line 41; used 4 times
fstab defined in line 104; used 2 times
idates_in defined in line 118; used 2 times
idatev defined in line 119; used 6 times
incno defined in line 39; used 9 times
increm defined in line 38; used 5 times
ino defined in line 43; used 15 times
ithead defined in line 116; used 4 times
nfstab defined in line 106; used 5 times
nidates defined in line 117; used 8 times
nodmap defined in line 30; used 10 times
notify defined in line 54; used 4 times
nsubdir defined in line 44; used 3 times
processname defined in line 58; used 1 times
tape defined in line 37; used 5 times
tapeno defined in line 56; used 9 times
to defined in line 42; used 7 times
tsize defined in line 49; used 5 times
uflag defined in line 40; used 3 times

Defined struct's

itime defined in line 112; used 12 times

Defined macros

BIC defined in line 25; used 2 times
BIS defined in line 24; used 4 times
BIT defined in line 26; used 4 times
DAY defined in line 80; used 2 times
DIALUP defined in line 101; used 2 times
DIRPB defined in line 5; used 2 times
DISK defined in line 99; used 1 times
HOUR defined in line 79; used 1 times
  • in line 80
MAXFSTAB defined in line 103; used 2 times
MBIT defined in line 23; used 3 times
MWORD defined in line 22; used 3 times
NI defined in line 4; used 3 times
NINCREM defined in line 95; used 4 times
OINCREM defined in line 94; used 1 times
OPGRENT defined in line 100; used 2 times
TAPE defined in line 98; used 1 times
YEAR defined in line 81; never used

Usage of this include

Last modified: 1982-03-27
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1244
Valid CSS Valid XHTML 1.0 Strict