1 /* Copyright (c) 1981 Regents of the University of California */ 2 3 /* "@(#)dumprestore.h 2.1 03/30/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 * BLKING calculates the number of TP_BSIZE blocks in a file 13 * system frag. 14 * 15 * TP_NINDIR is the number of indirect pointers in a TS_INODE 16 * or TS_ADDR record. Note that it must be a power of two. 17 */ 18 #define TP_BSIZE 1024 19 #define NTREC 10 20 #define BLKING(fs) ((fs)->fs_fsize/TP_BSIZE) 21 #define TP_NINDIR (TP_BSIZE/2) 22 23 #define TS_TAPE 1 24 #define TS_INODE 2 25 #define TS_BITS 3 26 #define TS_ADDR 4 27 #define TS_END 5 28 #define TS_CLRI 6 29 #define MAGIC (int)60011 30 #define CHECKSUM (int)84446 31 32 union u_spcl { 33 char dummy[TP_BSIZE]; 34 struct s_spcl { 35 int c_type; 36 time_t c_date; 37 time_t c_ddate; 38 int c_volume; 39 daddr_t c_tapea; 40 ino_t c_inumber; 41 int c_magic; 42 int c_checksum; 43 struct dinode c_dinode; 44 int c_count; 45 char c_addr[TP_NINDIR]; 46 } s_spcl; 47 } u_spcl; 48 49 #define spcl u_spcl.s_spcl 50 51 struct idates { 52 char id_name[16]; 53 char id_incno; 54 time_t id_ddate; 55 }; 56 57 #define DUMPOUTFMT "%-16s %c %s" /* for printf */ 58 /* name, incno, ctime(date) */ 59 #define DUMPINFMT "%16s %c %[^\n]\n" /* inverse for scanf */ 60