CPIO(4)
NAME
cpio − format of cpio archive
DESCRIPTION
The header structure, when the −c option of cpio(1) is not used, is:
struct {
shortc_magic,
c_dev;
ushortc_ino,
c_mode,
c_uid,
c_gid;
shortc_nlink,
c_rdev,
c_mtime[2],
c_namesize,
c_filesize[2];
charc_name[c_namesize rounded to word];
} Hdr;
When the −c option is used, the header information is described by:
sscanf(Chdr,"%6ho%6ho%6ho%6ho%6ho%6ho%6ho%6ho%11lo%6ho%11lo",
&Hdr.c_magic,&Hdr.c_dev,&Hdr.c_ino,&Hdr.c_mode,
&Hdr.c_uid,&Hdr.c_gid,&Hdr.c_nlink,&Hdr.c_rdev,
&Longtime,&Hdr.c_namesize,&Longfile);
Longtime and Longfile are equivalent to Hdr.c_mtime and Hdr.c_filesize, respectively. The contents of each file are recorded together with other items describing the file. Every instance of c_magic contains the constant 070707 (octal). The items c_dev through c_mtime have meanings explained in stat(2). The length of the null-terminated path name c_name, including the null byte, is given by c_namesize.
The last record of the archive always contains the name TRAILER!!!. Directories and the trailer are recorded with c_filesize equal to zero.
It will not always be the case that c_dev and c_ino correspond to the results of stat(2), but the values are always sufficient to tell whether two files in the archive are linked to each other.
When a device special file is archived by HP-UX cpio (using -x), c_rdev will contain a magic constant which is dependent upon the implementation which is doing the writing. H_rdev flags the device file as an HP-UX 32-bit device specifier, and c_filesize will contain the 32-bit device specifier (see stat(2)). If the -x option is not present, special files are not archived or restored. Non-HP-UX device special files are never restored.
SEE ALSO
STANDARDS CONFORMANCE
cpio: XPG2, XPG3, POSIX.1, FIPS 151-1
Hewlett-Packard Company — HP-UX Release 7.0: Sept 1989