/* * Definitions for handling the .xz file format * * Author: Lasse Collin <[email protected]> * * This file has been put into the public domain. * You can do whatever you want with this file. */ #ifndef XZ_STREAM_H #define XZ_STREAM_H #if defined(__KERNEL__) && !XZ_INTERNAL_CRC32 # include <linux/crc32.h> # undef crc32 #define xz_crc32(buf, size, crc) … #endif /* * See the .xz file format specification at * https://tukaani.org/xz/xz-file-format.txt * to understand the container format. */ #define STREAM_HEADER_SIZE … #define HEADER_MAGIC … #define HEADER_MAGIC_SIZE … #define FOOTER_MAGIC … #define FOOTER_MAGIC_SIZE … /* * Variable-length integer can hold a 63-bit unsigned integer or a special * value indicating that the value is unknown. * * Experimental: vli_type can be defined to uint32_t to save a few bytes * in code size (no effect on speed). Doing so limits the uncompressed and * compressed size of the file to less than 256 MiB and may also weaken * error detection slightly. */ vli_type; #define VLI_MAX … #define VLI_UNKNOWN … /* Maximum encoded size of a VLI */ #define VLI_BYTES_MAX … /* Integrity Check types */ enum xz_check { … }; /* Maximum possible Check ID */ #define XZ_CHECK_MAX … #endif