2016-12-26 22:19:36 -08:00
2017-01-11 16:25:46 -08:00
/* === Dependencies === */
2016-12-26 22:19:36 -08:00
# include <stddef.h> /* size_t */
2017-01-19 15:32:07 -08:00
# define ZSTD_STATIC_LINKING_ONLY /* ZSTD_parameters */
2017-01-11 16:25:46 -08:00
# include "zstd.h" /* ZSTD_inBuffer, ZSTD_outBuffer */
2016-12-26 22:19:36 -08:00
2017-01-11 16:25:46 -08:00
/* === Simple one-pass functions === */
typedef struct ZSTDMT_CCtx_s ZSTDMT_CCtx ;
ZSTDMT_CCtx * ZSTDMT_createCCtx ( unsigned nbThreads ) ;
2016-12-26 22:19:36 -08:00
size_t ZSTDMT_freeCCtx ( ZSTDMT_CCtx * cctx ) ;
size_t ZSTDMT_compressCCtx ( ZSTDMT_CCtx * cctx ,
void * dst , size_t dstCapacity ,
const void * src , size_t srcSize ,
int compressionLevel ) ;
2017-01-11 16:25:46 -08:00
/* === Streaming functions === */
size_t ZSTDMT_initCStream ( ZSTDMT_CCtx * zcs , int compressionLevel ) ;
2017-01-19 16:59:56 -08:00
size_t ZSTDMT_resetCStream ( ZSTDMT_CCtx * zcs , unsigned long long pledgedSrcSize ) ; /**< pledgedSrcSize is optional and can be zero == unknown */
2017-01-19 15:32:07 -08:00
size_t ZSTDMT_initCStream_advanced ( ZSTDMT_CCtx * zcs , const void * dict , size_t dictSize ,
ZSTD_parameters params , unsigned long long pledgedSrcSize ) ; /**< pledgedSrcSize is optional and can be zero == unknown ; current limitation : no checksum */
2017-01-11 16:25:46 -08:00
size_t ZSTDMT_compressStream ( ZSTDMT_CCtx * zcs , ZSTD_outBuffer * output , ZSTD_inBuffer * input ) ;
2017-01-19 15:32:07 -08:00
size_t ZSTDMT_flushStream ( ZSTDMT_CCtx * zcs , ZSTD_outBuffer * output ) ; /**< @return : 0 == all flushed; >0 : still some data to be flushed; or an error code (ZSTD_isError()) */
size_t ZSTDMT_endStream ( ZSTDMT_CCtx * zcs , ZSTD_outBuffer * output ) ; /**< @return : 0 == all flushed; >0 : still some data to be flushed; or an error code (ZSTD_isError()) */