Go to the documentation of this file.
36 #ifndef LZ4_H_2983827168210
37 #define LZ4_H_2983827168210
82 #ifndef LZ4LIB_VISIBILITY
83 # if defined(__GNUC__) && (__GNUC__ >= 4)
84 # define LZ4LIB_VISIBILITY __attribute__ ((visibility ("default")))
86 # define LZ4LIB_VISIBILITY
89 #if defined(LZ4_DLL_EXPORT) && (LZ4_DLL_EXPORT==1)
90 # define LZ4LIB_API __declspec(dllexport) LZ4LIB_VISIBILITY
91 #elif defined(LZ4_DLL_IMPORT) && (LZ4_DLL_IMPORT==1)
92 # define LZ4LIB_API __declspec(dllimport) LZ4LIB_VISIBILITY
94 # define LZ4LIB_API LZ4LIB_VISIBILITY
109 #if defined(LZ4_FREESTANDING) && (LZ4_FREESTANDING == 1)
110 # define LZ4_HEAPMODE 0
111 # define LZ4HC_HEAPMODE 0
112 # define LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION 1
113 # if !defined(LZ4_memcpy)
114 # error "LZ4_FREESTANDING requires macro 'LZ4_memcpy'."
116 # if !defined(LZ4_memset)
117 # error "LZ4_FREESTANDING requires macro 'LZ4_memset'."
119 # if !defined(LZ4_memmove)
120 # error "LZ4_FREESTANDING requires macro 'LZ4_memmove'."
122 #elif ! defined(LZ4_FREESTANDING)
123 # define LZ4_FREESTANDING 0
128 #define LZ4_VERSION_MAJOR 1
129 #define LZ4_VERSION_MINOR 10
130 #define LZ4_VERSION_RELEASE 0
132 #define LZ4_VERSION_NUMBER (LZ4_VERSION_MAJOR *100*100 + LZ4_VERSION_MINOR *100 + LZ4_VERSION_RELEASE)
134 #define LZ4_LIB_VERSION LZ4_VERSION_MAJOR.LZ4_VERSION_MINOR.LZ4_VERSION_RELEASE
135 #define LZ4_QUOTE(str) #str
136 #define LZ4_EXPAND_AND_QUOTE(str) LZ4_QUOTE(str)
137 #define LZ4_VERSION_STRING LZ4_EXPAND_AND_QUOTE(LZ4_LIB_VERSION)
154 #ifndef LZ4_MEMORY_USAGE
155 # define LZ4_MEMORY_USAGE LZ4_MEMORY_USAGE_DEFAULT
159 #define LZ4_MEMORY_USAGE_MIN 10
160 #define LZ4_MEMORY_USAGE_DEFAULT 14
161 #define LZ4_MEMORY_USAGE_MAX 20
163 #if (LZ4_MEMORY_USAGE < LZ4_MEMORY_USAGE_MIN)
164 # error "LZ4_MEMORY_USAGE is too small !"
167 #if (LZ4_MEMORY_USAGE > LZ4_MEMORY_USAGE_MAX)
168 # error "LZ4_MEMORY_USAGE is too large !"
211 #define LZ4_MAX_INPUT_SIZE 0x7E000000
212 #define LZ4_COMPRESSBOUND(isize) ((unsigned)(isize) > (unsigned)LZ4_MAX_INPUT_SIZE ? 0 : (isize) + ((isize)/255) + 16)
328 #if !defined(RC_INVOKED)
329 #if !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION)
462 #if !defined(RC_INVOKED)
463 #if !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION)
490 #define LZ4_DECODER_RING_BUFFER_SIZE(maxBlockSize) (65536 + 14 + (maxBlockSize))
532 const char*
src,
char*
dst,
547 const char* dictStart,
int dictSize);
559 const char* dictStart,
int dictSize);
588 #ifdef LZ4_STATIC_LINKING_ONLY
590 #ifndef LZ4_STATIC_3504398509
591 #define LZ4_STATIC_3504398509
593 #ifdef LZ4_PUBLISH_STATIC_FUNCTIONS
594 # define LZ4LIB_STATIC_API LZ4LIB_API
596 # define LZ4LIB_STATIC_API
669 #define LZ4_DECOMPRESS_INPLACE_MARGIN(compressedSize) (((compressedSize) >> 8) + 32)
670 #define LZ4_DECOMPRESS_INPLACE_BUFFER_SIZE(decompressedSize) ((decompressedSize) + LZ4_DECOMPRESS_INPLACE_MARGIN(decompressedSize))
672 #ifndef LZ4_DISTANCE_MAX
673 # define LZ4_DISTANCE_MAX 65535
676 #define LZ4_COMPRESS_INPLACE_MARGIN (LZ4_DISTANCE_MAX + 32)
677 #define LZ4_COMPRESS_INPLACE_BUFFER_SIZE(maxCompressedSize) ((maxCompressedSize) + LZ4_COMPRESS_INPLACE_MARGIN)
684 #ifndef LZ4_H_98237428734687
685 #define LZ4_H_98237428734687
694 #define LZ4_HASHLOG (LZ4_MEMORY_USAGE-2)
695 #define LZ4_HASHTABLESIZE (1 << LZ4_MEMORY_USAGE)
696 #define LZ4_HASH_SIZE_U32 (1 << LZ4_HASHLOG)
698 #if defined(__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) )
728 #define LZ4_STREAM_MINSIZE ((1UL << (LZ4_MEMORY_USAGE)) + 32)
764 #define LZ4_STREAMDECODE_MINSIZE 32
787 #ifdef LZ4_DISABLE_DEPRECATE_WARNINGS
788 # define LZ4_DEPRECATED(message)
790 # if defined (__cplusplus) && (__cplusplus >= 201402)
791 # define LZ4_DEPRECATED(message) [[deprecated(message)]]
792 # elif defined(_MSC_VER)
793 # define LZ4_DEPRECATED(message) __declspec(deprecated(message))
794 # elif defined(__clang__) || (defined(__GNUC__) && (__GNUC__ * 10 + __GNUC_MINOR__ >= 45))
795 # define LZ4_DEPRECATED(message) __attribute__((deprecated(message)))
796 # elif defined(__GNUC__) && (__GNUC__ * 10 + __GNUC_MINOR__ >= 31)
797 # define LZ4_DEPRECATED(message) __attribute__((deprecated))
799 # pragma message("WARNING: LZ4_DEPRECATED needs custom implementation for this compiler")
800 # define LZ4_DEPRECATED(message)
864 "Note that the contract will change (
requires block'
s compressed size, instead of decompressed size)")
LZ4LIB_API int LZ4_compress_fast_extState(void *state, const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
Definition: lz4.cpp:1379
char int srcSize
Definition: lz4.h:805
void * LZ4_create(char *inputBuffer)
Definition: lz4.cpp:2813
signed char LZ4_i8
Definition: lz4.h:705
int LZ4_uncompress_unknownOutputSize(const char *source, char *dest, int isize, int maxOutputSize)
Definition: lz4.cpp:2796
LZ4LIB_API int LZ4_sizeofState(void)
Definition: lz4.cpp:755
#define LZ4_STREAM_MINSIZE
Definition: lz4.h:728
char * inputBuffer
Definition: lz4.h:828
char int int maxOutputSize
Definition: lz4.h:806
int LZ4_compress_limitedOutput(const char *source, char *dest, int inputSize, int maxOutputSize)
Definition: lz4.cpp:2761
size_t extDictSize
Definition: lz4.h:760
LZ4LIB_API void LZ4_attach_dictionary(LZ4_stream_t *workingStream, const LZ4_stream_t *dictionaryStream)
Definition: lz4.cpp:1655
unsigned char LZ4_byte
Definition: lz4.h:706
char * dest
Definition: lz4.h:805
int LZ4_resetStreamState(void *state, char *inputBuffer)
Definition: lz4.cpp:2805
char int originalSize
Definition: lz4.h:833
LZ4LIB_API int LZ4_compressBound(int inputSize)
Definition: lz4.cpp:754
LZ4_u32 dictSize
Definition: lz4.h:724
char * LZ4_slideInputBuffer(void *state)
Definition: lz4.cpp:2820
int LZ4_compress_withState(void *state, const char *src, char *dst, int srcSize)
Definition: lz4.cpp:2773
const LZ4_byte * externalDict
Definition: lz4.h:758
const LZ4_byte * prefixEnd
Definition: lz4.h:759
LZ4LIB_API LZ4_stream_t * LZ4_createStream(void)
Definition: lz4.cpp:1528
char int compressedSize
Definition: lz4.h:832
LZ4LIB_API LZ4_stream_t * LZ4_initStream(void *stateBuffer, size_t size)
Definition: lz4.cpp:1549
int LZ4_compress_limitedOutput_continue(LZ4_stream_t *LZ4_stream, const char *src, char *dst, int srcSize, int dstCapacity)
Definition: lz4.cpp:2777
LZ4LIB_API int LZ4_decompress_fast_usingDict(const char *src, char *dst, int originalSize, const char *dictStart, int dictSize)
Definition: lz4.cpp:2746
LZ4LIB_API int LZ4_decompress_safe_partial_usingDict(const char *src, char *dst, int compressedSize, int targetOutputSize, int maxOutputSize, const char *dictStart, int dictSize)
Definition: lz4.cpp:2731
char int outputSize
Definition: lz4.h:813
const LZ4_byte * dictionary
Definition: lz4.h:720
LZ4LIB_API int LZ4_versionNumber(void)
Definition: lz4.cpp:752
LZ4LIB_API int LZ4_freeStreamDecode(LZ4_streamDecode_t *LZ4_stream)
Definition: lz4.cpp:2572
const char char int inputSize
Definition: lz4.h:807
LZ4LIB_API int LZ4_loadDict(LZ4_stream_t *streamPtr, const char *dictionary, int dictSize)
Definition: lz4.cpp:1645
int LZ4_sizeofStreamState(void)
Definition: lz4.cpp:2803
LZ4LIB_API int LZ4_decompress_safe(const char *src, char *dst, int compressedSize, int dstCapacity)
Definition: lz4.cpp:2448
LZ4LIB_API int LZ4_decompress_safe_partial(const char *src, char *dst, int srcSize, int targetOutputSize, int dstCapacity)
Definition: lz4.cpp:2456
LZ4_u32 currentOffset
Definition: lz4.h:722
#define LZ4_DEPRECATED(message)
Definition: lz4.h:800
LZ4_streamDecode_t_internal internal_donotuse
Definition: lz4.h:767
LZ4LIB_API int LZ4_loadDictSlow(LZ4_stream_t *streamPtr, const char *dictionary, int dictSize)
Definition: lz4.cpp:1650
LZ4_u32 hashTable[LZ4_HASH_SIZE_U32]
Definition: lz4.h:719
int LZ4_compress_fast_extState_fastReset(void *state, const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
Definition: lz4.cpp:1411
char int isize
Definition: lz4.h:814
char * dst
Definition: lz4.h:832
LZ4LIB_API int LZ4_freeStream(LZ4_stream_t *streamPtr)
Definition: lz4.cpp:1572
const char * source
Definition: lz4.h:807
unsigned short LZ4_u16
Definition: lz4.h:707
char int int maxDstSize
Definition: lz4.h:832
int LZ4_uncompress(const char *source, char *dest, int outputSize)
Definition: lz4.cpp:2792
requires(!IsStringLike< T1 >) void assertEquals(T1 left
size_t prefixSize
Definition: lz4.h:761
#define LZ4_STREAMDECODE_MINSIZE
Definition: lz4.h:764
int LZ4_compress(const char *src, char *dest, int srcSize)
Definition: lz4.cpp:2765
LZ4LIB_API int LZ4_decompress_safe_usingDict(const char *src, char *dst, int srcSize, int dstCapacity, const char *dictStart, int dictSize)
Definition: lz4.cpp:2716
LZ4LIB_API void LZ4_resetStream(LZ4_stream_t *streamPtr)
Definition: lz4.cpp:1561
LZ4LIB_API int LZ4_compress_fast(const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
Definition: lz4.cpp:1450
LZ4_FORCE_O2 int LZ4_decompress_safe_withPrefix64k(const char *source, char *dest, int compressedSize, int maxOutputSize)
Definition: lz4.cpp:2476
int LZ4_compress_limitedOutput_withState(void *state, const char *src, char *dst, int srcSize, int dstSize)
Definition: lz4.cpp:2769
LZ4LIB_API int LZ4_saveDict(LZ4_stream_t *streamPtr, char *safeBuffer, int maxDictSize)
Definition: lz4.cpp:1811
char minStateSize[LZ4_STREAMDECODE_MINSIZE]
Definition: lz4.h:766
LZ4LIB_API void LZ4_resetStream_fast(LZ4_stream_t *streamPtr)
Definition: lz4.cpp:1567
LZ4_FORCE_O2 int LZ4_decompress_fast_continue(LZ4_streamDecode_t *LZ4_streamDecode, const char *source, char *dest, int originalSize)
Definition: lz4.cpp:2668
LZ4LIB_API LZ4_streamDecode_t * LZ4_createStreamDecode(void)
Definition: lz4.cpp:2566
LZ4LIB_API int LZ4_decompress_fast(const char *src, char *dst, int originalSize)
Definition: lz4.cpp:2465
LZ4LIB_API int LZ4_decoderRingBufferSize(int maxBlockSize)
Definition: lz4.cpp:2612
LZ4_stream_t_internal internal_donotuse
Definition: lz4.h:731
LZ4LIB_API int LZ4_decompress_safe_continue(LZ4_streamDecode_t *LZ4_streamDecode, const char *src, char *dst, int srcSize, int dstCapacity)
Definition: lz4.cpp:2628
LZ4LIB_API int LZ4_compress_default(const char *src, char *dst, int srcSize, int dstCapacity)
Definition: lz4.cpp:1469
LZ4LIB_API int LZ4_setStreamDecode(LZ4_streamDecode_t *LZ4_streamDecode, const char *dictionary, int dictSize)
Definition: lz4.cpp:2586
double s
Definition: HybridAStar.cpp:85
char minStateSize[LZ4_STREAM_MINSIZE]
Definition: lz4.h:730
const char * src
Definition: lz4.h:865
#define LZ4LIB_API
Definition: lz4.h:94
int LZ4_compress_continue(LZ4_stream_t *LZ4_stream, const char *source, char *dest, int inputSize)
Definition: lz4.cpp:2781
LZ4LIB_API int LZ4_compress_fast_continue(LZ4_stream_t *streamPtr, const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
Definition: lz4.cpp:1704
const LZ4_stream_t_internal * dictCtx
Definition: lz4.h:721
LZ4_u32 tableType
Definition: lz4.h:723
#define LZ4_HASH_SIZE_U32
Definition: lz4.h:696
LZ4LIB_API int LZ4_compress_destSize(const char *src, char *dst, int *srcSizePtr, int targetDstSize)
Definition: lz4.cpp:1503
int LZ4_decompress_fast_withPrefix64k(const char *source, char *dest, int originalSize)
Definition: lz4.cpp:2493
int LZ4_compress_destSize_extState(void *state, const char *src, char *dst, int *srcSizePtr, int targetDstSize, int acceleration)
Definition: lz4.cpp:1494
const LZ4LIB_API char * LZ4_versionString(void)
Definition: lz4.cpp:753
unsigned int LZ4_u32
Definition: lz4.h:708