CPIO(5) — FILE FORMATS
NAME
cpio − format of cpio archive
DESCRIPTION
The old format header structure, when the −c option of cpio is not used, is:
struct {
shorth_magic,
h_dev;
ushorth_ino,
h_mode,
h_uid,
h_gid;
shorth_nlink,
h_rdev,
h_mtime[2],
h_namesize,
h_filesize[2];
charh_name[h_namesize rounded to a word];
} Hdr;
The byte order here is that of the machine on which the tape was written. If the tape is being read on a machine with a different byte order, you have to use swab(3) after reading the header. You can determine what byte order the tape was written with by examining the h_magic field; if it is equal to 0143561 (octal), which is the standard magic number 070707 (octal) with the bytes swapped, the tape was written in a byte order opposite to that of the machine on which it is being read. If you are producing a tape to be read on a machine with the opposite byte order to that of the machine on which it is being produced, you can use swap before writing the header.
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%11lo%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. Symbolic links are recorded similarly to regular files, with the “contents” of the file being the name of the file the symbolic link points to.
SEE ALSO
Sun Release 3.2 — Last change: 8 February 1983