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(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. 

RELATED INFORMATION

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

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