lz4.h
Go to the documentation of this file.
1 /*
2  * LZ4 - Fast LZ compression algorithm
3  * Header File
4  * Copyright (C) 2011-2020, Yann Collet.
5 
6  BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
7 
8  Redistribution and use in source and binary forms, with or without
9  modification, are permitted provided that the following conditions are
10  met:
11 
12  * Redistributions of source code must retain the above copyright
13  notice, this list of conditions and the following disclaimer.
14  * Redistributions in binary form must reproduce the above
15  copyright notice, this list of conditions and the following disclaimer
16  in the documentation and/or other materials provided with the
17  distribution.
18 
19  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31  You can contact the author at :
32  - LZ4 homepage : http://www.lz4.org
33  - LZ4 source repository : https://github.com/lz4/lz4
34 */
35 #if defined (__cplusplus)
36 extern "C" {
37 #endif
38 
39 #ifndef LZ4_H_2983827168210
40 #define LZ4_H_2983827168210
41 
42 /* --- Dependency --- */
43 #include <stddef.h> /* size_t */
44 
45 
76 /*^***************************************************************
77 * Export parameters
78 *****************************************************************/
79 /*
80 * LZ4_DLL_EXPORT :
81 * Enable exporting of functions when building a Windows DLL
82 * LZ4LIB_VISIBILITY :
83 * Control library symbols visibility.
84 */
85 #ifndef LZ4LIB_VISIBILITY
86 # if defined(__GNUC__) && (__GNUC__ >= 4)
87 # define LZ4LIB_VISIBILITY __attribute__ ((visibility ("default")))
88 # else
89 # define LZ4LIB_VISIBILITY
90 # endif
91 #endif
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 /* It isn't required but allows to generate better code, saving a function pointer load from the IAT and an indirect jump.*/
96 #else
97 # define LZ4LIB_API LZ4LIB_VISIBILITY
98 #endif
99 
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'."
118 # endif
119 # if !defined(LZ4_memset)
120 # error "LZ4_FREESTANDING requires macro 'LZ4_memset'."
121 # endif
122 # if !defined(LZ4_memmove)
123 # error "LZ4_FREESTANDING requires macro 'LZ4_memmove'."
124 # endif
125 #elif ! defined(LZ4_FREESTANDING)
126 # define LZ4_FREESTANDING 0
127 #endif
128 
129 
130 /*------ Version ------*/
131 #define LZ4_VERSION_MAJOR 1 /* for breaking interface changes */
132 #define LZ4_VERSION_MINOR 9 /* for new (non-breaking) interface capabilities */
133 #define LZ4_VERSION_RELEASE 4 /* for tweaks, bug-fixes, or development */
134 
135 #define LZ4_VERSION_NUMBER (LZ4_VERSION_MAJOR *100*100 + LZ4_VERSION_MINOR *100 + LZ4_VERSION_RELEASE)
136 
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) /* requires v1.7.3+ */
141 
142 LZ4LIB_API int LZ4_versionNumber (void);
143 LZ4LIB_API const char* LZ4_versionString (void);
146 /*-************************************
147 * Tuning parameter
148 **************************************/
149 #define LZ4_MEMORY_USAGE_MIN 10
150 #define LZ4_MEMORY_USAGE_DEFAULT 14
151 #define LZ4_MEMORY_USAGE_MAX 20
152 
160 #ifndef LZ4_MEMORY_USAGE
161 # define LZ4_MEMORY_USAGE LZ4_MEMORY_USAGE_DEFAULT
162 #endif
163 
164 #if (LZ4_MEMORY_USAGE < LZ4_MEMORY_USAGE_MIN)
165 # error "LZ4_MEMORY_USAGE is too small !"
166 #endif
167 
168 #if (LZ4_MEMORY_USAGE > LZ4_MEMORY_USAGE_MAX)
169 # error "LZ4_MEMORY_USAGE is too large !"
170 #endif
171 
172 /*-************************************
173 * Simple Functions
174 **************************************/
189 LZ4LIB_API int LZ4_compress_default(const char* src, char* dst, int srcSize, int dstCapacity);
190 
205 LZ4LIB_API int LZ4_decompress_safe (const char* src, char* dst, int compressedSize, int dstCapacity);
206 
207 
208 /*-************************************
209 * Advanced Functions
210 **************************************/
211 #define LZ4_MAX_INPUT_SIZE 0x7E000000 /* 2 113 929 216 bytes */
212 #define LZ4_COMPRESSBOUND(isize) ((unsigned)(isize) > (unsigned)LZ4_MAX_INPUT_SIZE ? 0 : (isize) + ((isize)/255) + 16)
213 
224 
233 LZ4LIB_API int LZ4_compress_fast (const char* src, char* dst, int srcSize, int dstCapacity, int acceleration);
234 
235 
242 LZ4LIB_API int LZ4_sizeofState(void);
243 LZ4LIB_API int LZ4_compress_fast_extState (void* state, const char* src, char* dst, int srcSize, int dstCapacity, int acceleration);
244 
245 
269 LZ4LIB_API int LZ4_compress_destSize (const char* src, char* dst, int* srcSizePtr, int targetDstSize);
270 
271 
306 LZ4LIB_API int LZ4_decompress_safe_partial (const char* src, char* dst, int srcSize, int targetOutputSize, int dstCapacity);
307 
308 
309 /*-*********************************************
310 * Streaming Compression Functions
311 ***********************************************/
312 typedef union LZ4_stream_u LZ4_stream_t; /* incomplete type (defined later) */
313 
327 #if !defined(RC_INVOKED) /* https://docs.microsoft.com/en-us/windows/win32/menurc/predefined-macros */
328 #if !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION)
330 LZ4LIB_API int LZ4_freeStream (LZ4_stream_t* streamPtr);
331 #endif /* !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION) */
332 #endif
333 
357 
369 LZ4LIB_API int LZ4_loadDict (LZ4_stream_t* streamPtr, const char* dictionary, int dictSize);
370 
394 LZ4LIB_API int LZ4_compress_fast_continue (LZ4_stream_t* streamPtr, const char* src, char* dst, int srcSize, int dstCapacity, int acceleration);
395 
403 LZ4LIB_API int LZ4_saveDict (LZ4_stream_t* streamPtr, char* safeBuffer, int maxDictSize);
404 
405 
406 /*-**********************************************
407 * Streaming Decompression Functions
408 * Bufferless synchronous API
409 ************************************************/
410 typedef union LZ4_streamDecode_u LZ4_streamDecode_t; /* tracking context */
411 
416 #if !defined(RC_INVOKED) /* https://docs.microsoft.com/en-us/windows/win32/menurc/predefined-macros */
417 #if !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION)
420 #endif /* !defined(LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION) */
421 #endif
422 
430 LZ4LIB_API int LZ4_setStreamDecode (LZ4_streamDecode_t* LZ4_streamDecode, const char* dictionary, int dictSize);
431 
443 LZ4LIB_API int LZ4_decoderRingBufferSize(int maxBlockSize);
444 #define LZ4_DECODER_RING_BUFFER_SIZE(maxBlockSize) (65536 + 14 + (maxBlockSize)) /* for static allocation; maxBlockSize presumed valid */
445 
471 LZ4LIB_API int
473  const char* src, char* dst,
474  int srcSize, int dstCapacity);
475 
476 
485 LZ4LIB_API int
486 LZ4_decompress_safe_usingDict(const char* src, char* dst,
487  int srcSize, int dstCapacity,
488  const char* dictStart, int dictSize);
489 
490 LZ4LIB_API int
491 LZ4_decompress_safe_partial_usingDict(const char* src, char* dst,
492  int compressedSize,
493  int targetOutputSize, int maxOutputSize,
494  const char* dictStart, int dictSize);
495 
496 #endif /* LZ4_H_2983827168210 */
497 
498 
499 /*^*************************************
500  * !!!!!! STATIC LINKING ONLY !!!!!!
501  ***************************************/
502 
503 /*-****************************************************************************
504  * Experimental section
505  *
506  * Symbols declared in this section must be considered unstable. Their
507  * signatures or semantics may change, or they may be removed altogether in the
508  * future. They are therefore only safe to depend on when the caller is
509  * statically linked against the library.
510  *
511  * To protect against unsafe usage, not only are the declarations guarded,
512  * the definitions are hidden by default
513  * when building LZ4 as a shared/dynamic library.
514  *
515  * In order to access these declarations,
516  * define LZ4_STATIC_LINKING_ONLY in your application
517  * before including LZ4's headers.
518  *
519  * In order to make their implementations accessible dynamically, you must
520  * define LZ4_PUBLISH_STATIC_FUNCTIONS when building the LZ4 library.
521  ******************************************************************************/
522 
523 #ifdef LZ4_STATIC_LINKING_ONLY
524 
525 #ifndef LZ4_STATIC_3504398509
526 #define LZ4_STATIC_3504398509
527 
528 #ifdef LZ4_PUBLISH_STATIC_FUNCTIONS
529 #define LZ4LIB_STATIC_API LZ4LIB_API
530 #else
531 #define LZ4LIB_STATIC_API
532 #endif
533 
534 
545 LZ4LIB_STATIC_API int LZ4_compress_fast_extState_fastReset (void* state, const char* src, char* dst, int srcSize, int dstCapacity, int acceleration);
546 
573 LZ4LIB_STATIC_API void
574 LZ4_attach_dictionary(LZ4_stream_t* workingStream,
575  const LZ4_stream_t* dictionaryStream);
576 
577 
629 #define LZ4_DECOMPRESS_INPLACE_MARGIN(compressedSize) (((compressedSize) >> 8) + 32)
630 #define LZ4_DECOMPRESS_INPLACE_BUFFER_SIZE(decompressedSize) ((decompressedSize) + LZ4_DECOMPRESS_INPLACE_MARGIN(decompressedSize))
632 #ifndef LZ4_DISTANCE_MAX /* history window size; can be user-defined at compile time */
633 # define LZ4_DISTANCE_MAX 65535 /* set to maximum value by default */
634 #endif
635 
636 #define LZ4_COMPRESS_INPLACE_MARGIN (LZ4_DISTANCE_MAX + 32) /* LZ4_DISTANCE_MAX can be safely replaced by srcSize when it's smaller */
637 #define LZ4_COMPRESS_INPLACE_BUFFER_SIZE(maxCompressedSize) ((maxCompressedSize) + LZ4_COMPRESS_INPLACE_MARGIN)
639 #endif /* LZ4_STATIC_3504398509 */
640 #endif /* LZ4_STATIC_LINKING_ONLY */
641 
642 
643 
644 #ifndef LZ4_H_98237428734687
645 #define LZ4_H_98237428734687
646 
647 /*-************************************************************
648  * Private Definitions
649  **************************************************************
650  * Do not use these definitions directly.
651  * They are only exposed to allow static allocation of `LZ4_stream_t` and `LZ4_streamDecode_t`.
652  * Accessing members will expose user code to API and/or ABI break in future versions of the library.
653  **************************************************************/
654 #define LZ4_HASHLOG (LZ4_MEMORY_USAGE-2)
655 #define LZ4_HASHTABLESIZE (1 << LZ4_MEMORY_USAGE)
656 #define LZ4_HASH_SIZE_U32 (1 << LZ4_HASHLOG) /* required as macro for static allocation */
657 
658 #if defined(__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) /* C99 */)
659 # include <stdint.h>
660  typedef int8_t LZ4_i8;
661  typedef uint8_t LZ4_byte;
662  typedef uint16_t LZ4_u16;
663  typedef uint32_t LZ4_u32;
664 #else
665  typedef signed char LZ4_i8;
666  typedef unsigned char LZ4_byte;
667  typedef unsigned short LZ4_u16;
668  typedef unsigned int LZ4_u32;
669 #endif
670 
685  /* Implicit padding to ensure structure is aligned */
686 };
687 
688 #define LZ4_STREAM_MINSIZE ((1UL << LZ4_MEMORY_USAGE) + 32) /* static size, for inter-version compatibility */
692 }; /* previously typedef'd to LZ4_stream_t */
693 
694 
709 LZ4LIB_API LZ4_stream_t* LZ4_initStream (void* buffer, size_t size);
710 
711 
717 typedef struct {
720  size_t extDictSize;
721  size_t prefixSize;
723 
724 #define LZ4_STREAMDECODE_MINSIZE 32
728 } ; /* previously typedef'd to LZ4_streamDecode_t */
729 
730 
731 
732 /*-************************************
733 * Obsolete Functions
734 **************************************/
735 
747 #ifdef LZ4_DISABLE_DEPRECATE_WARNINGS
748 # define LZ4_DEPRECATED(message) /* disable deprecation warnings */
749 #else
750 # if defined (__cplusplus) && (__cplusplus >= 201402) /* C++14 or greater */
751 # define LZ4_DEPRECATED(message) [[deprecated(message)]]
752 # elif defined(_MSC_VER)
753 # define LZ4_DEPRECATED(message) __declspec(deprecated(message))
754 # elif defined(__clang__) || (defined(__GNUC__) && (__GNUC__ * 10 + __GNUC_MINOR__ >= 45))
755 # define LZ4_DEPRECATED(message) __attribute__((deprecated(message)))
756 # elif defined(__GNUC__) && (__GNUC__ * 10 + __GNUC_MINOR__ >= 31)
757 # define LZ4_DEPRECATED(message) __attribute__((deprecated))
758 # else
759 # pragma message("WARNING: LZ4_DEPRECATED needs custom implementation for this compiler")
760 # define LZ4_DEPRECATED(message) /* disabled */
761 # endif
762 #endif /* LZ4_DISABLE_DEPRECATE_WARNINGS */
763 
765 LZ4_DEPRECATED("use LZ4_compress_default() instead") LZ4LIB_API int LZ4_compress (const char* src, char* dest, int srcSize);
769 LZ4_DEPRECATED("use LZ4_compress_fast_continue() instead") LZ4LIB_API int LZ4_compress_continue (LZ4_stream_t* LZ4_streamPtr, const char* source, char* dest, int inputSize);
771 
773 LZ4_DEPRECATED("use LZ4_decompress_fast() instead") LZ4LIB_API int LZ4_uncompress (const char* source, char* dest, int outputSize);
775 
776 /* Obsolete streaming functions (since v1.7.0)
777  * degraded functionality; do not use!
778  *
779  * In order to perform streaming compression, these functions depended on data
780  * that is no longer tracked in the state. They have been preserved as well as
781  * possible: using them will still produce a correct output. However, they don't
782  * actually retain any history between compression calls. The compression ratio
783  * achieved will therefore be no better than compressing each chunk
784  * independently.
785  */
786 LZ4_DEPRECATED("Use LZ4_createStream() instead") LZ4LIB_API void* LZ4_create (char* inputBuffer);
789 LZ4_DEPRECATED("Use LZ4_saveDict() instead") LZ4LIB_API char* LZ4_slideInputBuffer (void* state);
790 
794 
821 LZ4_DEPRECATED("This function is deprecated and unsafe. Consider using LZ4_decompress_safe() instead")
822 LZ4LIB_API int LZ4_decompress_fast (const char* src, char* dst, int originalSize);
823 LZ4_DEPRECATED("This function is deprecated and unsafe. Consider using LZ4_decompress_safe_continue() instead")
824 LZ4LIB_API int LZ4_decompress_fast_continue (LZ4_streamDecode_t* LZ4_streamDecode, const char* src, char* dst, int originalSize);
825 LZ4_DEPRECATED("This function is deprecated and unsafe. Consider using LZ4_decompress_safe_usingDict() instead")
826 LZ4LIB_API int LZ4_decompress_fast_usingDict (const char* src, char* dst, int originalSize, const char* dictStart, int dictSize);
827 
834 LZ4LIB_API void LZ4_resetStream (LZ4_stream_t* streamPtr);
835 
836 
837 #endif /* LZ4_H_98237428734687 */
838 
839 
840 #if defined (__cplusplus)
841 }
842 #endif
LZ4_decompress_fast_withPrefix64k
int LZ4_decompress_fast_withPrefix64k(const char *source, char *dest, int originalSize)
Definition: lz4.c:2390
LZ4_compress_fast_extState
LZ4LIB_API int LZ4_compress_fast_extState(void *state, const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
Definition: lz4.c:1346
originalSize
char int originalSize
Definition: lz4.h:793
srcSize
char int srcSize
Definition: lz4.h:765
LZ4_i8
signed char LZ4_i8
Definition: lz4.h:665
detail::state
state
Definition: core.h:2305
LZ4_compress
int LZ4_compress(const char *src, char *dest, int srcSize)
Definition: lz4.c:2661
LZ4_sizeofStreamState
int LZ4_sizeofStreamState(void)
Definition: lz4.c:2699
LZ4_sizeofState
LZ4LIB_API int LZ4_sizeofState(void)
Definition: lz4.c:731
LZ4_STREAM_MINSIZE
#define LZ4_STREAM_MINSIZE
Definition: lz4.h:688
inputBuffer
char * inputBuffer
Definition: lz4.h:788
LZ4_uncompress_unknownOutputSize
int LZ4_uncompress_unknownOutputSize(const char *source, char *dest, int isize, int maxOutputSize)
Definition: lz4.c:2692
LZ4_streamDecode_t_internal::extDictSize
size_t extDictSize
Definition: lz4.h:720
LZ4_stream_u
Definition: lz4.h:689
LZ4_compress_fast_extState_fastReset
int LZ4_compress_fast_extState_fastReset(void *state, const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
Definition: lz4.c:1378
LZ4_byte
unsigned char LZ4_byte
Definition: lz4.h:666
LZ4_decompress_fast_continue
LZ4LIB_API int LZ4_decompress_fast_continue(LZ4_streamDecode_t *LZ4_streamDecode, const char *src, char *dst, int originalSize)
Definition: lz4.c:2564
LZ4_uncompress
int LZ4_uncompress(const char *source, char *dest, int outputSize)
Definition: lz4.c:2688
LZ4_compressBound
LZ4LIB_API int LZ4_compressBound(int inputSize)
Definition: lz4.c:730
LZ4_create
void * LZ4_create(char *inputBuffer)
Definition: lz4.c:2709
LZ4_stream_t_internal::dictSize
LZ4_u32 dictSize
Definition: lz4.h:684
LZ4_streamDecode_t_internal::externalDict
const LZ4_byte * externalDict
Definition: lz4.h:718
LZ4_streamDecode_t_internal::prefixEnd
const LZ4_byte * prefixEnd
Definition: lz4.h:719
LZ4_compress_limitedOutput
int LZ4_compress_limitedOutput(const char *source, char *dest, int inputSize, int maxOutputSize)
Definition: lz4.c:2657
LZ4_createStream
LZ4LIB_API LZ4_stream_t * LZ4_createStream(void)
Definition: lz4.c:1486
compressedSize
char int compressedSize
Definition: lz4.h:792
LZ4_decompress_fast_usingDict
LZ4LIB_API int LZ4_decompress_fast_usingDict(const char *src, char *dst, int originalSize, const char *dictStart, int dictSize)
Definition: lz4.c:2642
LZ4_resetStreamState
int LZ4_resetStreamState(void *state, char *inputBuffer)
Definition: lz4.c:2701
LZ4_decompress_safe_partial_usingDict
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:2627
outputSize
char int outputSize
Definition: lz4.h:773
nonstd::span_lite::size
span_constexpr std::size_t size(span< T, Extent > const &spn)
Definition: span.hpp:1554
LZ4_compress_limitedOutput_continue
int LZ4_compress_limitedOutput_continue(LZ4_stream_t *LZ4_stream, const char *src, char *dst, int srcSize, int dstCapacity)
Definition: lz4.c:2673
LZ4_stream_t_internal::dictionary
const LZ4_byte * dictionary
Definition: lz4.h:680
LZ4_versionNumber
LZ4LIB_API int LZ4_versionNumber(void)
Definition: lz4.c:728
LZ4_freeStreamDecode
LZ4LIB_API int LZ4_freeStreamDecode(LZ4_streamDecode_t *LZ4_stream)
Definition: lz4.c:2468
LZ4_compress_limitedOutput_withState
int LZ4_compress_limitedOutput_withState(void *state, const char *src, char *dst, int srcSize, int dstSize)
Definition: lz4.c:2665
LZ4_attach_dictionary
void LZ4_attach_dictionary(LZ4_stream_t *workingStream, const LZ4_stream_t *dictionaryStream)
Definition: lz4.c:1583
inputSize
const char char int inputSize
Definition: lz4.h:767
LZ4_loadDict
LZ4LIB_API int LZ4_loadDict(LZ4_stream_t *streamPtr, const char *dictionary, int dictSize)
Definition: lz4.c:1541
LZ4_decompress_safe
LZ4LIB_API int LZ4_decompress_safe(const char *src, char *dst, int compressedSize, int dstCapacity)
Definition: lz4.c:2345
LZ4_decompress_safe_partial
LZ4LIB_API int LZ4_decompress_safe_partial(const char *src, char *dst, int srcSize, int targetOutputSize, int dstCapacity)
Definition: lz4.c:2353
LZ4_stream_t_internal::currentOffset
LZ4_u32 currentOffset
Definition: lz4.h:682
LZ4_DEPRECATED
#define LZ4_DEPRECATED(message)
Definition: lz4.h:760
LZ4_streamDecode_u::internal_donotuse
LZ4_streamDecode_t_internal internal_donotuse
Definition: lz4.h:727
LZ4_stream_t_internal::hashTable
LZ4_u32 hashTable[LZ4_HASH_SIZE_U32]
Definition: lz4.h:679
isize
char int isize
Definition: lz4.h:774
LZ4_streamDecode_u
Definition: lz4.h:725
maxOutputSize
char int int maxOutputSize
Definition: lz4.h:766
LZ4_decompress_safe_withPrefix64k
LZ4_FORCE_O2 int LZ4_decompress_safe_withPrefix64k(const char *source, char *dest, int compressedSize, int maxOutputSize)
Definition: lz4.c:2373
LZ4_streamDecode_t_internal
Definition: lz4.h:717
LZ4_freeStream
LZ4LIB_API int LZ4_freeStream(LZ4_stream_t *streamPtr)
Definition: lz4.c:1530
source
const char * source
Definition: lz4.h:767
LZ4_u16
unsigned short LZ4_u16
Definition: lz4.h:667
maxDstSize
char int int maxDstSize
Definition: lz4.h:792
LZ4_streamDecode_t_internal::prefixSize
size_t prefixSize
Definition: lz4.h:721
LZ4_STREAMDECODE_MINSIZE
#define LZ4_STREAMDECODE_MINSIZE
Definition: lz4.h:724
LZ4_decompress_safe_usingDict
LZ4LIB_API int LZ4_decompress_safe_usingDict(const char *src, char *dst, int srcSize, int dstCapacity, const char *dictStart, int dictSize)
Definition: lz4.c:2612
dest
char * dest
Definition: lz4.h:765
sol::function
unsafe_function function
Definition: forward.hpp:1178
LZ4_resetStream
LZ4LIB_API void LZ4_resetStream(LZ4_stream_t *streamPtr)
Definition: lz4.c:1519
LZ4_compress_fast
LZ4LIB_API int LZ4_compress_fast(const char *src, char *dst, int srcSize, int dstCapacity, int acceleration)
Definition: lz4.c:1416
LZ4_saveDict
LZ4LIB_API int LZ4_saveDict(LZ4_stream_t *streamPtr, char *safeBuffer, int maxDictSize)
Definition: lz4.c:1739
LZ4_streamDecode_u::minStateSize
char minStateSize[LZ4_STREAMDECODE_MINSIZE]
Definition: lz4.h:726
LZ4_resetStream_fast
LZ4LIB_API void LZ4_resetStream_fast(LZ4_stream_t *streamPtr)
Definition: lz4.c:1525
LZ4_compress_withState
int LZ4_compress_withState(void *state, const char *src, char *dst, int srcSize)
Definition: lz4.c:2669
LZ4_createStreamDecode
LZ4LIB_API LZ4_streamDecode_t * LZ4_createStreamDecode(void)
Definition: lz4.c:2462
LZ4_compress_continue
int LZ4_compress_continue(LZ4_stream_t *LZ4_stream, const char *source, char *dest, int inputSize)
Definition: lz4.c:2677
LZ4_decompress_fast
LZ4LIB_API int LZ4_decompress_fast(const char *src, char *dst, int originalSize)
Definition: lz4.c:2362
LZ4_decoderRingBufferSize
LZ4LIB_API int LZ4_decoderRingBufferSize(int maxBlockSize)
Definition: lz4.c:2508
LZ4_stream_u::internal_donotuse
LZ4_stream_t_internal internal_donotuse
Definition: lz4.h:691
LZ4_decompress_safe_continue
LZ4LIB_API int LZ4_decompress_safe_continue(LZ4_streamDecode_t *LZ4_streamDecode, const char *src, char *dst, int srcSize, int dstCapacity)
Definition: lz4.c:2524
LZ4_compress_default
LZ4LIB_API int LZ4_compress_default(const char *src, char *dst, int srcSize, int dstCapacity)
Definition: lz4.c:1435
LZ4_setStreamDecode
LZ4LIB_API int LZ4_setStreamDecode(LZ4_streamDecode_t *LZ4_streamDecode, const char *dictionary, int dictSize)
Definition: lz4.c:2482
LZ4_stream_t_internal
Definition: lz4.h:678
LZ4_slideInputBuffer
char * LZ4_slideInputBuffer(void *state)
Definition: lz4.c:2716
LZ4_stream_u::minStateSize
char minStateSize[LZ4_STREAM_MINSIZE]
Definition: lz4.h:690
LZ4LIB_API
#define LZ4LIB_API
Definition: lz4.h:97
dst
char * dst
Definition: lz4.h:792
LZ4_compress_fast_continue
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:1632
LZ4_initStream
LZ4LIB_API LZ4_stream_t * LZ4_initStream(void *buffer, size_t size)
Definition: lz4.c:1507
LZ4_stream_t_internal::dictCtx
const LZ4_stream_t_internal * dictCtx
Definition: lz4.h:681
LZ4_stream_t_internal::tableType
LZ4_u32 tableType
Definition: lz4.h:683
LZ4_HASH_SIZE_U32
#define LZ4_HASH_SIZE_U32
Definition: lz4.h:656
LZ4_compress_destSize
LZ4LIB_API int LZ4_compress_destSize(const char *src, char *dst, int *srcSizePtr, int targetDstSize)
Definition: lz4.c:1461
LZ4_versionString
const LZ4LIB_API char * LZ4_versionString(void)
Definition: lz4.c:729
LZ4_u32
unsigned int LZ4_u32
Definition: lz4.h:668


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Aug 11 2024 02:24:23