Skip to main content

Crate libzstd_rs_sys

Crate libzstd_rs_sys 

Source
Expand description

zstd, short for Zstandard, is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios. The zstd compression library provides in-memory compression and decompression functions.

The library supports regular compression levels from 1 up to ZSTD_maxCLevel, which is currently 22. Levels >= 20, labeled --ultra, should be used with caution, as they require more memory. The library also offers negative compression levels, which extend the range of speed vs. ratio preferences. The lower the level, the faster the speed (at the cost of compression).

(De-)compression can be done in:

The compression ratio achievable on small data can be highly improved using a dictionary. Dictionary compression can be performed in:

Advanced experimental APIs should never be used with a dynamically-linked library. They are not “stable”; their definitions or signatures may change in the future. Only static linking is allowed.

Re-exports§

pub use crate::lib::zstd::ZSTD_ParamSwitch_e;
pub use crate::lib::zstd::ZSTD_ResetDirective;
pub use crate::lib::zstd::ZSTD_cParameter;
pub use crate::lib::zstd::ZSTD_dParameter;
pub use crate::lib::zstd::ZSTD_dictAttachPref_e;
pub use crate::lib::zstd::ZSTD_format_e;
pub use crate::lib::zstd::ZSTD_frameProgression;
pub use crate::lib::zstd::ZSTD_inBuffer;
pub use crate::lib::zstd::ZSTD_outBuffer;
pub use crate::lib::zstd::ZSTD_strategy;
pub use crate::lib::zstd::ZSTD_BLOCKSIZELOG_MAX;
pub use crate::lib::zstd::ZSTD_BLOCKSIZE_MAX;
pub use crate::lib::zstd::ZSTD_BLOCKSIZE_MAX_MIN;
pub use crate::lib::zstd::ZSTD_CLEVEL_DEFAULT;
pub use crate::lib::zstd::ZSTD_CONTENTSIZE_ERROR;
pub use crate::lib::zstd::ZSTD_CONTENTSIZE_UNKNOWN;
pub use crate::lib::zstd::ZSTD_FRAMEHEADERSIZE_MAX;
pub use crate::lib::zstd::ZSTD_MAGICNUMBER;
pub use crate::lib::zstd::ZSTD_MAGIC_DICTIONARY;
pub use crate::lib::zstd::ZSTD_MAGIC_SKIPPABLE_MASK;
pub use crate::lib::zstd::ZSTD_MAGIC_SKIPPABLE_START;
pub use crate::lib::zstd::ZSTD_SKIPPABLEHEADERSIZE;
pub use crate::lib::zstd::ZSTD_VERSION_MAJOR;
pub use crate::lib::zstd::ZSTD_VERSION_MINOR;
pub use crate::lib::zstd::ZSTD_VERSION_NUMBER;
pub use crate::lib::zstd::ZSTD_VERSION_RELEASE;
pub use crate::lib::zstd::ZSTD_WINDOWLOG_LIMIT_DEFAULT;
pub use crate::lib::zstd::ZSTD_WINDOWLOG_MAX_32;
pub use crate::lib::zstd::ZSTD_WINDOWLOG_MAX_64;
pub use crate::lib::decompress::zstd_ddict::ZSTD_DDict;
pub use crate::lib::decompress::zstd_ddict::ZSTD_createDDict;
pub use crate::lib::decompress::zstd_ddict::ZSTD_createDDict_byReference;
pub use crate::lib::decompress::zstd_ddict::ZSTD_estimateDDictSize;
pub use crate::lib::decompress::zstd_ddict::ZSTD_freeDDict;
pub use crate::lib::decompress::zstd_ddict::ZSTD_getDictID_fromDDict;
pub use crate::lib::decompress::zstd_ddict::ZSTD_sizeof_DDict;
pub use crate::lib::decompress::zstd_decompress::ZSTD_DCtx_getParameter;
pub use crate::lib::decompress::zstd_decompress::ZSTD_DCtx_loadDictionary;
pub use crate::lib::decompress::zstd_decompress::ZSTD_DCtx_refDDict;
pub use crate::lib::decompress::zstd_decompress::ZSTD_DCtx_refPrefix;
pub use crate::lib::decompress::zstd_decompress::ZSTD_DCtx_reset;
pub use crate::lib::decompress::zstd_decompress::ZSTD_DCtx_setParameter;
pub use crate::lib::decompress::zstd_decompress::ZSTD_DStream;
pub use crate::lib::decompress::zstd_decompress::ZSTD_DStreamInSize;
pub use crate::lib::decompress::zstd_decompress::ZSTD_DStreamOutSize;
pub use crate::lib::decompress::zstd_decompress::ZSTD_copyDCtx;
pub use crate::lib::decompress::zstd_decompress::ZSTD_createDCtx;
pub use crate::lib::decompress::zstd_decompress::ZSTD_createDStream;
pub use crate::lib::decompress::zstd_decompress::ZSTD_dParam_getBounds;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompress;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompressBegin;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompressBegin_usingDDict;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompressBegin_usingDict;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompressBound;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompressContinue;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompressDCtx;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompressStream;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompressStream_simpleArgs;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompress_usingDDict;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompress_usingDict;
pub use crate::lib::decompress::zstd_decompress::ZSTD_decompressionMargin;
pub use crate::lib::decompress::zstd_decompress::ZSTD_findDecompressedSize;
pub use crate::lib::decompress::zstd_decompress::ZSTD_findFrameCompressedSize;
pub use crate::lib::decompress::zstd_decompress::ZSTD_freeDCtx;
pub use crate::lib::decompress::zstd_decompress::ZSTD_getDecompressedSize;
pub use crate::lib::decompress::zstd_decompress::ZSTD_getDictID_fromDict;
pub use crate::lib::decompress::zstd_decompress::ZSTD_getDictID_fromFrame;
pub use crate::lib::decompress::zstd_decompress::ZSTD_getFrameContentSize;
pub use crate::lib::decompress::zstd_decompress::ZSTD_initDStream;
pub use crate::lib::decompress::zstd_decompress::ZSTD_initDStream_usingDDict;
pub use crate::lib::decompress::zstd_decompress::ZSTD_initDStream_usingDict;
pub use crate::lib::decompress::zstd_decompress::ZSTD_insertBlock;
pub use crate::lib::decompress::zstd_decompress::ZSTD_isFrame;
pub use crate::lib::decompress::zstd_decompress::ZSTD_isSkippableFrame;
pub use crate::lib::decompress::zstd_decompress::ZSTD_nextSrcSizeToDecompress;
pub use crate::lib::decompress::zstd_decompress::ZSTD_sizeof_DCtx;
pub use crate::lib::decompress::zstd_decompress_block::ZSTD_decompressBlock;
pub use crate::lib::decompress::ZSTD_DCtx;
pub use crate::lib::common::zstd_common::ZSTD_getErrorName;
pub use crate::lib::common::zstd_common::ZSTD_isError;
pub use crate::lib::common::zstd_common::ZSTD_versionNumber;
pub use crate::lib::common::zstd_common::ZSTD_versionString;
pub use crate::lib::zdict::experimental::ZDICT_cover_params_t;
pub use crate::lib::zdict::experimental::ZDICT_fastCover_params_t;
pub use crate::lib::zdict::experimental::ZDICT_legacy_params_t;
pub use crate::lib::zdict::ZDICT_getDictID;
pub use crate::lib::zdict::ZDICT_getErrorName;
pub use crate::lib::zdict::ZDICT_isError;
pub use crate::lib::zdict::ZDICT_params_t;
pub use crate::lib::zdict::ZDICT_trainFromBuffer;
pub use crate::lib::compress::zstd_compress::ZSTD_CCtx;
pub use crate::lib::compress::zstd_compress::ZSTD_CCtx_getParameter;
pub use crate::lib::compress::zstd_compress::ZSTD_CCtx_loadDictionary;
pub use crate::lib::compress::zstd_compress::ZSTD_CCtx_refCDict;
pub use crate::lib::compress::zstd_compress::ZSTD_CCtx_refPrefix;
pub use crate::lib::compress::zstd_compress::ZSTD_CCtx_reset;
pub use crate::lib::compress::zstd_compress::ZSTD_CCtx_setParameter;
pub use crate::lib::compress::zstd_compress::ZSTD_CCtx_setPledgedSrcSize;
pub use crate::lib::compress::zstd_compress::ZSTD_CDict;
pub use crate::lib::compress::zstd_compress::ZSTD_CStreamInSize;
pub use crate::lib::compress::zstd_compress::ZSTD_CStreamOutSize;
pub use crate::lib::compress::zstd_compress::ZSTD_EndDirective;
pub use crate::lib::compress::zstd_compress::ZSTD_cParam_getBounds;
pub use crate::lib::compress::zstd_compress::ZSTD_compress;
pub use crate::lib::compress::zstd_compress::ZSTD_compress2;
pub use crate::lib::compress::zstd_compress::ZSTD_compressBlock;
pub use crate::lib::compress::zstd_compress::ZSTD_compressBound;
pub use crate::lib::compress::zstd_compress::ZSTD_compressCCtx;
pub use crate::lib::compress::zstd_compress::ZSTD_compressStream;
pub use crate::lib::compress::zstd_compress::ZSTD_compressStream2;
pub use crate::lib::compress::zstd_compress::ZSTD_compress_usingCDict;
pub use crate::lib::compress::zstd_compress::ZSTD_compress_usingDict;
pub use crate::lib::compress::zstd_compress::ZSTD_copyCCtx;
pub use crate::lib::compress::zstd_compress::ZSTD_createCCtx;
pub use crate::lib::compress::zstd_compress::ZSTD_createCDict;
pub use crate::lib::compress::zstd_compress::ZSTD_createCDict_byReference;
pub use crate::lib::compress::zstd_compress::ZSTD_createCStream;
pub use crate::lib::compress::zstd_compress::ZSTD_endStream;
pub use crate::lib::compress::zstd_compress::ZSTD_flushStream;
pub use crate::lib::compress::zstd_compress::ZSTD_freeCCtx;
pub use crate::lib::compress::zstd_compress::ZSTD_freeCDict;
pub use crate::lib::compress::zstd_compress::ZSTD_getBlockSize;
pub use crate::lib::compress::zstd_compress::ZSTD_getDictID_fromCDict;
pub use crate::lib::compress::zstd_compress::ZSTD_getFrameProgression;
pub use crate::lib::compress::zstd_compress::ZSTD_initCStream;
pub use crate::lib::compress::zstd_compress::ZSTD_initCStream_srcSize;
pub use crate::lib::compress::zstd_compress::ZSTD_initCStream_usingCDict;
pub use crate::lib::compress::zstd_compress::ZSTD_initCStream_usingDict;
pub use crate::lib::compress::zstd_compress::ZSTD_maxCLevel;
pub use crate::lib::compress::zstd_compress::ZSTD_minCLevel;
pub use crate::lib::compress::zstd_compress::ZSTD_sequenceBound;
pub use crate::lib::compress::zstd_compress::ZSTD_sizeof_CCtx;
pub use crate::lib::compress::zstd_compress::ZSTD_sizeof_CDict;
pub use crate::lib::compress::zstd_compress::ZSTD_BLOCKSPLITTER_LEVEL_MAX;
pub use crate::lib::compress::zstd_compress::ZSTD_CHAINLOG_MAX_32;
pub use crate::lib::compress::zstd_compress::ZSTD_CHAINLOG_MAX_64;
pub use crate::lib::compress::zstd_compress::ZSTD_CHAINLOG_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_HASHLOG_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_LDM_BUCKETSIZELOG_MAX;
pub use crate::lib::compress::zstd_compress::ZSTD_LDM_BUCKETSIZELOG_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_LDM_HASHLOG_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_LDM_HASHRATELOG_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_LDM_MINMATCH_MAX;
pub use crate::lib::compress::zstd_compress::ZSTD_LDM_MINMATCH_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_MINMATCH_MAX;
pub use crate::lib::compress::zstd_compress::ZSTD_MINMATCH_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_OVERLAPLOG_MAX;
pub use crate::lib::compress::zstd_compress::ZSTD_OVERLAPLOG_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_SEARCHLOG_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_SRCSIZEHINT_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_TARGETCBLOCKSIZE_MAX;
pub use crate::lib::compress::zstd_compress::ZSTD_TARGETCBLOCKSIZE_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_TARGETLENGTH_MAX;
pub use crate::lib::compress::zstd_compress::ZSTD_TARGETLENGTH_MIN;
pub use crate::lib::compress::zstd_compress::ZSTD_WINDOWLOG_MIN;

Modules§

internal
lib

Functions§

ZDICT_optimizeTrainFromBuffer_cover
This function tries many parameter combinations (specifically, k and d combinations) and picks the best parameters.
ZDICT_optimizeTrainFromBuffer_fastCover
This function tries many parameter combinations (specifically, k and d combinations) and picks the best parameters.
ZDICT_trainFromBuffer_cover
Train a dictionary from an array of samples using the COVER algorithm.
ZDICT_trainFromBuffer_fastCover
Train a dictionary from an array of samples using a modified version of COVER algorithm.
ZDICT_trainFromBuffer_legacy
Train a dictionary from an array of samples.