2.11BSD/man/cat5/dump.0
DUMP(5) UNIX Programmer's Manual DUMP(5)
NAME
dump, ddate - incremental dump format
SYNOPSIS
#include <sys/types.h>
#include <sys/ino.h>
#include <dumprestor.h>
DESCRIPTION
Tapes used by _d_u_m_p and _r_e_s_t_o_r(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 <_d_u_m_p_r_e_s_t_o_r._h>
is:
#if UCB_NKB == 1
#define NTREC 10
#endif
#ifndef UCB_NKB
#define NTREC 20
#endif
#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 dinodec_dinode;
int c_count;
char c_addr[BSIZE];
} spcl;
Printed 11/26/99 1
DUMP(5) UNIX Programmer's Manual DUMP(5)
struct idates
{
char id_name[16];
char id_incno;
time_t id_ddate;
};
_N_T_R_E_C is the number of BSIZE (sys/param.h) byte records in a
physical tape block. _M_L_E_N is the number of bits in a bit
map word. _M_S_I_Z is the number of bit map words.
The _T_S_ 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 contains 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 (512-byte) record.
c_inumber
The number of the inode being dumped if this is of
type _T_S__I_N_O_D_E.
c_magic This contains the value _M_A_G_I_C above, truncated as
needed.
c_checksum
This contains whatever value is needed to make the
record sum to _C_H_E_C_K_S_U_M.
c_dinode This is a copy of the inode as it appears on the
file system; see _f_i_l_s_y_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
Printed 11/26/99 2
DUMP(5) UNIX Programmer's Manual DUMP(5)
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, _T_S__A_D_D_R records will be scat-
tered 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 _T_S__E_N_D record and
then the tapemark.
The structure _i_d_a_t_e_s describes an entry of the file
/_e_t_c/_d_d_a_t_e where dump history is kept. The fields of the
structure are:
id_name The dumped file system 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).
FILES
/etc/ddate
SEE ALSO
filsys(5), types(5), dump(8), dumpdir(8), restor(8)
Printed 11/26/99 3