45#ifndef LZ4F_H_09782039843
46#define LZ4F_H_09782039843
48#if defined (__cplusplus)
72#ifndef LZ4FLIB_VISIBILITY
73# if defined(__GNUC__) && (__GNUC__ >= 4)
74# define LZ4FLIB_VISIBILITY __attribute__ ((visibility ("default")))
76# define LZ4FLIB_VISIBILITY
79#if defined(LZ4_DLL_EXPORT) && (LZ4_DLL_EXPORT==1)
80# define LZ4FLIB_API __declspec(dllexport) LZ4FLIB_VISIBILITY
81#elif defined(LZ4_DLL_IMPORT) && (LZ4_DLL_IMPORT==1)
82# define LZ4FLIB_API __declspec(dllimport) LZ4FLIB_VISIBILITY
84# define LZ4FLIB_API LZ4FLIB_VISIBILITY
87#ifdef LZ4F_DISABLE_DEPRECATE_WARNINGS
88# define LZ4F_DEPRECATE(x) x
91# define LZ4F_DEPRECATE(x) x
92# elif defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 6))
93# define LZ4F_DEPRECATE(x) x __attribute__((deprecated))
95# define LZ4F_DEPRECATE(x) x
113#ifdef LZ4F_ENABLE_OBSOLETE_ENUMS
114# define LZ4F_OBSOLETE_ENUM(x) , LZ4F_DEPRECATE(x) = LZ4F_##x
116# define LZ4F_OBSOLETE_ENUM(x)
163#ifdef LZ4F_ENABLE_OBSOLETE_ENUMS
185#define LZ4F_INIT_FRAMEINFO { LZ4F_max64KB, LZ4F_blockLinked, LZ4F_noContentChecksum, LZ4F_frame, 0ULL, 0U, LZ4F_noBlockChecksum }
197 unsigned reserved[3];
200#define LZ4F_INIT_PREFERENCES { LZ4F_INIT_FRAMEINFO, 0, 0u, 0u, { 0u, 0u, 0u } }
225 const void* srcBuffer,
size_t srcSize,
251 unsigned reserved[3];
256#define LZ4F_VERSION 100
280#define LZ4F_HEADER_SIZE_MIN 7
281#define LZ4F_HEADER_SIZE_MAX 19
284#define LZ4F_BLOCK_HEADER_SIZE 4
287#define LZ4F_BLOCK_CHECKSUM_SIZE 4
290#define LZ4F_CONTENT_CHECKSUM_SIZE 4
293#define LZ4F_ENDMARK_SIZE 4
303 void* dstBuffer,
size_t dstCapacity,
336 void* dstBuffer,
size_t dstCapacity,
337 const void* srcBuffer,
size_t srcSize,
350 void* dstBuffer,
size_t dstCapacity,
364 void* dstBuffer,
size_t dstCapacity,
405#define LZ4F_MAGICNUMBER 0x184D2204U
406#define LZ4F_MAGIC_SKIPPABLE_START 0x184D2A50U
407#define LZ4F_MIN_SIZE_TO_KNOW_HEADER_LENGTH 5
506 void* dstBuffer,
size_t* dstSizePtr,
551 void* dstBuffer,
size_t dstCapacity,
552 const void* dictBuffer,
size_t dictSize,
561 void* dstBuffer,
size_t* dstSizePtr,
603 void*
dst,
size_t dstCapacity,
618 void* dstBuffer,
size_t dstCapacity,
623#if defined (__cplusplus)
629#if defined(LZ4F_STATIC_LINKING_ONLY) && !defined(LZ4F_H_STATIC_09782039843)
630#define LZ4F_H_STATIC_09782039843
644#if defined (__cplusplus)
648#ifdef LZ4F_PUBLISH_STATIC_FUNCTIONS
649# define LZ4FLIB_STATIC_API LZ4FLIB_API
651# define LZ4FLIB_STATIC_API
656#define LZ4F_LIST_ERRORS(ITEM) \
658 ITEM(ERROR_GENERIC) \
659 ITEM(ERROR_maxBlockSize_invalid) \
660 ITEM(ERROR_blockMode_invalid) \
661 ITEM(ERROR_parameter_invalid) \
662 ITEM(ERROR_compressionLevel_invalid) \
663 ITEM(ERROR_headerVersion_wrong) \
664 ITEM(ERROR_blockChecksum_invalid) \
665 ITEM(ERROR_reservedFlag_set) \
666 ITEM(ERROR_allocation_failed) \
667 ITEM(ERROR_srcSize_tooLarge) \
668 ITEM(ERROR_dstMaxSize_tooSmall) \
669 ITEM(ERROR_frameHeader_incomplete) \
670 ITEM(ERROR_frameType_unknown) \
671 ITEM(ERROR_frameSize_wrong) \
672 ITEM(ERROR_srcPtr_wrong) \
673 ITEM(ERROR_decompressionFailed) \
674 ITEM(ERROR_headerChecksum_invalid) \
675 ITEM(ERROR_contentChecksum_invalid) \
676 ITEM(ERROR_frameDecoding_alreadyStarted) \
677 ITEM(ERROR_compressionState_uninitialized) \
678 ITEM(ERROR_parameter_null) \
679 ITEM(ERROR_io_write) \
680 ITEM(ERROR_io_read) \
683#define LZ4F_GENERATE_ENUM(ENUM) LZ4F_##ENUM,
686typedef enum { LZ4F_LIST_ERRORS(LZ4F_GENERATE_ENUM)
687 _LZ4F_dummy_error_enum_for_c89_never_used } LZ4F_errorCodes;
715LZ4FLIB_STATIC_API
size_t
717 void* dstBuffer,
size_t dstCapacity,
718 const void* srcBuffer,
size_t srcSize,
730typedef void* (*LZ4F_AllocFunction) (
void* opaqueState,
size_t size);
731typedef void* (*LZ4F_CallocFunction) (
void* opaqueState,
size_t size);
732typedef void (*LZ4F_FreeFunction) (
void* opaqueState,
void* address);
734 LZ4F_AllocFunction customAlloc;
735 LZ4F_CallocFunction customCalloc;
736 LZ4F_FreeFunction customFree;
750#if defined (__cplusplus)
char * dst
Definition lz4.h:833
char int srcSize
Definition lz4.h:806
const char * src
Definition lz4.h:866
LZ4F_CDict * LZ4F_createCDict_advanced(LZ4F_CustomMem cmem, const void *dictBuffer, size_t dictSize)
Definition lz4frame.c:539
size_t LZ4F_uncompressedUpdate(LZ4F_cctx *cctxPtr, void *dstBuffer, size_t dstCapacity, const void *srcBuffer, size_t srcSize, const LZ4F_compressOptions_t *compressOptionsPtr)
Definition lz4frame.c:1139
LZ4F_cctx * LZ4F_createCompressionContext_advanced(LZ4F_CustomMem customMem, unsigned version)
Definition lz4frame.c:596
size_t LZ4F_getBlockSize(LZ4F_blockSizeID_t blockSizeID)
Definition lz4frame.c:333
LZ4F_dctx * LZ4F_createDecompressionContext_advanced(LZ4F_CustomMem customMem, unsigned version)
Definition lz4frame.c:1284
LZ4F_errorCodes LZ4F_getErrorCode(size_t functionResult)
Definition lz4frame.c:305
LZ4F_blockMode_t
Definition lz4frame.h:138
@ LZ4F_blockLinked
Definition lz4frame.h:139
@ LZ4F_blockIndependent
Definition lz4frame.h:140
LZ4FLIB_API LZ4F_CDict * LZ4F_createCDict(const void *dictBuffer, size_t dictSize)
Definition lz4frame.c:575
size_t LZ4F_errorCode_t
Definition lz4frame.h:103
#define LZ4FLIB_API
Definition lz4frame.h:84
#define LZ4F_OBSOLETE_ENUM(x)
Definition lz4frame.h:116
LZ4FLIB_API void LZ4F_resetDecompressionContext(LZ4F_dctx *dctx)
Definition lz4frame.c:1327
LZ4FLIB_API size_t LZ4F_compressFrameBound(size_t srcSize, const LZ4F_preferences_t *preferencesPtr)
Definition lz4frame.c:406
LZ4FLIB_API size_t LZ4F_compressUpdate(LZ4F_cctx *cctx, void *dstBuffer, size_t dstCapacity, const void *srcBuffer, size_t srcSize, const LZ4F_compressOptions_t *cOptPtr)
Definition lz4frame.c:1119
LZ4FLIB_API LZ4F_errorCode_t LZ4F_freeCompressionContext(LZ4F_cctx *cctx)
Definition lz4frame.c:629
LZ4FLIB_API int LZ4F_compressionLevel_max(void)
Definition lz4frame.c:331
LZ4FLIB_API size_t LZ4F_compressEnd(LZ4F_cctx *cctx, void *dstBuffer, size_t dstCapacity, const LZ4F_compressOptions_t *cOptPtr)
Definition lz4frame.c:1206
LZ4F_blockSizeID_t
Definition lz4frame.h:123
@ LZ4F_max256KB
Definition lz4frame.h:126
@ LZ4F_default
Definition lz4frame.h:124
@ LZ4F_max1MB
Definition lz4frame.h:127
@ LZ4F_max64KB
Definition lz4frame.h:125
@ LZ4F_max4MB
Definition lz4frame.h:128
LZ4FLIB_API LZ4F_errorCode_t LZ4F_freeDecompressionContext(LZ4F_dctx *dctx)
Definition lz4frame.c:1313
LZ4FLIB_API unsigned LZ4F_isError(LZ4F_errorCode_t code)
Definition lz4frame.c:293
LZ4FLIB_API size_t LZ4F_flush(LZ4F_cctx *cctx, void *dstBuffer, size_t dstCapacity, const LZ4F_compressOptions_t *cOptPtr)
Definition lz4frame.c:1159
LZ4FLIB_API size_t LZ4F_decompress_usingDict(LZ4F_dctx *dctxPtr, void *dstBuffer, size_t *dstSizePtr, const void *srcBuffer, size_t *srcSizePtr, const void *dict, size_t dictSize, const LZ4F_decompressOptions_t *decompressOptionsPtr)
Definition lz4frame.c:2123
LZ4FLIB_API const char * LZ4F_getErrorName(LZ4F_errorCode_t code)
Definition lz4frame.c:298
LZ4F_cctx * LZ4F_compressionContext_t
Definition lz4frame.h:247
LZ4FLIB_API size_t LZ4F_headerSize(const void *src, size_t srcSize)
Definition lz4frame.c:1444
LZ4FLIB_API size_t LZ4F_compressFrame_usingCDict(LZ4F_cctx *cctx, void *dst, size_t dstCapacity, const void *src, size_t srcSize, const LZ4F_CDict *cdict, const LZ4F_preferences_t *preferencesPtr)
Definition lz4frame.c:428
LZ4FLIB_API LZ4F_errorCode_t LZ4F_createDecompressionContext(LZ4F_dctx **dctxPtr, unsigned version)
Definition lz4frame.c:1301
LZ4F_dctx * LZ4F_decompressionContext_t
Definition lz4frame.h:372
LZ4FLIB_API size_t LZ4F_decompress(LZ4F_dctx *dctx, void *dstBuffer, size_t *dstSizePtr, const void *srcBuffer, size_t *srcSizePtr, const LZ4F_decompressOptions_t *dOptPtr)
Definition lz4frame.c:1613
LZ4FLIB_API size_t LZ4F_getFrameInfo(LZ4F_dctx *dctx, LZ4F_frameInfo_t *frameInfoPtr, const void *srcBuffer, size_t *srcSizePtr)
Definition lz4frame.c:1485
LZ4FLIB_API size_t LZ4F_compressBegin(LZ4F_cctx *cctx, void *dstBuffer, size_t dstCapacity, const LZ4F_preferences_t *prefsPtr)
Definition lz4frame.c:815
LZ4FLIB_API size_t LZ4F_compressBegin_usingDict(LZ4F_cctx *cctx, void *dstBuffer, size_t dstCapacity, const void *dictBuffer, size_t dictSize, const LZ4F_preferences_t *prefsPtr)
Definition lz4frame.c:838
LZ4FLIB_API unsigned LZ4F_getVersion(void)
Definition lz4frame.c:329
LZ4F_contentChecksum_t
Definition lz4frame.h:145
@ LZ4F_noContentChecksum
Definition lz4frame.h:146
@ LZ4F_contentChecksumEnabled
Definition lz4frame.h:147
LZ4FLIB_API size_t LZ4F_compressBegin_usingCDict(LZ4F_cctx *cctx, void *dstBuffer, size_t dstCapacity, const LZ4F_CDict *cdict, const LZ4F_preferences_t *prefsPtr)
Definition lz4frame.c:851
LZ4FLIB_API LZ4F_errorCode_t LZ4F_createCompressionContext(LZ4F_cctx **cctxPtr, unsigned version)
Definition lz4frame.c:618
LZ4FLIB_API void LZ4F_freeCDict(LZ4F_CDict *CDict)
Definition lz4frame.c:581
LZ4F_frameType_t
Definition lz4frame.h:157
@ LZ4F_skippableFrame
Definition lz4frame.h:159
@ LZ4F_frame
Definition lz4frame.h:158
LZ4FLIB_API size_t LZ4F_compressBound(size_t srcSize, const LZ4F_preferences_t *prefsPtr)
Definition lz4frame.c:867
LZ4F_blockChecksum_t
Definition lz4frame.h:152
@ LZ4F_blockChecksumEnabled
Definition lz4frame.h:154
@ LZ4F_noBlockChecksum
Definition lz4frame.h:153
LZ4FLIB_API size_t LZ4F_compressFrame(void *dstBuffer, size_t dstCapacity, const void *srcBuffer, size_t srcSize, const LZ4F_preferences_t *preferencesPtr)
Definition lz4frame.c:484
@ skippableFrame
Definition lz4io.c:2571
#define __attribute__(unused_ric_since_2004)
Definition main_cr.c:84
LZ4F_blockMode_t
Definition lz4frame.h:138
LZ4F_blockSizeID_t
Definition lz4frame.h:123
LZ4F_contentChecksum_t
Definition lz4frame.h:145
LZ4F_frameType_t
Definition lz4frame.h:157
LZ4F_blockChecksum_t
Definition lz4frame.h:152
Definition lz4frame.c:531
Definition lz4frame.c:266
Definition lz4frame.h:249
unsigned stableSrc
Definition lz4frame.h:250
Definition lz4frame.c:1260
Definition lz4frame.h:374
unsigned reserved0
Definition lz4frame.h:381
unsigned stableDst
Definition lz4frame.h:375
unsigned reserved1
Definition lz4frame.h:380
unsigned skipChecksums
Definition lz4frame.h:378
Definition lz4frame.h:175
unsigned long long contentSize
Definition lz4frame.h:180
LZ4F_blockSizeID_t blockSizeID
Definition lz4frame.h:176
unsigned dictID
Definition lz4frame.h:181
LZ4F_frameType_t frameType
Definition lz4frame.h:179
LZ4F_contentChecksum_t contentChecksumFlag
Definition lz4frame.h:178
LZ4F_blockMode_t blockMode
Definition lz4frame.h:177
LZ4F_blockChecksum_t blockChecksumFlag
Definition lz4frame.h:182
Definition lz4frame.h:192
LZ4F_frameInfo_t frameInfo
Definition lz4frame.h:193
int compressionLevel
Definition lz4frame.h:194
unsigned favorDecSpeed
Definition lz4frame.h:196
unsigned autoFlush
Definition lz4frame.h:195
#define NULL
Definition getopt1.c:37
const void * dict
Definition zbuff.h:76
const void size_t dictSize
Definition zbuff.h:76
void size_t const void size_t * srcSizePtr
Definition zbuff.h:78