|
|
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.