Annotation of /trunk/mkinitrd-magellan/busybox/archival/libunarchive/unxz/xz_stream.h
Parent Directory | Revision Log
Revision 1123 -
(hide 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 | niro | 1123 | /* |
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 |