45 # ifdef nx_oss_lz4_EXPORTS 46 # define LZ4_API __declspec(dllexport) 48 # define LZ4_API __declspec(dllimport) 50 #elif defined(__linux__) || defined(__FreeBSD__) 51 # define LZ4_API __attribute__((visibility("default"))) 58 #if defined (__cplusplus) 71 typedef size_t LZ4F_errorCode_t;
73 LZ4_API
unsigned LZ4F_isError(LZ4F_errorCode_t code);
74 LZ4_API
const char* LZ4F_getErrorName(LZ4F_errorCode_t code);
80 #define LZ4F_DISABLE_OBSOLETE_ENUMS 81 #ifndef LZ4F_DISABLE_OBSOLETE_ENUMS 82 # define LZ4F_OBSOLETE_ENUM(x) ,x 84 # define LZ4F_OBSOLETE_ENUM(x) 93 LZ4F_OBSOLETE_ENUM(max64KB = LZ4F_max64KB)
94 LZ4F_OBSOLETE_ENUM(max256KB = LZ4F_max256KB)
95 LZ4F_OBSOLETE_ENUM(max1MB = LZ4F_max1MB)
96 LZ4F_OBSOLETE_ENUM(max4MB = LZ4F_max4MB)
101 LZ4F_blockIndependent
102 LZ4F_OBSOLETE_ENUM(blockLinked = LZ4F_blockLinked)
103 LZ4F_OBSOLETE_ENUM(blockIndependent = LZ4F_blockIndependent)
107 LZ4F_noContentChecksum=0,
108 LZ4F_contentChecksumEnabled
109 LZ4F_OBSOLETE_ENUM(noContentChecksum = LZ4F_noContentChecksum)
110 LZ4F_OBSOLETE_ENUM(contentChecksumEnabled = LZ4F_contentChecksumEnabled)
111 } LZ4F_contentChecksum_t;
116 LZ4F_OBSOLETE_ENUM(skippableFrame = LZ4F_skippableFrame)
119 #ifndef LZ4F_DISABLE_OBSOLETE_ENUMS 120 typedef LZ4F_blockSizeID_t blockSizeID_t;
121 typedef LZ4F_blockMode_t blockMode_t;
122 typedef LZ4F_frameType_t frameType_t;
123 typedef LZ4F_contentChecksum_t contentChecksum_t;
127 LZ4F_blockSizeID_t blockSizeID;
128 LZ4F_blockMode_t blockMode;
129 LZ4F_contentChecksum_t contentChecksumFlag;
130 LZ4F_frameType_t frameType;
131 unsigned long long contentSize;
132 unsigned reserved[2];
136 LZ4F_frameInfo_t frameInfo;
137 int compressionLevel;
139 unsigned reserved[4];
140 } LZ4F_preferences_t;
146 LZ4_API
size_t LZ4F_compressFrameBound(
size_t srcSize,
const LZ4F_preferences_t* preferencesPtr);
148 LZ4_API
size_t LZ4F_compressFrame(
void* dstBuffer,
size_t dstMaxSize,
const void* srcBuffer,
size_t srcSize,
const LZ4F_preferences_t* preferencesPtr);
164 typedef struct LZ4F_cctx_s* LZ4F_compressionContext_t;
168 unsigned reserved[3];
169 } LZ4F_compressOptions_t;
173 #define LZ4F_VERSION 100 174 LZ4_API LZ4F_errorCode_t LZ4F_createCompressionContext(LZ4F_compressionContext_t* cctxPtr,
unsigned version);
175 LZ4_API LZ4F_errorCode_t LZ4F_freeCompressionContext(LZ4F_compressionContext_t cctx);
188 LZ4_API
size_t LZ4F_compressBegin(LZ4F_compressionContext_t cctx,
void* dstBuffer,
size_t dstMaxSize,
const LZ4F_preferences_t* prefsPtr);
197 LZ4_API
size_t LZ4F_compressBound(
size_t srcSize,
const LZ4F_preferences_t* prefsPtr);
205 LZ4_API
size_t LZ4F_compressUpdate(LZ4F_compressionContext_t cctx,
void* dstBuffer,
size_t dstMaxSize,
const void* srcBuffer,
size_t srcSize,
const LZ4F_compressOptions_t* cOptPtr);
217 LZ4_API
size_t LZ4F_flush(LZ4F_compressionContext_t cctx,
void* dstBuffer,
size_t dstMaxSize,
const LZ4F_compressOptions_t* cOptPtr);
228 LZ4_API
size_t LZ4F_compressEnd(LZ4F_compressionContext_t cctx,
void* dstBuffer,
size_t dstMaxSize,
const LZ4F_compressOptions_t* cOptPtr);
244 typedef struct LZ4F_dctx_s* LZ4F_decompressionContext_t;
248 unsigned reserved[3];
249 } LZ4F_decompressOptions_t;
254 LZ4_API LZ4F_errorCode_t LZ4F_createDecompressionContext(LZ4F_decompressionContext_t* dctxPtr,
unsigned version);
255 LZ4_API LZ4F_errorCode_t LZ4F_freeDecompressionContext(LZ4F_decompressionContext_t dctx);
270 LZ4_API
size_t LZ4F_getFrameInfo(LZ4F_decompressionContext_t dctx,
271 LZ4F_frameInfo_t* frameInfoPtr,
272 const void* srcBuffer,
size_t* srcSizePtr);
286 LZ4_API
size_t LZ4F_decompress(LZ4F_decompressionContext_t dctx,
287 void* dstBuffer,
size_t* dstSizePtr,
288 const void* srcBuffer,
size_t* srcSizePtr,
289 const LZ4F_decompressOptions_t* dOptPtr);
316 #if defined (__cplusplus)