Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cpio(1)

find(1)

stat(2)

cpio(5)

Name

cpio − format of cpio archive

Description

The header structure, when the -c option of cpio() 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(.). 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

cpio(1), find(1), stat(2)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026