cpio(4) — File Formats
Digital
NAME
cpio − format of cpio archive
DESCRIPTION
The header structure, when the −c option of cpio(1) is not used, is:
struct {
short h_magic,
h_dev;
ushort h_ino,
h_mode,
h_uid,
h_gid;
short 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:
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,
&Longtime, &Hdr.h_namesize,&Longfile,Hdr.h_name);
The Longtime and Longfile are equivalent to Hdr.h_mtime and Hdr.h_filesize, respectively. The contents of each file are 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.