1 /* Copyright (c) 1981 Regents of the University of California */ 2 3 /* "@(#)dumprestore.h 2.4 10/14/82" */ 4 5 /* 6 * TP_BSIZE is the size of file blocks on the dump tapes. 7 * Note that TP_BSIZE must be a multiple of DEV_BSIZE. 8 * 9 * NTREC is the number of TP_BSIZE blocks that are written 10 * in each tape record. 11 * 12 * TP_NINDIR is the number of indirect pointers in a TS_INODE 13 * or TS_ADDR record. Note that it must be a power of two. 14 */ 15 #define TP_BSIZE 1024 16 #define NTREC 10 17 #define TP_NINDIR (TP_BSIZE/2) 18 19 #define TS_TAPE 1 20 #define TS_INODE 2 21 #define TS_BITS 3 22 #define TS_ADDR 4 23 #define TS_END 5 24 #define TS_CLRI 6 25 #define OFS_MAGIC (int)60011 26 #define NFS_MAGIC (int)60012 27 #define CHECKSUM (int)84446 28 29 union u_spcl { 30 char dummy[TP_BSIZE]; 31 struct s_spcl { 32 int c_type; 33 time_t c_date; 34 time_t c_ddate; 35 int c_volume; 36 daddr_t c_tapea; 37 ino_t c_inumber; 38 int c_magic; 39 int c_checksum; 40 struct dinode c_dinode; 41 int c_count; 42 char c_addr[TP_NINDIR]; 43 } s_spcl; 44 } u_spcl; 45 46 #define spcl u_spcl.s_spcl 47 48 #define DUMPOUTFMT "%-16s %c %s" /* for printf */ 49 /* name, incno, ctime(date) */ 50 #define DUMPINFMT "%16s %c %[^\n]\n" /* inverse for scanf */ 51