|
НАЗВАНИЕ
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) в Справочнике пользователя.
|