blob: ca5d6b60135eef7fc719d01978bdf8d919f67f52 [file] [log] [blame]
Yann Collet3d93f2f2016-12-27 07:19:36 +01001
Yann Collet107bcbb2017-01-12 01:25:46 +01002/* === Dependencies === */
Yann Collet3d93f2f2016-12-27 07:19:36 +01003#include <stddef.h> /* size_t */
Yann Collet107bcbb2017-01-12 01:25:46 +01004#include "zstd.h" /* ZSTD_inBuffer, ZSTD_outBuffer */
5
6
7/* === Simple one-pass functions === */
Yann Collet3d93f2f2016-12-27 07:19:36 +01008
9typedef struct ZSTDMT_CCtx_s ZSTDMT_CCtx;
Yann Collet107bcbb2017-01-12 01:25:46 +010010ZSTDMT_CCtx* ZSTDMT_createCCtx(unsigned nbThreads);
Yann Collet3d93f2f2016-12-27 07:19:36 +010011size_t ZSTDMT_freeCCtx(ZSTDMT_CCtx* cctx);
12
13size_t ZSTDMT_compressCCtx(ZSTDMT_CCtx* cctx,
14 void* dst, size_t dstCapacity,
15 const void* src, size_t srcSize,
16 int compressionLevel);
Yann Collet107bcbb2017-01-12 01:25:46 +010017
18
19/* === Streaming functions === */
20
21size_t ZSTDMT_initCStream(ZSTDMT_CCtx* zcs, int compressionLevel);
22size_t ZSTDMT_compressStream(ZSTDMT_CCtx* zcs, ZSTD_outBuffer* output, ZSTD_inBuffer* input);
23size_t ZSTDMT_flushStream(ZSTDMT_CCtx* zcs, ZSTD_outBuffer* output);
24size_t ZSTDMT_endStream(ZSTDMT_CCtx* zcs, ZSTD_outBuffer* output);