fdump(4) fdump(4)
NAME
fdump, dumpdates - incremental dump format
SYNOPSIS
#include <sys/types.h>
#include <ufs/inode.h>
#include <protocols/dumprestore.h>
DESCRIPTION
Tapes used by fdump and restore(1M) 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
<protocols/dumprestore.h> is:
#define NTREC 10
#define MLEN 16
#define MSIZ 4096
#define TSTAPE 1
#define TSINODE 2
#define TSBITS 3
#define TSADDR 4
#define TSEND 5
#define TSCLRI 6
#define MAGIC (int) 60011
#define CHECKSUM (int) 84446
struct spcl {
int ctype;
timet cdate;
timet cddate;
int cvolume;
daddrt ctapea;
inot cinumber;
int cmagic;
int cchecksum;
struct dinode cdinode;
int ccount;
char caddr[BSIZE];
} spcl;
struct idates {
char idname[16];
char idincno;
timet idddate;
};
Page 1 CX/UX Programmer's Reference Manual
fdump(4) fdump(4)
#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_type 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_dinode
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_addr
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_magic.
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, truncated
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 fs(4).
c_count The count of characters in c_addr.
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 char-
acter 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
Page 2 CX/UX Programmer's Reference Manual
fdump(4) fdump(4)
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 idates describes an entry in the file
/etc/dumpdates where dump history is kept. The fields of
the structure are:
id_name The dumped filesystem is '/dev/id_nam'.
id_incno The level number of the dump tape; see fdump(1M).
id_ddate The date of the incremental dump in system format.
FILES
/etc/dumpdates
SEE ALSO
fdump(1M), restore(1M), fs(4)
Page 3 CX/UX Programmer's Reference Manual