Contents of /trunk/mkinitrd-magellan/busybox/archival/libunarchive/unxz/xz_stream.h
Parent Directory | Revision Log
Revision 1123 -
(show annotations)
(download)
Wed Aug 18 21:56:57 2010 UTC (13 years, 9 months ago) by niro
File MIME type: text/plain
File size: 1221 byte(s)
Wed Aug 18 21:56:57 2010 UTC (13 years, 9 months ago) by niro
File MIME type: text/plain
File size: 1221 byte(s)
-updated to busybox-1.17.1
1 | /* |
2 | * Definitions for handling the .xz file format |
3 | * |
4 | * Author: Lasse Collin <lasse.collin@tukaani.org> |
5 | * |
6 | * This file has been put into the public domain. |
7 | * You can do whatever you want with this file. |
8 | */ |
9 | |
10 | #ifndef XZ_STREAM_H |
11 | #define XZ_STREAM_H |
12 | |
13 | #if defined(__KERNEL__) && !XZ_INTERNAL_CRC32 |
14 | # include <linux/crc32.h> |
15 | # undef crc32 |
16 | # define xz_crc32(buf, size, crc) \ |
17 | (~crc32_le(~(uint32_t)(crc), buf, size)) |
18 | #endif |
19 | |
20 | /* |
21 | * See the .xz file format specification at |
22 | * http://tukaani.org/xz/xz-file-format.txt |
23 | * to understand the container format. |
24 | */ |
25 | |
26 | #define STREAM_HEADER_SIZE 12 |
27 | |
28 | #define HEADER_MAGIC "\3757zXZ\0" |
29 | #define HEADER_MAGIC_SIZE 6 |
30 | |
31 | #define FOOTER_MAGIC "YZ" |
32 | #define FOOTER_MAGIC_SIZE 2 |
33 | |
34 | /* |
35 | * Variable-length integer can hold a 63-bit unsigned integer, or a special |
36 | * value to indicate that the value is unknown. |
37 | */ |
38 | typedef uint64_t vli_type; |
39 | |
40 | #define VLI_MAX ((vli_type)-1 / 2) |
41 | #define VLI_UNKNOWN ((vli_type)-1) |
42 | |
43 | /* Maximum encoded size of a VLI */ |
44 | #define VLI_BYTES_MAX (sizeof(vli_type) * 8 / 7) |
45 | |
46 | /* Integrity Check types */ |
47 | enum xz_check { |
48 | XZ_CHECK_NONE = 0, |
49 | XZ_CHECK_CRC32 = 1, |
50 | XZ_CHECK_CRC64 = 4, |
51 | XZ_CHECK_SHA256 = 10 |
52 | }; |
53 | |
54 | /* Maximum possible Check ID */ |
55 | #define XZ_CHECK_MAX 15 |
56 | |
57 | #endif |