+/* dumprestor.h 2.5 83/08/11 */
+
+/*
+ * TP_BSIZE is the size of file blocks on the dump tapes.
+ * Note that TP_BSIZE must be a multiple of DEV_BSIZE.
+ *
+ * NTREC is the number of TP_BSIZE blocks that are written
+ * in each tape record.
+ *
+ * TP_NINDIR is the number of indirect pointers in a TS_INODE
+ * or TS_ADDR record. Note that it must be a power of two.
+ */
+#define TP_BSIZE 1024
#define NTREC 10
-#define MLEN 16
-#define MSIZ 4096
+#define TP_NINDIR (TP_BSIZE/2)
#define TS_TAPE 1
#define TS_INODE 2
#define TS_ADDR 4
#define TS_END 5
#define TS_CLRI 6
-#define MAGIC (int)60011
+#define OFS_MAGIC (int)60011
+#define NFS_MAGIC (int)60012
#define CHECKSUM (int)84446
-struct spcl
-{
- int c_type;
- time_t c_date;
- time_t c_ddate;
- int c_volume;
- daddr_t c_tapea;
- ino_t c_inumber;
- int c_magic;
- int c_checksum;
- struct dinode c_dinode;
- int c_count;
- char c_addr[BSIZE];
-} spcl;
-struct idates
-{
- char id_name[16];
- char id_incno;
- time_t id_ddate;
-};
+union u_spcl {
+ char dummy[TP_BSIZE];
+ struct s_spcl {
+ int c_type;
+ time_t c_date;
+ time_t c_ddate;
+ int c_volume;
+ daddr_t c_tapea;
+ ino_t c_inumber;
+ int c_magic;
+ int c_checksum;
+ struct dinode c_dinode;
+ int c_count;
+ char c_addr[TP_NINDIR];
+ } s_spcl;
+} u_spcl;
+
+#define spcl u_spcl.s_spcl
+
+#define DUMPOUTFMT "%-16s %c %s" /* for printf */
+ /* name, incno, ctime(date) */
+#define DUMPINFMT "%16s %c %[^\n]\n" /* inverse for scanf */