Annotation of 43BSDTahoe/etc/dump/dump.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1980 Regents of the University of California.
        !             3:  * All rights reserved.  The Berkeley software License Agreement
        !             4:  * specifies the terms and conditions for redistribution.
        !             5:  *
        !             6:  *     @(#)dump.h      5.4 (Berkeley) 2/23/87
        !             7:  */
        !             8: 
        !             9: #define        NI              16
        !            10: #define MAXINOPB       (MAXBSIZE / sizeof(struct dinode))
        !            11: #define MAXNINDIR      (MAXBSIZE / sizeof(daddr_t))
        !            12: 
        !            13: #include <stdio.h>
        !            14: #include <ctype.h>
        !            15: #include <sys/param.h>
        !            16: #include <sys/stat.h>
        !            17: #include <sys/fs.h>
        !            18: #include <sys/inode.h>
        !            19: #include <protocols/dumprestore.h>
        !            20: #include <sys/dir.h>
        !            21: #include <utmp.h>
        !            22: #include <sys/time.h>
        !            23: #include <signal.h>
        !            24: #include <fstab.h>
        !            25: 
        !            26: #define        MWORD(m,i)      (m[(unsigned)(i-1)/NBBY])
        !            27: #define        MBIT(i)         (1<<((unsigned)(i-1)%NBBY))
        !            28: #define        BIS(i,w)        (MWORD(w,i) |=  MBIT(i))
        !            29: #define        BIC(i,w)        (MWORD(w,i) &= ~MBIT(i))
        !            30: #define        BIT(i,w)        (MWORD(w,i) & MBIT(i))
        !            31: 
        !            32: int    msiz;
        !            33: char   *clrmap;
        !            34: char   *dirmap;
        !            35: char   *nodmap;
        !            36: 
        !            37: /*
        !            38:  *     All calculations done in 0.1" units!
        !            39:  */
        !            40: 
        !            41: char   *disk;          /* name of the disk file */
        !            42: char   *tape;          /* name of the tape file */
        !            43: char   *increm;        /* name of the file containing incremental information*/
        !            44: char   *temp;          /* name of the file for doing rewrite of increm */
        !            45: char   lastincno;      /* increment number of previous dump */
        !            46: char   incno;          /* increment number */
        !            47: int    uflag;          /* update flag */
        !            48: int    fi;             /* disk file descriptor */
        !            49: int    to;             /* tape file descriptor */
        !            50: int    pipeout;        /* true => output to standard output */
        !            51: ino_t  ino;            /* current inumber; used globally */
        !            52: int    nsubdir;
        !            53: int    newtape;        /* new tape flag */
        !            54: int    nadded;         /* number of added sub directories */
        !            55: int    dadded;         /* directory added flag */
        !            56: int    density;        /* density in 0.1" units */
        !            57: long   tsize;          /* tape size in 0.1" units */
        !            58: long   esize;          /* estimated tape size, blocks */
        !            59: long   asize;          /* number of 0.1" units written on current tape */
        !            60: int    etapes;         /* estimated number of tapes */
        !            61: 
        !            62: int    notify;         /* notify operator flag */
        !            63: int    blockswritten;  /* number of blocks written on current tape */
        !            64: int    tapeno;         /* current tape number */
        !            65: time_t tstart_writing; /* when started writing the first tape block */
        !            66: char   *processname;
        !            67: struct fs *sblock;     /* the file system super block */
        !            68: char   buf[MAXBSIZE];
        !            69: long   dev_bsize;
        !            70: 
        !            71: char   *ctime();
        !            72: char   *prdate();
        !            73: long   atol();
        !            74: int    mark();
        !            75: int    add();
        !            76: int    dirdump();
        !            77: int    dump();
        !            78: int    tapsrec();
        !            79: int    dmpspc();
        !            80: int    dsrch();
        !            81: int    nullf();
        !            82: char   *getsuffix();
        !            83: char   *rawname();
        !            84: struct dinode *getino();
        !            85: 
        !            86: int    interrupt();            /* in case operator bangs on console */
        !            87: 
        !            88: #define        HOUR    (60L*60L)
        !            89: #define        DAY     (24L*HOUR)
        !            90: #define        YEAR    (365L*DAY)
        !            91: 
        !            92: /*
        !            93:  *     Exit status codes
        !            94:  */
        !            95: #define        X_FINOK         0       /* normal exit */
        !            96: #define        X_REWRITE       2       /* restart writing from the check point */
        !            97: #define        X_ABORT         3       /* abort all of dump; don't attempt checkpointing*/
        !            98: 
        !            99: #define        NINCREM "/etc/dumpdates"        /*new format incremental info*/
        !           100: #define        TEMP    "/etc/dtmp"             /*output temp file*/
        !           101: 
        !           102: #define        TAPE    "/dev/rmt8"             /* default tape device */
        !           103: #define        DISK    "/dev/rrp1g"            /* default disk */
        !           104: #define        OPGRENT "operator"              /* group entry to notify */
        !           105: #define DIALUP "ttyd"                  /* prefix for dialups */
        !           106: 
        !           107: struct fstab   *fstabsearch(); /* search in fs_file and fs_spec */
        !           108: 
        !           109: /*
        !           110:  *     The contents of the file NINCREM is maintained both on
        !           111:  *     a linked list, and then (eventually) arrayified.
        !           112:  */
        !           113: struct idates {
        !           114:        char    id_name[MAXNAMLEN+3];
        !           115:        char    id_incno;
        !           116:        time_t  id_ddate;
        !           117: };
        !           118: struct itime{
        !           119:        struct  idates  it_value;
        !           120:        struct  itime   *it_next;
        !           121: };
        !           122: struct itime   *ithead;        /* head of the list version */
        !           123: int    nidates;                /* number of records (might be zero) */
        !           124: int    idates_in;              /* we have read the increment file */
        !           125: struct idates  **idatev;       /* the arrayfied version */
        !           126: #define        ITITERATE(i, ip) for (i = 0,ip = idatev[0]; i < nidates; i++, ip = idatev[i])
        !           127: 
        !           128: /*
        !           129:  *     We catch these interrupts
        !           130:  */
        !           131: int    sighup();
        !           132: int    sigquit();
        !           133: int    sigill();
        !           134: int    sigtrap();
        !           135: int    sigfpe();
        !           136: int    sigkill();
        !           137: int    sigbus();
        !           138: int    sigsegv();
        !           139: int    sigsys();
        !           140: int    sigalrm();
        !           141: int    sigterm();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.