4.4BSD/usr/share/man/cat5/dumpdates.0
DUMP(5) BSD Programmer's Manual DUMP(5)
NNAAMMEE
dump, dumpdates - incremental dump format
SSYYNNOOPPSSIISS
##iinncclluuddee <<ssyyss//ttyyppeess..hh>>
##iinncclluuddee <<ssyyss//iinnooddee..hh>>
##iinncclluuddee <<pprroottooccoollss//dduummpprreessttoorree..hh>>
DDEESSCCRRIIPPTTIIOONN
Tapes used by _d_u_m_p and _r_e_s_t_o_r_e(8) contain:
a header record
two groups of bit map records
a group of records describing directories
a group of records describing files
The format of the header record and of the first record of
each description as given in the include file _<_p_r_o_t_o_-
_c_o_l_s_/_d_u_m_p_r_e_s_t_o_r_e_._h_> is:
#define NTREC 10
#define MLEN 16
#define MSIZ 4096
#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;
4th Berkeley Distribution June 5, 1993 1
DUMP(5) BSD Programmer's Manual DUMP(5)
};
#define DUMPOUTFMT "%-16s %c %s" /* for printf */
/* name, incno, ctime(date) */
#define DUMPINFMT "%16s %c %[^\n]\n" /* inverse for scanf */
NTREC is the number of 1024 byte records in a physical
tape block. MLEN is the number of bits in a bit map word.
MSIZ is the number of bit map words.
The TS_ entries are used in the _c___t_y_p_e field to indicate
what sort of header this is. The types and their meanings
are as follows:
TS_TAPE Tape volume label
TS_INODE A file or directory follows. The _c___d_i_n_o_d_e
field is a copy of the disk inode and con-
tains bits telling what sort of file this is.
TS_BITS A bit map follows. This bit map has a one
bit for each inode that was dumped.
TS_ADDR A subrecord of a file description. See
_c___a_d_d_r below.
TS_END End of tape record.
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.
MAGIC All header records have this number in
_c___m_a_g_i_c_.
CHECKSUM Header records checksum to this value.
The fields of the header structure are as follows:
c_type The type of the header.
c_date The date the dump was taken.
c_ddate The date the file system was dumped from.
c_volume The current volume number of the dump.
c_tapea The current number of this (1024-byte)
record.
c_inumber The number of the inode being dumped if this
is of type TS_INODE.
c_magic This contains the value MAGIC above, trun-
cated as needed.
c_checksum This contains whatever value is needed to
make the record sum to CHECKSUM.
c_dinode This is a copy of the inode as it appears on
the file system; see _f_s(5).
c_count The count of characters in _c___a_d_d_r_.
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
4th Berkeley Distribution June 5, 1993 2
DUMP(5) BSD Programmer's Manual DUMP(5)
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, TS_ADDR records will be
scattered through the file, each one picking
up where the last left off.
Each volume except the last ends with a tapemark (read as
an end of file). The last volume ends with a TS_END
record and then the tapemark.
The structure _i_d_a_t_e_s describes an entry in the file
_/_e_t_c_/_d_u_m_p_d_a_t_e_s where dump history is kept. The fields of
the structure are:
id_name The dumped filesystem is `/dev/_i_d___n_a_m_'_.
id_incno The level number of the dump tape; see _d_u_m_p(8).
id_ddate The date of the incremental dump in system format
see _t_y_p_e_s(5).
FFIILLEESS
/etc/dumpdates
SSEEEE AALLSSOO
dump(8), restore(8), fs(5), types(5)
4th Berkeley Distribution June 5, 1993 3