mirror of
https://git.tukaani.org/xz.git
synced 2024-04-04 12:36:23 +02:00
The .xz file format version 1.0.1
This commit is contained in:
parent
083c23c680
commit
cb61345564
1 changed files with 22 additions and 7 deletions
|
@ -2,7 +2,7 @@
|
||||||
The .xz File Format
|
The .xz File Format
|
||||||
===================
|
===================
|
||||||
|
|
||||||
Version 1.0.0 (2009-01-14)
|
Version 1.0.1 (2009-06-01)
|
||||||
|
|
||||||
|
|
||||||
0. Preface
|
0. Preface
|
||||||
|
@ -92,7 +92,12 @@ Version 1.0.0 (2009-01-14)
|
||||||
0.3. Version History
|
0.3. Version History
|
||||||
|
|
||||||
Version Date Description
|
Version Date Description
|
||||||
1.0.0 2008-01-14 The first official version
|
|
||||||
|
1.0.1 2009-06-01 Typo fix in Section 0.3 and minor
|
||||||
|
clarifications to Sections 2, 2.2,
|
||||||
|
3.3, 4.4, and 5.3.2
|
||||||
|
|
||||||
|
1.0.0 2009-01-14 The first official version
|
||||||
|
|
||||||
|
|
||||||
1. Conventions
|
1. Conventions
|
||||||
|
@ -233,6 +238,10 @@ Version 1.0.0 (2009-01-14)
|
||||||
| Stream | Stream Padding | Stream | Stream Padding | ...
|
| Stream | Stream Padding | Stream | Stream Padding | ...
|
||||||
+========+================+========+================+
|
+========+================+========+================+
|
||||||
|
|
||||||
|
The sizes of Stream and Stream Padding are always multiples
|
||||||
|
of four bytes, thus the size of every valid .xz file MUST be
|
||||||
|
a multiple of four bytes.
|
||||||
|
|
||||||
While a typical file contains only one Stream and no Stream
|
While a typical file contains only one Stream and no Stream
|
||||||
Padding, a decoder handling standalone .xz files SHOULD support
|
Padding, a decoder handling standalone .xz files SHOULD support
|
||||||
files that have more than one Stream or Stream Padding.
|
files that have more than one Stream or Stream Padding.
|
||||||
|
@ -431,7 +440,8 @@ Version 1.0.0 (2009-01-14)
|
||||||
Stream Padding MUST contain only null bytes. To preserve the
|
Stream Padding MUST contain only null bytes. To preserve the
|
||||||
four-byte alignment of consecutive Streams, the size of Stream
|
four-byte alignment of consecutive Streams, the size of Stream
|
||||||
Padding MUST be a multiple of four bytes. Empty Stream Padding
|
Padding MUST be a multiple of four bytes. Empty Stream Padding
|
||||||
is allowed.
|
is allowed. If these requirements are not met, the decoder MUST
|
||||||
|
indicate an error.
|
||||||
|
|
||||||
Note that non-empty Stream Padding is allowed at the end of the
|
Note that non-empty Stream Padding is allowed at the end of the
|
||||||
file; there doesn't need to be a new Stream after non-empty
|
file; there doesn't need to be a new Stream after non-empty
|
||||||
|
@ -597,7 +607,9 @@ Version 1.0.0 (2009-01-14)
|
||||||
|
|
||||||
Block Padding MUST contain 0-3 null bytes to make the size of
|
Block Padding MUST contain 0-3 null bytes to make the size of
|
||||||
the Block a multiple of four bytes. This can be needed when
|
the Block a multiple of four bytes. This can be needed when
|
||||||
the size of Compressed Data is not a multiple of four.
|
the size of Compressed Data is not a multiple of four. If any
|
||||||
|
of the bytes in Block Padding are not null bytes, the decoder
|
||||||
|
MUST indicate an error.
|
||||||
|
|
||||||
|
|
||||||
3.4. Check
|
3.4. Check
|
||||||
|
@ -709,7 +721,8 @@ Version 1.0.0 (2009-01-14)
|
||||||
4.4. Index Padding
|
4.4. Index Padding
|
||||||
|
|
||||||
This field MUST contain 0-3 null bytes to pad the Index to
|
This field MUST contain 0-3 null bytes to pad the Index to
|
||||||
a multiple of four bytes.
|
a multiple of four bytes. If any of the bytes are not null
|
||||||
|
bytes, the decoder MUST indicate an error.
|
||||||
|
|
||||||
|
|
||||||
4.5. CRC32
|
4.5. CRC32
|
||||||
|
@ -901,8 +914,10 @@ Version 1.0.0 (2009-01-14)
|
||||||
If the size of Filter Properties is four bytes, the Filter
|
If the size of Filter Properties is four bytes, the Filter
|
||||||
Properties field contains the start offset used for address
|
Properties field contains the start offset used for address
|
||||||
conversions. It is stored as an unsigned 32-bit little endian
|
conversions. It is stored as an unsigned 32-bit little endian
|
||||||
integer. If the size of Filter Properties is zero, the start
|
integer. The start offset MUST be a multiple of the alignment
|
||||||
offset is zero.
|
of the filter as listed in the table above; if it isn't, the
|
||||||
|
decoder MUST indicate an error. If the size of Filter
|
||||||
|
Properties is zero, the start offset is zero.
|
||||||
|
|
||||||
Setting the start offset may be useful if an executable has
|
Setting the start offset may be useful if an executable has
|
||||||
multiple sections, and there are many cross-section calls.
|
multiple sections, and there are many cross-section calls.
|
||||||
|
|
Loading…
Reference in a new issue