CPIO(5) — FILE FORMATS
NAME
cpio − format of cpio archive
DESCRIPTION
The old format header structure, when the c option is not used, is:
struct {
shorth_magic,
h_dev,
h_ino,
h_mode,
h_uid,
h_gid,
h_nlink,
h_rdev,
h_mtime[2],
h_namesize,
h_filesize[2];
charh_name[h_namesize rounded to a word];
} Hdr;
but note that the byte order here is that of the PDP-11 and the VAX, and that for the Sun you have to use swab(3) after reading and before writing headers.
When the c option is used, the header information is described by the statement below:
sscanf(Chdr, "%6o%6o%6o%6o%6o%6o%6o%6o%11lo%6o%6o%s",
&Hdr.h_magic, &Hdr.h_dev, &Hdr.h_ino, &Hdr.h_mode,
&Hdr.h_uid, &Hdr.h_gid, &Hdr.h_nlink, &Hdr.h_rdev,
&Hdr.h_mtime, &Hdr.h_namesize, &Hdr.h_filesize, &Hdr.h_name);
Longtime and Longfile are equivalent to Hdr.h_mtime and Hdr.h_filesize, respectively. The contents of each file is recorded in an element of the array of varying length structures, archive, together with other items describing the file. Every instance of h_magic contains the constant 070707 (octal). The items h_dev through h_mtime have meanings explained in stat(2). The length of the null-terminated path name h_name, including the null byte, is given by h_namesize.
The last record of the archive always contains the name TRAILER!!!. Special files, directories, and the trailer, are recorded with h_filesize equal to zero.
SEE ALSO
Sun Release 2.0 — Last change: 8 February 1983