|
|
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: * @(#)dumprestore.h 5.3 (Berkeley) 1/28/87 ! 7: */ ! 8: ! 9: /* ! 10: * TP_BSIZE is the size of file blocks on the dump tapes. ! 11: * Note that TP_BSIZE must be a multiple of DEV_BSIZE. ! 12: * ! 13: * NTREC is the number of TP_BSIZE blocks that are written ! 14: * in each tape record. HIGHDENSITYTREC is the number of ! 15: * TP_BSIZE blocks that are written in each tape record on ! 16: * 6250 BPI or higher density tapes. ! 17: * ! 18: * TP_NINDIR is the number of indirect pointers in a TS_INODE ! 19: * or TS_ADDR record. Note that it must be a power of two. ! 20: */ ! 21: #define TP_BSIZE 1024 ! 22: #define NTREC 10 ! 23: #define HIGHDENSITYTREC 32 ! 24: #define TP_NINDIR (TP_BSIZE/2) ! 25: #define LBLSIZE 16 ! 26: #define NAMELEN 64 ! 27: ! 28: #define OFS_MAGIC (int)60011 ! 29: #define NFS_MAGIC (int)60012 ! 30: #define CHECKSUM (int)84446 ! 31: ! 32: union u_spcl { ! 33: char dummy[TP_BSIZE]; ! 34: struct s_spcl { ! 35: long c_type; /* record type (see below) */ ! 36: time_t c_date; /* date of previous dump */ ! 37: time_t c_ddate; /* date of this dump */ ! 38: long c_volume; /* dump volume number */ ! 39: daddr_t c_tapea; /* logical block of this record */ ! 40: ino_t c_inumber; /* number of inode */ ! 41: long c_magic; /* magic number (see above) */ ! 42: long c_checksum; /* record checksum */ ! 43: struct dinode c_dinode; /* ownership and mode of inode */ ! 44: long c_count; /* number of valid c_addr entries */ ! 45: char c_addr[TP_NINDIR]; /* 1 => data; 0 => hole in inode */ ! 46: char c_label[LBLSIZE]; /* dump label */ ! 47: long c_level; /* level of this dump */ ! 48: char c_filesys[NAMELEN]; /* name of dumpped file system */ ! 49: char c_dev[NAMELEN]; /* name of dumpped device */ ! 50: char c_host[NAMELEN]; /* name of dumpped host */ ! 51: long c_flags; /* additional information */ ! 52: } s_spcl; ! 53: } u_spcl; ! 54: #define spcl u_spcl.s_spcl ! 55: /* ! 56: * special record types ! 57: */ ! 58: #define TS_TAPE 1 /* dump tape header */ ! 59: #define TS_INODE 2 /* beginning of file record */ ! 60: #define TS_ADDR 4 /* continuation of file record */ ! 61: #define TS_BITS 3 /* map of inodes on tape */ ! 62: #define TS_CLRI 6 /* map of inodes deleted since last dump */ ! 63: #define TS_END 5 /* end of volume marker */ ! 64: ! 65: /* ! 66: * flag values ! 67: */ ! 68: #define DR_NEWHEADER 1 /* new format tape header */ ! 69: ! 70: #define DUMPOUTFMT "%-16s %c %s" /* for printf */ ! 71: /* name, incno, ctime(date) */ ! 72: #define DUMPINFMT "%16s %c %[^\n]\n" /* inverse for scanf */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.