CPIO(4)

НАЗВАНИЕ
cpio - формат архива cpio

ОПИСАНИЕ
Если при запуске cpio(1) не используется опция -c, то заголовок файла имеет следующую структуру:


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 округленное до слова];

} Hdr;

Если опция -c используется, то заголовок файла описывается следующим образом:

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 и Longfile эквивалентны полям Hdr.h_mtime и Hdr.h_filesize соответственно. Содержимое каждого файла вместе с другими элементами, описывающими файл, помещается в элемент массива структур переменной длины. Каждое вхождение h_magic содержит восьмеричную константу 070707. Поля от h_dev до h_mtime имеют тот же смысл, что и одноименные элементы stat(2). Длина заканчивающегося нулем маршрутного имени h_name, включая и нулевой байт, хранится в h_namesize.

Именем последнего элемента архива всегда служит TRAILER!!!. Специальные файлы, каталоги и последний элемент всегда сохраняются с полем h_filesize, равным нулю.

СМ. ТАКЖЕ
stat(2).
cpio(1), find(1) в Справочнике пользователя.