D.0.1 Old GNU Format

The format introduced in November 1990 (v. 1.09) was
designed on top of standard ustar headers in such an
unfortunate way that some of its fields overwrote fields required by
POSIX.

An old GNU sparse header is designated by type `S'
(GNUTYPE_SPARSE) and has the following layout:

Offset

Size

Name

Data type

Contents

0

345

N/A

Not used.

345

12

atime

Number

atime of the file.

357

12

ctime

Number

ctime of the file .

369

12

offset

Number

For
multivolume archives: the offset of the start of this volume.

381

4

N/A

Not used.

385

1

N/A

Not used.

386

96

sp

sparse_header

(4 entries) File map.

482

1

isextended

Bool

1 if an
extension sparse header follows, 0 otherwise.

483

12

realsize

Number

Real size of the file.

Each of sparse_header object at offset 386 describes a single
data chunk. It has the following structure:

Offset

Size

Data type

Contents

0

12

Number

Offset of the
beginning of the chunk.

12

12

Number

Size of the chunk.

If the member contains more than four chunks, the isextended
field of the header has the value 1 and the main header is
followed by one or more extension headers. Each such header has
the following structure: