41 #ifndef LZ4F_H_09782039843 42 #define LZ4F_H_09782039843 44 #if defined (__cplusplus) 68 #if defined(LZ4_DLL_EXPORT) && (LZ4_DLL_EXPORT==1) 69 # define LZ4FLIB_API __declspec(dllexport) 70 #elif defined(LZ4_DLL_IMPORT) && (LZ4_DLL_IMPORT==1) 71 # define LZ4FLIB_API __declspec(dllimport) 72 #elif defined(__GNUC__) && (__GNUC__ >= 4) && !defined(CAFE) && !defined(NN_PLATFORM_CTR) 73 # define LZ4FLIB_API __attribute__ ((__visibility__ ("default"))) 78 #ifdef LZ4F_DISABLE_DEPRECATE_WARNINGS 79 # define LZ4F_DEPRECATE(x) x 81 # if defined(_MSC_VER) 82 # define LZ4F_DEPRECATE(x) x 83 # elif defined(__clang__) || (defined(__GNUC__) && (__GNUC__ >= 6)) 84 # define LZ4F_DEPRECATE(x) x __attribute__((deprecated)) 86 # define LZ4F_DEPRECATE(x) x 94 typedef size_t LZ4F_errorCode_t;
96 LZ4FLIB_API
unsigned LZ4F_isError(LZ4F_errorCode_t code);
97 LZ4FLIB_API
const char* LZ4F_getErrorName(LZ4F_errorCode_t code);
104 #ifdef LZ4F_ENABLE_OBSOLETE_ENUMS 105 # define LZ4F_OBSOLETE_ENUM(x) , LZ4F_DEPRECATE(x) = LZ4F_##x 107 # define LZ4F_OBSOLETE_ENUM(x) 119 LZ4F_OBSOLETE_ENUM(max64KB)
120 LZ4F_OBSOLETE_ENUM(max256KB)
121 LZ4F_OBSOLETE_ENUM(max1MB)
122 LZ4F_OBSOLETE_ENUM(max4MB)
123 } LZ4F_blockSizeID_t;
130 LZ4F_blockIndependent
131 LZ4F_OBSOLETE_ENUM(blockLinked)
132 LZ4F_OBSOLETE_ENUM(blockIndependent)
136 LZ4F_noContentChecksum=0,
137 LZ4F_contentChecksumEnabled
138 LZ4F_OBSOLETE_ENUM(noContentChecksum)
139 LZ4F_OBSOLETE_ENUM(contentChecksumEnabled)
140 } LZ4F_contentChecksum_t;
143 LZ4F_noBlockChecksum=0,
144 LZ4F_blockChecksumEnabled
145 } LZ4F_blockChecksum_t;
150 LZ4F_OBSOLETE_ENUM(skippableFrame)
153 #ifdef LZ4F_ENABLE_OBSOLETE_ENUMS 154 typedef LZ4F_blockSizeID_t blockSizeID_t;
155 typedef LZ4F_blockMode_t blockMode_t;
156 typedef LZ4F_frameType_t frameType_t;
157 typedef LZ4F_contentChecksum_t contentChecksum_t;
165 LZ4F_blockSizeID_t blockSizeID;
166 LZ4F_blockMode_t blockMode;
167 LZ4F_contentChecksum_t contentChecksumFlag;
168 LZ4F_frameType_t frameType;
169 unsigned long long contentSize;
171 LZ4F_blockChecksum_t blockChecksumFlag;
180 int compressionLevel;
182 unsigned favorDecSpeed;
183 unsigned reserved[3];
186 LZ4FLIB_API
int LZ4F_compressionLevel_max(
void);
198 LZ4FLIB_API
size_t LZ4F_compressFrameBound(
size_t srcSize,
const LZ4F_preferences_t* preferencesPtr);
207 LZ4FLIB_API
size_t LZ4F_compressFrame(
void* dstBuffer,
size_t dstCapacity,
208 const void* srcBuffer,
size_t srcSize,
215 typedef struct LZ4F_cctx_s LZ4F_cctx;
216 typedef LZ4F_cctx* LZ4F_compressionContext_t;
220 unsigned reserved[3];
221 } LZ4F_compressOptions_t;
225 #define LZ4F_VERSION 100 226 LZ4FLIB_API
unsigned LZ4F_getVersion(
void);
235 LZ4FLIB_API LZ4F_errorCode_t LZ4F_createCompressionContext(LZ4F_cctx** cctxPtr,
unsigned version);
236 LZ4FLIB_API LZ4F_errorCode_t LZ4F_freeCompressionContext(LZ4F_cctx* cctx);
241 #define LZ4F_HEADER_SIZE_MAX 19 249 LZ4FLIB_API
size_t LZ4F_compressBegin(LZ4F_cctx* cctx,
250 void* dstBuffer,
size_t dstCapacity,
264 LZ4FLIB_API
size_t LZ4F_compressBound(
size_t srcSize,
const LZ4F_preferences_t* prefsPtr);
277 LZ4FLIB_API
size_t LZ4F_compressUpdate(LZ4F_cctx* cctx,
278 void* dstBuffer,
size_t dstCapacity,
279 const void* srcBuffer,
size_t srcSize,
280 const LZ4F_compressOptions_t* cOptPtr);
290 LZ4FLIB_API
size_t LZ4F_flush(LZ4F_cctx* cctx,
291 void* dstBuffer,
size_t dstCapacity,
292 const LZ4F_compressOptions_t* cOptPtr);
303 LZ4FLIB_API
size_t LZ4F_compressEnd(LZ4F_cctx* cctx,
304 void* dstBuffer,
size_t dstCapacity,
305 const LZ4F_compressOptions_t* cOptPtr);
311 typedef struct LZ4F_dctx_s LZ4F_dctx;
312 typedef LZ4F_dctx* LZ4F_decompressionContext_t;
316 unsigned reserved[3];
317 } LZ4F_decompressOptions_t;
331 LZ4FLIB_API LZ4F_errorCode_t LZ4F_createDecompressionContext(LZ4F_dctx** dctxPtr,
unsigned version);
332 LZ4FLIB_API LZ4F_errorCode_t LZ4F_freeDecompressionContext(LZ4F_dctx* dctx);
360 LZ4FLIB_API
size_t LZ4F_getFrameInfo(LZ4F_dctx* dctx,
362 const void* srcBuffer,
size_t* srcSizePtr);
393 LZ4FLIB_API
size_t LZ4F_decompress(LZ4F_dctx* dctx,
394 void* dstBuffer,
size_t* dstSizePtr,
395 const void* srcBuffer,
size_t* srcSizePtr,
396 const LZ4F_decompressOptions_t* dOptPtr);
404 LZ4FLIB_API
void LZ4F_resetDecompressionContext(LZ4F_dctx* dctx);
408 #if defined (__cplusplus) 414 #if defined(LZ4F_STATIC_LINKING_ONLY) && !defined(LZ4F_H_STATIC_09782039843) 415 #define LZ4F_H_STATIC_09782039843 417 #if defined (__cplusplus) 431 #ifdef LZ4F_PUBLISH_STATIC_FUNCTIONS 432 #define LZ4FLIB_STATIC_API LZ4FLIB_API 434 #define LZ4FLIB_STATIC_API 439 #define LZ4F_LIST_ERRORS(ITEM) \ 441 ITEM(ERROR_GENERIC) \ 442 ITEM(ERROR_maxBlockSize_invalid) \ 443 ITEM(ERROR_blockMode_invalid) \ 444 ITEM(ERROR_contentChecksumFlag_invalid) \ 445 ITEM(ERROR_compressionLevel_invalid) \ 446 ITEM(ERROR_headerVersion_wrong) \ 447 ITEM(ERROR_blockChecksum_invalid) \ 448 ITEM(ERROR_reservedFlag_set) \ 449 ITEM(ERROR_allocation_failed) \ 450 ITEM(ERROR_srcSize_tooLarge) \ 451 ITEM(ERROR_dstMaxSize_tooSmall) \ 452 ITEM(ERROR_frameHeader_incomplete) \ 453 ITEM(ERROR_frameType_unknown) \ 454 ITEM(ERROR_frameSize_wrong) \ 455 ITEM(ERROR_srcPtr_wrong) \ 456 ITEM(ERROR_decompressionFailed) \ 457 ITEM(ERROR_headerChecksum_invalid) \ 458 ITEM(ERROR_contentChecksum_invalid) \ 459 ITEM(ERROR_frameDecoding_alreadyStarted) \ 462 #define LZ4F_GENERATE_ENUM(ENUM) LZ4F_##ENUM, 465 typedef enum { LZ4F_LIST_ERRORS(LZ4F_GENERATE_ENUM) } LZ4F_errorCodes;
467 LZ4FLIB_STATIC_API LZ4F_errorCodes LZ4F_getErrorCode(
size_t functionResult);
474 typedef struct LZ4F_CDict_s LZ4F_CDict;
481 LZ4FLIB_STATIC_API LZ4F_CDict* LZ4F_createCDict(
const void* dictBuffer,
size_t dictSize);
482 LZ4FLIB_STATIC_API
void LZ4F_freeCDict(LZ4F_CDict* CDict);
495 LZ4FLIB_STATIC_API
size_t LZ4F_compressFrame_usingCDict(
497 void* dst,
size_t dstCapacity,
498 const void* src,
size_t srcSize,
499 const LZ4F_CDict* cdict,
510 LZ4FLIB_STATIC_API
size_t LZ4F_compressBegin_usingCDict(
512 void* dstBuffer,
size_t dstCapacity,
513 const LZ4F_CDict* cdict,
521 LZ4FLIB_STATIC_API
size_t LZ4F_decompress_usingDict(
523 void* dstBuffer,
size_t* dstSizePtr,
524 const void* srcBuffer,
size_t* srcSizePtr,
525 const void* dict,
size_t dictSize,
526 const LZ4F_decompressOptions_t* decompressOptionsPtr);
528 #if defined (__cplusplus)