CPIO(5)
NAME
cpio − format of cpio archive
DESCRIPTION
The header structure, when the c option is not used, is:
struct {
short h_magic,
h_dev,
h_ino,
h_mode,
h_uid,
h_gid,
h_nlink,
h_rdev,
h_mtime[2],
h_namesize,
h_filesize[2];
char h_name[h_namesize rounded to word];
} Hdr;
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,
&Longtime,&Hdr.h_namesize,&Longfile,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.