35 #if defined (__cplusplus) 39 #ifndef LZ4_H_2983827168210 40 #define LZ4_H_2983827168210 85 #ifndef LZ4LIB_VISIBILITY 86 # if defined(__GNUC__) && (__GNUC__ >= 4) 87 # define LZ4LIB_VISIBILITY __attribute__ ((visibility ("default"))) 89 # define LZ4LIB_VISIBILITY 92 #if defined(LZ4_DLL_EXPORT) && (LZ4_DLL_EXPORT==1) 93 # define LZ4LIB_API __declspec(dllexport) LZ4LIB_VISIBILITY 94 #elif defined(LZ4_DLL_IMPORT) && (LZ4_DLL_IMPORT==1) 95 # define LZ4LIB_API __declspec(dllimport) LZ4LIB_VISIBILITY 97 # define LZ4LIB_API LZ4LIB_VISIBILITY 101 #define LZ4_VERSION_MAJOR 1 102 #define LZ4_VERSION_MINOR 9 103 #define LZ4_VERSION_RELEASE 3 105 #define LZ4_VERSION_NUMBER (LZ4_VERSION_MAJOR *100*100 + LZ4_VERSION_MINOR *100 + LZ4_VERSION_RELEASE) 107 #define LZ4_LIB_VERSION LZ4_VERSION_MAJOR.LZ4_VERSION_MINOR.LZ4_VERSION_RELEASE 108 #define LZ4_QUOTE(str) #str 109 #define LZ4_EXPAND_AND_QUOTE(str) LZ4_QUOTE(str) 110 #define LZ4_VERSION_STRING LZ4_EXPAND_AND_QUOTE(LZ4_LIB_VERSION) 126 #ifndef LZ4_MEMORY_USAGE 127 # define LZ4_MEMORY_USAGE 14 170 #define LZ4_MAX_INPUT_SIZE 0x7E000000 171 #define LZ4_COMPRESSBOUND(isize) ((unsigned)(isize) > (unsigned)LZ4_MAX_INPUT_SIZE ? 0 : (isize) + ((isize)/255) + 16) 382 #define LZ4_DECODER_RING_BUFFER_SIZE(maxBlockSize) (65536 + 14 + (maxBlockSize)) 449 #ifdef LZ4_STATIC_LINKING_ONLY 451 #ifndef LZ4_STATIC_3504398509 452 #define LZ4_STATIC_3504398509 454 #ifdef LZ4_PUBLISH_STATIC_FUNCTIONS 455 #define LZ4LIB_STATIC_API LZ4LIB_API 457 #define LZ4LIB_STATIC_API 553 #define LZ4_DECOMPRESS_INPLACE_MARGIN(compressedSize) (((compressedSize) >> 8) + 32) 554 #define LZ4_DECOMPRESS_INPLACE_BUFFER_SIZE(decompressedSize) ((decompressedSize) + LZ4_DECOMPRESS_INPLACE_MARGIN(decompressedSize)) 556 #ifndef LZ4_DISTANCE_MAX 557 # define LZ4_DISTANCE_MAX 65535 560 #define LZ4_COMPRESS_INPLACE_MARGIN (LZ4_DISTANCE_MAX + 32) 561 #define LZ4_COMPRESS_INPLACE_BUFFER_SIZE(maxCompressedSize) ((maxCompressedSize) + LZ4_COMPRESS_INPLACE_MARGIN) 568 #ifndef LZ4_H_98237428734687 569 #define LZ4_H_98237428734687 578 #define LZ4_HASHLOG (LZ4_MEMORY_USAGE-2) 579 #define LZ4_HASHTABLESIZE (1 << LZ4_MEMORY_USAGE) 580 #define LZ4_HASH_SIZE_U32 (1 << LZ4_HASHLOG) 582 #if defined(__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) ) 623 #define LZ4_STREAMSIZE 16416 624 #define LZ4_STREAMSIZE_VOIDP (LZ4_STREAMSIZE / sizeof(void*)) 655 #define LZ4_STREAMDECODESIZE_U64 (4 + ((sizeof(void*)==16) ? 2 : 0) ) 656 #define LZ4_STREAMDECODESIZE (LZ4_STREAMDECODESIZE_U64 * sizeof(unsigned long long)) 679 #ifdef LZ4_DISABLE_DEPRECATE_WARNINGS 680 # define LZ4_DEPRECATED(message) 682 # if defined (__cplusplus) && (__cplusplus >= 201402) 683 # define LZ4_DEPRECATED(message) [[deprecated(message)]] 684 # elif defined(_MSC_VER) 685 # define LZ4_DEPRECATED(message) __declspec(deprecated(message)) 686 # elif defined(__clang__) || (defined(__GNUC__) && (__GNUC__ * 10 + __GNUC_MINOR__ >= 45)) 687 # define LZ4_DEPRECATED(message) __attribute__((deprecated(message))) 688 # elif defined(__GNUC__) && (__GNUC__ * 10 + __GNUC_MINOR__ >= 31) 689 # define LZ4_DEPRECATED(message) __attribute__((deprecated)) 691 # pragma message("WARNING: LZ4_DEPRECATED needs custom implementation for this compiler") 692 # define LZ4_DEPRECATED(message) 772 #if defined (__cplusplus)
void * LZ4_create(char *inputBuffer)
char int int maxOutputSize
LZ4_streamDecode_t_internal internal_donotuse
int LZ4_compress_limitedOutput(const char *source, char *dest, int inputSize, int maxOutputSize)
LZ4LIB_API int LZ4_compress_default(const char *src, char *dst, int srcSize, int dstCapacity)
LZ4LIB_API int LZ4_decompress_safe_usingDict(const char *src, char *dst, int srcSize, int dstCapcity, const char *dictStart, int dictSize)
LZ4LIB_API int LZ4_compress_fast_extState(void *state, const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
#define LZ4_HASH_SIZE_U32
LZ4LIB_API int LZ4_sizeofState(void)
LZ4LIB_API void LZ4_resetStream(LZ4_stream_t *streamPtr)
int LZ4_resetStreamState(void *state, char *inputBuffer)
int LZ4_uncompress_unknownOutputSize(const char *source, char *dest, int isize, int maxOutputSize)
LZ4LIB_API LZ4_stream_t * LZ4_initStream(void *buffer, size_t size)
int LZ4_compress_limitedOutput_continue(LZ4_stream_t *LZ4_stream, const char *src, char *dst, int srcSize, int dstCapacity)
char * LZ4_slideInputBuffer(void *state)
#define LZ4_STREAMDECODESIZE_U64
const LZ4_byte * externalDict
int LZ4_uncompress(const char *source, char *dest, int outputSize)
int LZ4_decompress_fast_withPrefix64k(const char *source, char *dest, int originalSize)
int LZ4_compress_withState(void *state, const char *src, char *dst, int srcSize)
const LZ4_byte * prefixEnd
LZ4LIB_API int LZ4_saveDict(LZ4_stream_t *streamPtr, char *safeBuffer, int maxDictSize)
const LZ4_byte * dictionary
LZ4LIB_API int LZ4_compress_fast_continue(LZ4_stream_t *streamPtr, const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
LZ4LIB_API int LZ4_decompress_fast(const char *src, char *dst, int originalSize)
void LZ4_attach_dictionary(LZ4_stream_t *workingStream, const LZ4_stream_t *dictionaryStream)
#define LZ4_DEPRECATED(message)
table_core< false > table
LZ4LIB_API int LZ4_freeStream(LZ4_stream_t *streamPtr)
LZ4LIB_API LZ4_stream_t * LZ4_createStream(void)
LZ4LIB_API const char * LZ4_versionString(void)
LZ4_stream_t_internal internal_donotuse
int LZ4_compress_continue(LZ4_stream_t *LZ4_stream, const char *source, char *dest, int inputSize)
LZ4LIB_API int LZ4_decompress_safe(const char *src, char *dst, int compressedSize, int dstCapacity)
LZ4LIB_API int LZ4_versionNumber(void)
int LZ4_compress_limitedOutput_withState(void *state, const char *src, char *dst, int srcSize, int dstSize)
LZ4_u32 hashTable[LZ4_HASH_SIZE_U32]
LZ4LIB_API int LZ4_compress_destSize(const char *src, char *dst, int *srcSizePtr, int targetDstSize)
const LZ4_stream_t_internal * dictCtx
LZ4LIB_API int LZ4_compress_fast(const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
const char char int inputSize
LZ4LIB_API int LZ4_decompress_fast_continue(LZ4_streamDecode_t *LZ4_streamDecode, const char *src, char *dst, int originalSize)
LZ4LIB_API LZ4_streamDecode_t * LZ4_createStreamDecode(void)
#define LZ4_STREAMSIZE_VOIDP
LZ4LIB_API int LZ4_loadDict(LZ4_stream_t *streamPtr, const char *dictionary, int dictSize)
LZ4LIB_API int LZ4_decompress_safe_partial(const char *src, char *dst, int srcSize, int targetOutputSize, int dstCapacity)
span_constexpr std::size_t size(span< T, Extent > const &spn)
LZ4LIB_API void LZ4_resetStream_fast(LZ4_stream_t *streamPtr)
LZ4LIB_API int LZ4_setStreamDecode(LZ4_streamDecode_t *LZ4_streamDecode, const char *dictionary, int dictSize)
LZ4_FORCE_O2 int LZ4_decompress_safe_withPrefix64k(const char *source, char *dest, int compressedSize, int maxOutputSize)
int LZ4_compress_fast_extState_fastReset(void *state, const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
int LZ4_compress(const char *src, char *dest, int srcSize)
int LZ4_sizeofStreamState(void)
LZ4LIB_API int LZ4_decoderRingBufferSize(int maxBlockSize)
LZ4LIB_API int LZ4_freeStreamDecode(LZ4_streamDecode_t *LZ4_stream)
LZ4LIB_API int LZ4_decompress_fast_usingDict(const char *src, char *dst, int originalSize, const char *dictStart, int dictSize)
LZ4LIB_API int LZ4_compressBound(int inputSize)
LZ4LIB_API int LZ4_decompress_safe_continue(LZ4_streamDecode_t *LZ4_streamDecode, const char *src, char *dst, int srcSize, int dstCapacity)