https://www.gnu.org/software/tar/manual/html_node/Standard.html#Standard
Там, получается, каждый элемент описан структурой, то ли posix_header, то ли star_header. В исходникак на всякий случай вот что придумали:
Код: Выделить всё
union block
{
char buffer[BLOCKSIZE];
struct posix_header header;
struct star_header star_header;
struct oldgnu_header oldgnu_header;
struct sparse_header sparse_header;
struct star_in_header star_in_header;
struct star_ext_header star_ext_header;
};
Код: Выделить всё
struct star_header
{ /* byte offset */
char name[100]; /* 0 */
...
char size[12]; /* 124 */
...
char typeflag; /* 156 */
};
На этом понятности заканчиваются. Куда-то после этого помещается имя элемента, куда-то его тип. А куда- не описано. Может, занимался кто. Спасибо, кто откликнется. Debian 12. Вот архив n.tar на всякий случай, там сархивирован файл с именем из 105 знаков (на практике, если инкрементно архивировать систему, например, встречается сплошь и рядом)/* Identifies the *next* file on the tape as having a long name. */
#define GNUTYPE_LONGNAME 'L'