diff options
Diffstat (limited to 'Build/source/utils/lzma-utils/src/liblzmadec/lzmadec.h')
-rw-r--r-- | Build/source/utils/lzma-utils/src/liblzmadec/lzmadec.h | 305 |
1 files changed, 0 insertions, 305 deletions
diff --git a/Build/source/utils/lzma-utils/src/liblzmadec/lzmadec.h b/Build/source/utils/lzma-utils/src/liblzmadec/lzmadec.h deleted file mode 100644 index 146d832630f..00000000000 --- a/Build/source/utils/lzma-utils/src/liblzmadec/lzmadec.h +++ /dev/null @@ -1,305 +0,0 @@ -/****************************************************************************** - - LZMA decoder library with a zlib like API - - * WARNING WARNING WARNING WARNING WARNING WARNING * - * * - * This library hasn't been maintained since 2005. * - * This will be replaced by liblzma once it is * - * finished. liblzma will provide all the features * - * of liblzmadec and a lot more. * - * * - * WARNING WARNING WARNING WARNING WARNING WARNING * - - Copyright (C) 1999-2005 Igor Pavlov (http://7-zip.org/) - Copyright (C) 2005 Lasse Collin <lasse.collin@tukaani.org> - Based on zlib.h and bzlib.h. - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - -******************************************************************************/ - - -/************************* - WARNING WARNING WARNING - Comments about return - codes etc. are not up - to date. - *************************/ - - -#ifndef LZMADEC_H -#define LZMADEC_H - -#ifdef __cplusplus -extern "C" { -#endif - -/********** - Includes - **********/ - -#include <sys/types.h> -#include <inttypes.h> - -/* Define LZMADEC_NO_STDIO to not include stdio.h and lzmadec_FILE functions. */ -#ifndef LZMADEC_NO_STDIO -#include <stdio.h> -#endif - - -/******************* - Defines/Constants - *******************/ - -/* Size in bytes of the smallest possible LZMA encoded file */ -#define LZMADEC_MINIMUM_SIZE 18 - -/* Return values */ -#define LZMADEC_OK 0 -#define LZMADEC_STREAM_END 1 -#define LZMADEC_HEADER_ERROR (-2) -#define LZMADEC_DATA_ERROR (-3) -#define LZMADEC_MEM_ERROR (-4) -#define LZMADEC_BUF_ERROR (-5) -#define LZMADEC_SEQUENCE_ERROR (-6) -/* - LZMADEC_OK - Operation succeeded or some progress has been made. - - LZMADEC_STREAM_END - The end of the encoded data has been reached. Note that this is - a possible return value even when finish_decoding == LZMADEC_RUN. - - LZMADEC_DATA_ERROR - Something wrong with the input data. - - LZMADEC_MEM_ERROR - The memory allocation function returned a NULL pointer. The same - function can be called again with the same arguments to try again. - - LZMADEC_BUF_ERROR - You should provide more input in next_in and set avail_in accordingly. - The first call to lzmadec_decode() must provide at least 18 bytes of - input data. Subsequent calls can any amount of data (or no data at all). - Note that LZMADEC_BUF_ERROR is not fatal and decoding can continue by - supplying more input data. -*/ - - -/********** - typedefs - **********/ - -typedef struct { - uint8_t *next_in; - size_t avail_in; - uint_fast64_t total_in; - - uint8_t *next_out; - size_t avail_out; - uint_fast64_t total_out; - - void *state; /* Internal state, not visible outside the library */ - - void *(*lzma_alloc)(void *, size_t, size_t); - void (*lzma_free)(void *, void *); - void *opaque; -} lzmadec_stream; - -typedef struct { - uint_fast64_t uncompressed_size; - uint_fast32_t dictionary_size; - uint_fast32_t internal_data_size; - uint_fast8_t is_streamed; - uint_fast8_t pb; - uint_fast8_t lp; - uint_fast8_t lc; -} lzmadec_info; - -#ifndef LZMADEC_NO_STDIO -typedef void lzmadec_FILE; -#endif - - -/********************* - Single call decoding - *********************/ - -extern int_fast8_t lzmadec_buffer ( - uint8_t *dest, size_t *dest_len, - uint8_t *source, const size_t source_len); -/* - Decode the data from source buffer to destination buffer with - a single pass. - - Return values: - LZMADEC_OK Decoding successful - LZMADEC_HEADER_ERROR Invalid header - LZMADEC_MEM_ERROR Not enough memory - LZMADEC_DATA_ERROR Corrupted source data - LZMADEC_BUF_ERROR Destination buffer too small - - Equivalent in zlib: uncompress() -*/ - - -/********************* - Multi call decoding - *********************/ - -extern int_fast8_t lzmadec_init (lzmadec_stream *strm); -/* - Initialize the decoder. - - Return values: - LZMADEC_OK - LZMADEC_HEADER_ERROR - LZMADEC_MEM_ERROR - - Equivalent in zlib: inflateInit() -*/ - -extern int_fast8_t -lzmadec_decode (lzmadec_stream *strm, const int_fast8_t finish_decoding); -/* - The finish_decoding flag - - In contrast to zlib and bzlib, liblzmadec can detect the end of the - compressed stream only with streamed LZMA data. Non-streamed data - does not contain any end of stream marker and thus needs the - finish_decoding flag to be set to decode the last bytes of the data. - - When the finish_decoding is zero, - This is a sign to the decoder that even if avail_in == 0 happened to - be true, there can still be more input data not passed to the library - yet. It is safe to call lzmadec_decode with LZMADEC_RUN even if all - the data has been passed to the library already; in that case there - there will usually be bytes left in the internal output buffer. - - Set the finish_decoding to non-zero to sign the decoder that all - the input has been given to it via next_in buffer. Once called with - non-zero finish_decoding flag, it should not be unset or an error - will be returned. - - If you can assure that (avail_in > 0) on every lzmadec_decode() call - before all the data has been passed to the decoder library, the - simplest way is to use (strm.avail_in == 0) as the finish_decoding - value. - - Return values: - LZMADEC_OK - LZMADEC_STREAM_END - LZMADEC_DATA_ERROR - LZMADEC_HEADER_ERROR (only right after initialization) - LZMADEC_MEM_ERROR (only right after initialization) - - Equivalent in zlib: inflate() -*/ - -int_fast8_t lzmadec_end (lzmadec_stream *strm); -/* - Return values: - LZMADEC_OK - LZMADEC_STREAM_ERROR FIXME - - Equivalent in zlib: inflateEnd() -*/ - - -/************* - Information - *************/ - -extern int_fast8_t lzmadec_buffer_info ( - lzmadec_info *info, const uint8_t *buffer, const size_t len); -/* - Parse the header of a LZMA stream. The header size is - 13 bytes; make sure there is at least 13 bytes available - in the buffer. Information about parsed header will be stored - to *info. - - Most common uses for this function are checking - - the uncompressed size of the file (if availabe) - - how much RAM is needed to decompress the data. - - uncompressed_size Uncompressed size of the data as bytes - - dictionary_size Dictionary size as bytes; depends only on - settings used when compressing the data. - - internal_data_size The amount of memory needed by liblzmadec - to decode the data excluding the dictionary - size. Note that this value depends not only - about the used compression settings but - also the implementation and/or compile time - settings; specifically sizeof(uint_fast16_t). - - is_streamed Zero if the data is non-streamed LZMA, and - non-zero for streamed. This flag is set - simply by checking the size field. - - pb Number of pos bits; can be from 0 to 4. - - lp Number of literal pos bits; from 0 to 4. - - lc Number of literal context bits; from 0 to 8. - - To know how much memory is needed to compress a specific stream, - add up dictionary_size and internal_data_size. Note that if the - dictionary is extremely huge, the result might not fit in - uint_fast32_t. ;-) - - WARNING: LZMA streams have no magic first bytes. All data - that has 0x00 - 0xE1 as the first byte in the buffer will - return LZMADEC_OK. - - Return values: - LZMADEC_OK All OK, the information was stored to *info. - LZMADEC_BUF_ERROR len is too small. - LZMADEC_HEADER_ERROR Invalid header data. -*/ - -extern const uint8_t *lzmadec_version (void); -/* - Return a pointer to a statically allocated string containing the version - number of the liblzmadec. The version number format is x.yy.z where - x.yy is the version of LZMA SDK from http://7-zip.org/sdk.html, and x - is - - Equivalent in zlib: zlibVersion() -*/ - - -/********** - File I/O - **********/ -#ifndef LZMADEC_NO_STDIO - -extern lzmadec_FILE *lzmadec_open (const char *path); -extern lzmadec_FILE *lzmadec_dopen (int fd); -extern ssize_t lzmadec_read (lzmadec_FILE *file, uint8_t *buf, size_t len); -extern uint8_t *lzmadec_gets (lzmadec_FILE *file, uint8_t *buf, size_t len); -extern int lzmadec_getc (lzmadec_FILE *file); -extern int_fast8_t lzmadec_seek (lzmadec_FILE *file, off_t offset, int whence); -extern off_t lzmadec_tell (lzmadec_FILE *file); -extern int_fast8_t lzmadec_rewind (lzmadec_FILE *file); -extern int_fast8_t lzmadec_eof (lzmadec_FILE *file); -extern int_fast8_t lzmadec_close (lzmadec_FILE *file); -/* extern const char *lzmadec_error (lzmadec_FILE *file, int *errnum) */ - -#endif /* ifndef LZMADEC_NO_STDIO */ - -#ifdef __cplusplus -} -#endif - -#endif /* ifndef LZMADEC_H */ |