![]() |
Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
|
#include <brotli/decode.h>#include <stdlib.h>#include <string.h>#include "../common/constants.h"#include "../common/context.h"#include "../common/dictionary.h"#include "../common/platform.h"#include "../common/transform.h"#include "../common/version.h"#include "./bit_reader.h"#include "./huffman.h"#include "./prefix.h"#include "./state.h"Macros | |
| #define | BROTLI_FAILURE(CODE) |
| #define | BROTLI_LOG_UINT(name) |
| #define | BROTLI_LOG_ARRAY_INDEX(array_name, idx) |
| #define | HUFFMAN_TABLE_BITS 8U |
| #define | HUFFMAN_TABLE_MASK 0xFF |
| #define | BROTLI_SAFE(METHOD) |
| #define | BROTLI_ERROR_CODE_CASE_(PREFIX, NAME, CODE) |
| #define | BROTLI_NOTHING_ |
| #define BROTLI_FAILURE | ( | CODE | ) |
| #define BROTLI_LOG_ARRAY_INDEX | ( | array_name, | |
| idx ) |
| #define BROTLI_LOG_UINT | ( | name | ) |
| #define BROTLI_NOTHING_ |
| #define BROTLI_SAFE | ( | METHOD | ) |
| #define HUFFMAN_TABLE_BITS 8U |
| #define HUFFMAN_TABLE_MASK 0xFF |
| BrotliDecoderState * BrotliDecoderCreateInstance | ( | brotli_alloc_func | alloc_func, |
| brotli_free_func | free_func, | ||
| void * | opaque ) |
Creates an instance of BrotliDecoderState and initializes it.
The instance can be used once for decoding and should then be destroyed with BrotliDecoderDestroyInstance, it cannot be reused for a new decoding session.
alloc_func and free_func MUST be both zero or both non-zero. In the case they are both zero, default memory allocators are used. opaque is passed to alloc_func and free_func when they are called. free_func has to return without doing anything when asked to free a NULL pointer.
| alloc_func | custom memory allocation function |
| free_func | custom memory free function |
| opaque | custom memory manager handle |
0 if instance can not be allocated or initialized | BrotliDecoderResult BrotliDecoderDecompress | ( | size_t | encoded_size, |
| const uint8_t * | encoded_buffer, | ||
| size_t * | decoded_size, | ||
| uint8_t * | decoded_buffer ) |
| BrotliDecoderResult BrotliDecoderDecompressStream | ( | BrotliDecoderState * | state, |
| size_t * | available_in, | ||
| const uint8_t ** | next_in, | ||
| size_t * | available_out, | ||
| uint8_t ** | next_out, | ||
| size_t * | total_out ) |
Decompresses the input stream to the output stream.
The values *available_in and *available_out must specify the number of bytes addressable at *next_in and *next_out respectively. When *available_out is 0, next_out is allowed to be NULL.
After each call, *available_in will be decremented by the amount of input bytes consumed, and the *next_in pointer will be incremented by that amount. Similarly, *available_out will be decremented by the amount of output bytes written, and the *next_out pointer will be incremented by that amount.
total_out, if it is not a null-pointer, will be set to the number of bytes decompressed since the last state initialization.
next_in and available_in could be passed to the next consumer after decoding is complete.| state | decoder instance | |
| [in,out] | available_in | in: amount of available input; out: amount of unused input |
| [in,out] | next_in | pointer to the next compressed byte |
| [in,out] | available_out | in: length of output buffer; out: remaining size of output buffer |
| [in,out] | next_out | output buffer cursor; can be NULL if available_out is 0 |
| [out] | total_out | number of bytes decompressed so far; can be NULL |
| void BrotliDecoderDestroyInstance | ( | BrotliDecoderState * | state | ) |
Deinitializes and frees BrotliDecoderState instance.
| state | decoder instance to be cleaned up and deallocated |
| const char * BrotliDecoderErrorString | ( | BrotliDecoderErrorCode | c | ) |
Converts error code to a c-string.
| BrotliDecoderErrorCode BrotliDecoderGetErrorCode | ( | const BrotliDecoderState * | state | ) |
Acquires a detailed error code.
Should be used only after BrotliDecoderDecompressStream returns BROTLI_DECODER_RESULT_ERROR.
See also BrotliDecoderErrorString
| state | decoder instance |
| BROTLI_BOOL BrotliDecoderHasMoreOutput | ( | const BrotliDecoderState * | state | ) |
Checks if decoder has more output.
| state | decoder instance |
| BROTLI_BOOL BrotliDecoderIsFinished | ( | const BrotliDecoderState * | state | ) |
Checks if decoder instance reached the final state.
| state | decoder instance |
| BROTLI_BOOL BrotliDecoderIsUsed | ( | const BrotliDecoderState * | state | ) |
Checks if instance has already consumed input.
Instance that returns BROTLI_FALSE is considered "fresh" and could be reused.
| state | decoder instance |
| BROTLI_BOOL BrotliDecoderSetParameter | ( | BrotliDecoderState * | state, |
| BrotliDecoderParameter | param, | ||
| uint32_t | value ) |
Sets the specified parameter to the given decoder instance.
| state | decoder instance |
| param | parameter to set |
| value | new parameter value |
| const uint8_t * BrotliDecoderTakeOutput | ( | BrotliDecoderState * | state, |
| size_t * | size ) |
Acquires pointer to internal output buffer.
This method is used to make language bindings easier and more efficient:
Also this could be useful if there is an output stream that is able to consume all the provided data (e.g. when data is saved to file system).
*size bytes of output are considered consumed for all consecutive calls to the instance methods; returned pointer becomes invalidated as well.| state | decoder instance | |
| [in,out] | size | in: number of bytes caller is ready to take, 0 if any amount could be handled; out: amount of data pointed by returned pointer and considered consumed; out value is never greater than in value, unless it is 0 |
| uint32_t BrotliDecoderVersion | ( | void | ) |
Gets a decoder library version.
Look at BROTLI_VERSION for more information.