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
112#if defined(LZ4_FREESTANDING) && (LZ4_FREESTANDING == 1)
113# define LZ4_HEAPMODE 0
114# define LZ4HC_HEAPMODE 0
115# define LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION 1
116# if !defined(LZ4_memcpy)
117# error "LZ4_FREESTANDING requires macro 'LZ4_memcpy'."
119# if !defined(LZ4_memset)
120# error "LZ4_FREESTANDING requires macro 'LZ4_memset'."
122# if !defined(LZ4_memmove)
123# error "LZ4_FREESTANDING requires macro 'LZ4_memmove'."
125#elif ! defined(LZ4_FREESTANDING)
126# define LZ4_FREESTANDING 0
131#define LZ4_VERSION_MAJOR 1
132#define LZ4_VERSION_MINOR 10
133#define LZ4_VERSION_RELEASE 0
135#define LZ4_VERSION_NUMBER (LZ4_VERSION_MAJOR *100*100 + LZ4_VERSION_MINOR *100 + LZ4_VERSION_RELEASE)
137#define LZ4_LIB_VERSION LZ4_VERSION_MAJOR.LZ4_VERSION_MINOR.LZ4_VERSION_RELEASE
138#define LZ4_QUOTE(str) #str
139#define LZ4_EXPAND_AND_QUOTE(str) LZ4_QUOTE(str)
140#define LZ4_VERSION_STRING LZ4_EXPAND_AND_QUOTE(LZ4_LIB_VERSION)
157#ifndef LZ4_MEMORY_USAGE
158# define LZ4_MEMORY_USAGE LZ4_MEMORY_USAGE_DEFAULT
162#define LZ4_MEMORY_USAGE_MIN 10
163#define LZ4_MEMORY_USAGE_DEFAULT 14
164#define LZ4_MEMORY_USAGE_MAX 20
166#if (LZ4_MEMORY_USAGE < LZ4_MEMORY_USAGE_MIN)
167# error "LZ4_MEMORY_USAGE is too small !"
170#if (LZ4_MEMORY_USAGE > LZ4_MEMORY_USAGE_MAX)
171# error "LZ4_MEMORY_USAGE is too large !"
214#define LZ4_MAX_INPUT_SIZE 0x7E000000
215#define LZ4_COMPRESSBOUND(isize) ((unsigned)(isize) > (unsigned)LZ4_MAX_INPUT_SIZE ? 0 : (isize) + ((isize)/255) + 16)
329#if !defined(RC_INVOKED)
330#if !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION)
463#if !defined(RC_INVOKED)
464#if !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION)
491#define LZ4_DECODER_RING_BUFFER_SIZE(maxBlockSize) (65536 + 14 + (maxBlockSize))
533 const char*
src,
char*
dst,
548 const char* dictStart,
int dictSize);
560 const char* dictStart,
int dictSize);
589#ifdef LZ4_STATIC_LINKING_ONLY
591#ifndef LZ4_STATIC_3504398509
592#define LZ4_STATIC_3504398509
594#ifdef LZ4_PUBLISH_STATIC_FUNCTIONS
595# define LZ4LIB_STATIC_API LZ4LIB_API
597# define LZ4LIB_STATIC_API
670#define LZ4_DECOMPRESS_INPLACE_MARGIN(compressedSize) (((compressedSize) >> 8) + 32)
671#define LZ4_DECOMPRESS_INPLACE_BUFFER_SIZE(decompressedSize) ((decompressedSize) + LZ4_DECOMPRESS_INPLACE_MARGIN(decompressedSize))
673#ifndef LZ4_DISTANCE_MAX
674# define LZ4_DISTANCE_MAX 65535
677#define LZ4_COMPRESS_INPLACE_MARGIN (LZ4_DISTANCE_MAX + 32)
678#define LZ4_COMPRESS_INPLACE_BUFFER_SIZE(maxCompressedSize) ((maxCompressedSize) + LZ4_COMPRESS_INPLACE_MARGIN)
685#ifndef LZ4_H_98237428734687
686#define LZ4_H_98237428734687
695#define LZ4_HASHLOG (LZ4_MEMORY_USAGE-2)
696#define LZ4_HASHTABLESIZE (1 << LZ4_MEMORY_USAGE)
697#define LZ4_HASH_SIZE_U32 (1 << LZ4_HASHLOG)
699#if defined(__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) )
706 typedef signed char LZ4_i8;
708 typedef unsigned short LZ4_u16;
729#define LZ4_STREAM_MINSIZE ((1UL << (LZ4_MEMORY_USAGE)) + 32)
765#define LZ4_STREAMDECODE_MINSIZE 32
788#ifdef LZ4_DISABLE_DEPRECATE_WARNINGS
789# define LZ4_DEPRECATED(message)
791# if defined (__cplusplus) && (__cplusplus >= 201402)
792# define LZ4_DEPRECATED(message) [[deprecated(message)]]
793# elif defined(_MSC_VER)
794# define LZ4_DEPRECATED(message) __declspec(deprecated(message))
795# elif defined(__clang__) || (defined(__GNUC__) && (__GNUC__ * 10 + __GNUC_MINOR__ >= 45))
796# define LZ4_DEPRECATED(message) __attribute__((deprecated(message)))
797# elif defined(__GNUC__) && (__GNUC__ * 10 + __GNUC_MINOR__ >= 31)
798# define LZ4_DEPRECATED(message) __attribute__((deprecated))
800# pragma message("WARNING: LZ4_DEPRECATED needs custom implementation for this compiler")
801# define LZ4_DEPRECATED(message)
865 "Note that the contract will change (requires
block's compressed
size, instead of decompressed
size)")
882#if defined (__cplusplus)
LZ4_FORCE_O2 int LZ4_decompress_safe_withPrefix64k(const char *source, char *dest, int compressedSize, int maxOutputSize)
Definition lz4.c:2479
int LZ4_compress_limitedOutput(const char *source, char *dest, int inputSize, int maxOutputSize)
Definition lz4.c:2764
int LZ4_compress_limitedOutput_continue(LZ4_stream_t *LZ4_stream, const char *src, char *dst, int srcSize, int dstCapacity)
Definition lz4.c:2780
LZ4_FORCE_O2 int LZ4_decompress_fast_continue(LZ4_streamDecode_t *LZ4_streamDecode, const char *source, char *dest, int originalSize)
Definition lz4.c:2671
int LZ4_compress(const char *src, char *dest, int srcSize)
Definition lz4.c:2768
int LZ4_uncompress(const char *source, char *dest, int outputSize)
Definition lz4.c:2795
char * LZ4_slideInputBuffer(void *state)
Definition lz4.c:2823
int LZ4_compress_continue(LZ4_stream_t *LZ4_stream, const char *source, char *dest, int inputSize)
Definition lz4.c:2784
int LZ4_uncompress_unknownOutputSize(const char *source, char *dest, int isize, int maxOutputSize)
Definition lz4.c:2799
int LZ4_sizeofStreamState(void)
Definition lz4.c:2806
int LZ4_compress_withState(void *state, const char *src, char *dst, int srcSize)
Definition lz4.c:2776
int LZ4_compress_limitedOutput_withState(void *state, const char *src, char *dst, int srcSize, int dstSize)
Definition lz4.c:2772
int LZ4_resetStreamState(void *state, char *inputBuffer)
Definition lz4.c:2808
int LZ4_compress_fast_extState_fastReset(void *state, const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
Definition lz4.c:1414
int LZ4_decompress_fast_withPrefix64k(const char *source, char *dest, int originalSize)
Definition lz4.c:2496
int LZ4_compress_destSize_extState(void *state, const char *src, char *dst, int *srcSizePtr, int targetDstSize, int acceleration)
Definition lz4.c:1497
void * LZ4_create(char *inputBuffer)
Definition lz4.c:2816
#define LZ4LIB_API
Definition lz4.h:97
LZ4LIB_API int LZ4_decompress_fast_usingDict(const char *src, char *dst, int originalSize, const char *dictStart, int dictSize)
Definition lz4.c:2749
const char * source
Definition lz4.h:808
LZ4LIB_API int LZ4_compress_fast_continue(LZ4_stream_t *streamPtr, const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
Definition lz4.c:1707
char * dst
Definition lz4.h:833
char int srcSize
Definition lz4.h:806
char int compressedSize
Definition lz4.h:833
char int int maxOutputSize
Definition lz4.h:807
LZ4LIB_API int LZ4_compress_fast(const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
Definition lz4.c:1453
LZ4LIB_API void LZ4_resetStream_fast(LZ4_stream_t *streamPtr)
Definition lz4.c:1570
LZ4LIB_API int LZ4_decoderRingBufferSize(int maxBlockSize)
Definition lz4.c:2615
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.c:2734
LZ4LIB_API int LZ4_freeStreamDecode(LZ4_streamDecode_t *LZ4_stream)
Definition lz4.c:2575
const char * src
Definition lz4.h:866
LZ4LIB_API int LZ4_loadDictSlow(LZ4_stream_t *streamPtr, const char *dictionary, int dictSize)
Definition lz4.c:1653
char int originalSize
Definition lz4.h:834
LZ4LIB_API int LZ4_saveDict(LZ4_stream_t *streamPtr, char *safeBuffer, int maxDictSize)
Definition lz4.c:1814
LZ4LIB_API LZ4_stream_t * LZ4_initStream(void *stateBuffer, size_t size)
Definition lz4.c:1552
LZ4LIB_API const char * LZ4_versionString(void)
Definition lz4.c:750
LZ4LIB_API int LZ4_versionNumber(void)
Definition lz4.c:749
LZ4LIB_API LZ4_stream_t * LZ4_createStream(void)
Definition lz4.c:1531
LZ4LIB_API int LZ4_sizeofState(void)
Definition lz4.c:752
char int int maxDstSize
Definition lz4.h:833
char * inputBuffer
Definition lz4.h:829
LZ4LIB_API int LZ4_compressBound(int inputSize)
Definition lz4.c:751
LZ4LIB_API int LZ4_decompress_safe(const char *src, char *dst, int compressedSize, int dstCapacity)
Definition lz4.c:2451
LZ4LIB_API int LZ4_setStreamDecode(LZ4_streamDecode_t *LZ4_streamDecode, const char *dictionary, int dictSize)
Definition lz4.c:2589
LZ4LIB_API int LZ4_decompress_safe_usingDict(const char *src, char *dst, int srcSize, int dstCapacity, const char *dictStart, int dictSize)
Definition lz4.c:2719
LZ4LIB_API int LZ4_freeStream(LZ4_stream_t *streamPtr)
Definition lz4.c:1575
const char char int inputSize
Definition lz4.h:808
unsigned short LZ4_u16
Definition lz4.h:708
LZ4LIB_API LZ4_streamDecode_t * LZ4_createStreamDecode(void)
Definition lz4.c:2569
LZ4LIB_API int LZ4_compress_fast_extState(void *state, const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
Definition lz4.c:1382
LZ4LIB_API int LZ4_decompress_safe_partial(const char *src, char *dst, int srcSize, int targetOutputSize, int dstCapacity)
Definition lz4.c:2459
signed char LZ4_i8
Definition lz4.h:706
LZ4LIB_API int LZ4_loadDict(LZ4_stream_t *streamPtr, const char *dictionary, int dictSize)
Definition lz4.c:1648
LZ4LIB_API void LZ4_attach_dictionary(LZ4_stream_t *workingStream, const LZ4_stream_t *dictionaryStream)
Definition lz4.c:1658
LZ4LIB_API int LZ4_decompress_safe_continue(LZ4_streamDecode_t *LZ4_streamDecode, const char *src, char *dst, int srcSize, int dstCapacity)
Definition lz4.c:2631
LZ4LIB_API void LZ4_resetStream(LZ4_stream_t *streamPtr)
Definition lz4.c:1564
unsigned char LZ4_byte
Definition lz4.h:707
char * dest
Definition lz4.h:806
LZ4LIB_API int LZ4_compress_destSize(const char *src, char *dst, int *srcSizePtr, int targetDstSize)
Definition lz4.c:1506
LZ4LIB_API int LZ4_decompress_fast(const char *src, char *dst, int originalSize)
Definition lz4.c:2468
char int outputSize
Definition lz4.h:814
LZ4LIB_API int LZ4_compress_default(const char *src, char *dst, int srcSize, int dstCapacity)
Definition lz4.c:1472
char int isize
Definition lz4.h:815
unsigned int LZ4_u32
Definition lz4.h:709
#define LZ4_DEPRECATED(message)
Definition lz4.h:801
#define LZ4_STREAMDECODE_MINSIZE
Definition lz4.h:765
#define LZ4_HASH_SIZE_U32
Definition lz4.h:697
#define LZ4_STREAM_MINSIZE
Definition lz4.h:729
LZ4_u32 dictSize
Definition lz4.h:725
const LZ4_stream_t_internal * dictCtx
Definition lz4.h:722
const LZ4_byte * dictionary
Definition lz4.h:721
LZ4_u32 tableType
Definition lz4.h:724
LZ4_u32 currentOffset
Definition lz4.h:723
LZ4_u32 hashTable[LZ4_HASH_SIZE_U32]
Definition lz4.h:720
Definition zstd_decompress.c:306
LZ4_stream_t_internal internal_donotuse
Definition lz4.h:732
char minStateSize[LZ4_STREAM_MINSIZE]
Definition lz4.h:731
LZ4_streamDecode_t_internal internal_donotuse
Definition lz4.h:768
char minStateSize[LZ4_STREAMDECODE_MINSIZE]
Definition lz4.h:767
#define const
Definition zconf.h:230
const void size_t dictSize
Definition zbuff.h:76
void size_t const void size_t * srcSizePtr
Definition zbuff.h:78