.TH DUMP 5 .UC 4 .SH NAME dump, ddate \- incremental dump format .SH SYNOPSIS .B #include .br .B #include .br .B #include .SH DESCRIPTION Tapes used by .I dump and .IR restor (1) contain: .nf .IP "" a header record two groups of bit map records a group of records describing directories a group of records describing files .fi .PP The format of the header record and of the first record of each description as given in the include file .I is: .PP .nf #define NTREC 10 #define MLEN 16 #define MSIZ 2048 #define TS_TAPE 1 #define TS_INODE 2 #define TS_BITS 3 #define TS_ADDR 4 #define TS_END 5 #define TS_CLRI 6 #define MAGIC (int) 60011 #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; }; #define DUMPOUTFMT "%-16s %c %s" /* for printf */ /* name, incno, ctime(date) */ #define DUMPINFMT "%16s %c %[^\en]\en" /* inverse for scanf */ .fi .PP .I NTREC is the number of 1024 byte records in a physical tape block. .I MLEN is the number of bits in a bit map word. .I MSIZ is the number of bit map words. .PP The .I TS_ entries are used in the .I c_type field to indicate what sort of header this is. The types and their meanings are as follows: .TP 13 TS_TAPE Tape volume label .PD 0 .TP TS_INODE A file or directory follows. The .I c_dinode field is a copy of the disk inode and contains bits telling what sort of file this is. .TP TS_BITS A bit map follows. This bit map has a one bit for each inode that was dumped. .TP TS_ADDR A subrecord of a file description. See .I c_addr below. .TP TS_END End of tape record. .TP TS_CLRI A bit map follows. This bit map contains a zero bit for all inodes that were empty on the file system when dumped. .TP MAGIC All header records have this number in .I c_magic. .TP CHECKSUM Header records checksum to this value. .PD .PP The fields of the header structure are as follows: .TP 13 c_type The type of the header. .PD 0 .TP c_date The date the dump was taken. .TP c_ddate The date the file system was dumped from. .TP c_volume The current volume number of the dump. .TP c_tapea The current number of this (1024-byte) record. .TP c_inumber The number of the inode being dumped if this is of type .I TS_INODE. .TP c_magic This contains the value .I MAGIC above, truncated as needed. .TP c_checksum This contains whatever value is needed to make the record sum to .I CHECKSUM. .TP c_dinode This is a copy of the inode as it appears on the file system; see .IR filsys (5). .TP c_count The count of characters in .I c_addr. .TP c_addr An array of characters describing the blocks of the dumped file. A character is zero if the block associated with that character was not present on the file system, otherwise the character is non-zero. If the block was not present on the file system, no block was dumped; the block will be restored as a hole in the file. If there is not sufficient space in this record to describe all of the blocks in a file, .I TS_ADDR records will be scattered through the file, each one picking up where the last left off. .PD .PP Each volume except the last ends with a tapemark (read as an end of file). The last volume ends with a .I TS_END record and then the tapemark. .PP The structure .I idates describes an entry of the file .I /etc/ddate where dump history is kept. The fields of the structure are: .TP \w'TS_INODE\ 'u id_name The dumped filesystem is .RI `/dev/ id_nam'. .PD 0 .TP id_incno The level number of the dump tape; see .IR dump (1). .TP id_ddate The date of the incremental dump in system format see .IR types (5). .PD .SH FILES /etc/ddate .SH "SEE ALSO" dump(8), dumpdir(8), restor(8), filsys(5), types(5)