std-unix@ut-sally.UUCP (Moderator, John Quarterman) (05/11/87)
N.048 April 15, 1987 ``a proposal for a cpio format to be added to
Chapter 10,'' Lorraine C. Kevra, AT&T.
Secretary, IEEE Standards Board:
The attached is a proposal for a cpio format to be added to Chapter 10
(Data Interchange Format) of the POSIX Standard.
Lorraine C. Kevra
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);
*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 describeing 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.
SEE ALSO
stat(2) in the *Programmer's Reference Manual*.
cpio(1), find(1) in the *User's Reference Manual*.
Volume-Number: Volume 11, Number 14