Go to the documentation of this file.
18 #ifndef __LIB_LIBEXEC_LZ4DECOMPRESSOR_H
19 #define __LIB_LIBEXEC_LZ4DECOMPRESSOR_H
125 const Size inputSize,
127 const Size outputSize)
const;
140 Size &byteCount)
const;
Size m_blockMaximumSize
Maximum block size in bytes of the uncompressed content.
static const u32 FrameMagic
Magic number value marks the start of the frame header.
u64 getUncompressedSize() const
Get size of the uncompressed data.
Size m_frameDescSize
Size of the frame descriptor in bytes.
static const u8 FrameVersion
Current supported version of the LZ4 algorithm.
Result initialize()
Initialize the decompressor.
const u8 * m_inputData
Compressed input data.
unsigned long long u64
Unsigned 64-bit number.
const Size m_inputSize
Total size in bytes of the compressed input data.
bool m_blockChecksums
True if blocks have checksums enabled.
const u32 decompress(const u8 *input, const Size inputSize, u8 *output, const Size outputSize) const
Decompress a block of compressed data.
unsigned int u32
Unsigned 32-bit number.
unsigned int Size
Any sane size indicator cannot go negative.
Lz4Decompressor(const void *data, const Size size)
Constructor function.
bool m_contentChecksum
True if the input data buffer contains content checksum.
Result read(void *buffer, const Size size) const
Reads compressed data.
unsigned char u8
Unsigned 8-bit number.
Decompress data using the LZ4 algorithm created by Yann Collet.
static const u32 EndMark
EndMark marks the end of the data stream.
u64 m_contentSize
Content size as specified in the frame header.
const u32 integerDecode(const u32 initial, const u8 *next, Size &byteCount) const
Decode input data as integer (little-endian, 32-bit unsigned)
FrameFlgFields
Frame FLG Field Shift values.