The old format 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 a word]; } Hdr;
The byte order here is that of the machine on which the tape was written. If the tape is being read on a machine with a different byte order, you have to use swab.3 after reading the header. You can determine what byte order the tape was written with by examining the h_magic field; if it is equal to 0143561 (octal), which is the standard magic number 070707 (octal) with the bytes swapped, the tape was written in a byte order opposite to that of the machine on which it is being read. If you are producing a tape to be read on a machine with the opposite byte order to that of the machine on which it is being produced, you can use swap before writing the header.
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%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, &Hdr.h_mtime, &Hdr.h_namesize, &Hdr.h_filesize, &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.2v 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. Symbolic links are recorded similarly to regular files, with the ``contents'' of the file being the name of the file the symbolic link points to.
Created by unroff & hp-tools. © somebody (See intro for details). All Rights Reserved. Last modified 11/5/97