LZ4 DecompressorComponents > Decompressor

Description

LZ4 decompressor.

Data Structures

struct  Lz4Context_t
 LZ4 decompressor context.
 

Macros

#define LZ4_STATE_TOKEN   00U
 LZ4 state machine: Token byte.
 
#define LZ4_STATE_LITERAL_LENGTH   10U
 LZ4 state machine: Literal length byte.
 
#define LZ4_STATE_LITERAL_VALUE   20U
 LZ4 state machine: Literal value byte.
 
#define LZ4_STATE_OFFSET_LSB   30U
 LZ4 state machine: LSB of match offset.
 
#define LZ4_STATE_OFFSET_MSB   35U
 LZ4 state machine: MSB of match offset.
 
#define LZ4_STATE_MATCH_LENGTH   40U
 LZ4 state machine: Match length.
 
#define LZ4_STATE_BACKTRACKING   50U
 LZ4 state machine: Backtracking to get matched data.
 

Typedefs

typedef int32_t(* Lz4DataWrite_t) (uint8_t *data, size_t length)
 Function to output data from LZ4 decompressor.
 
typedef int32_t(* Lz4DataRead_t) (size_t backtrackOffset, uint8_t *data, size_t length)
 Function to read data into LZ4 decompressor.
 

Functions

int32_t lz4_init (Lz4Context_t *ctx, Lz4DataRead_t readFunction)
 
int32_t lz4_decompress (Lz4Context_t *ctx, void *inputData, size_t inputLength, Lz4DataWrite_t writeFunction)
 
int32_t lz4_finish (Lz4Context_t *ctx)
 

Function Documentation

int32_t lz4_init ( Lz4Context_t ctx,
Lz4DataRead_t  readFunction 
)

Initialize the LZ4 decompressor.

Parameters
ctxDecompressor context
readFunctionFunction pointer to read back previously written data
Returns
Error code
int32_t lz4_decompress ( Lz4Context_t ctx,
void *  inputData,
size_t  inputLength,
Lz4DataWrite_t  writeFunction 
)

Decompress a chunk of data.

Parameters
ctxDecompressor context
inputDataCompressed input data
inputLengthLength of inputData in bytes
writeFunctionFunction pointer that is called with decompressed data
Returns
Error code
int32_t lz4_finish ( Lz4Context_t ctx)

Finish decompressing data.

Parameters
ctxDecompressor context
Returns
Error code indicating success or failure
Return values
BOOTLOADER_OKon success
BOOTLOADER_ERROR_COMPRESSION_STATEif the last block wasn't completed