ddn.lib.zstd

Low-level D bindings for libzstd — the Zstandard compression library.

Overview:

This module provides comprehensive D bindings to libzstd (version 1.5.x+),

a fast lossless compression algorithm targeting real-time compression scenarios at zlib-level and better compression ratios.

The bindings cover the complete stable public API from zstd.h and

zdict.h, as well as selected experimental functions from the ZSTD_STATIC_LINKING_ONLY section.

Main_Features:

  • Simple one-shot compression and decompression
  • Explicit context API for reusable contexts
  • Streaming compression and decompression
  • Dictionary-based compression (create, reference, and use dictionaries)
  • Advanced parameter control via ZSTD_cParameter and ZSTD_dParameter
  • Frame inspection (content size, window size, dictionary ID)
  • Dictionary training (COVER, FastCover, legacy algorithms)
  • Memory estimation for all context and dictionary types

Quick_Start:

Compressing and decompressing data:

import ddn.lib.zstd;

ubyte[] data = cast(ubyte[])"Hello, Zstandard!";

// Compress
ubyte[1024] dst;
size_t cSize = ZSTD_compress(dst.ptr, dst.length, data.ptr, data.length, 3);

// Decompress
ubyte[1024] orig;
size_t oSize = ZSTD_decompress(orig.ptr, orig.length, dst.ptr, cSize);

See Also

License

BSD-3-Clause
fn isZdictError isZstdError ZDICT_finalizeDictionary ZDICT_getDictHeaderSize ZDICT_getDictID ZDICT_getErrorName ZDICT_isError ZDICT_optimizeTrainFromBuffer_cover ZDICT_optimizeTrainFromBuffer_fastCover ZDICT_trainFromBuffer ZDICT_trainFromBuffer_cover ZDICT_trainFromBuffer_fastCover ZDICT_trainFromBuffer_legacy zdictErrorName ZSTD_adjustCParams ZSTD_CCtx_getParameter ZSTD_CCtx_loadDictionary ZSTD_CCtx_loadDictionary_advanced ZSTD_CCtx_loadDictionary_byReference ZSTD_CCtx_refCDict ZSTD_CCtx_refPrefix ZSTD_CCtx_refPrefix_advanced ZSTD_CCtx_refThreadPool ZSTD_CCtx_reset ZSTD_CCtx_setCParams ZSTD_CCtx_setFParams ZSTD_CCtx_setParameter ZSTD_CCtx_setParametersUsingCCtxParams ZSTD_CCtx_setParams ZSTD_CCtx_setPledgedSrcSize ZSTD_CCtxParams_create ZSTD_CCtxParams_getParameter ZSTD_CCtxParams_getZstdParams ZSTD_CCtxParams_init ZSTD_CCtxParams_init_advanced ZSTD_CCtxParams_registerSequenceProducer ZSTD_CCtxParams_reset ZSTD_CCtxParams_setParameter ZSTD_CCtxParams_setZstdParams ZSTD_checkCParams ZSTD_compress ZSTD_compress2 ZSTD_compress_advanced ZSTD_compress_usingCDict ZSTD_compress_usingCDict_advanced ZSTD_compress_usingDict ZSTD_compressBegin ZSTD_compressBegin_advanced ZSTD_compressBegin_usingCDict ZSTD_compressBegin_usingCDict_advanced ZSTD_compressBegin_usingDict ZSTD_compressBlock ZSTD_compressBound ZSTD_compressCCtx ZSTD_compressContinue ZSTD_compressEnd ZSTD_compressSequences ZSTD_compressSequencesAndLiterals ZSTD_compressStream ZSTD_compressStream2 ZSTD_compressStream2_simpleArgs ZSTD_copyCCtx ZSTD_copyDCtx ZSTD_cParam_getBounds ZSTD_createCCtx ZSTD_createCCtx_advanced ZSTD_createCCtxParams ZSTD_createCDict ZSTD_createCDict_advanced ZSTD_createCDict_advanced2 ZSTD_createCDict_byReference ZSTD_createCStream ZSTD_createCStream_advanced ZSTD_createDCtx ZSTD_createDCtx_advanced ZSTD_createDDict ZSTD_createDDict_advanced ZSTD_createDDict_byReference ZSTD_createDStream ZSTD_createDStream_advanced ZSTD_createThreadPool ZSTD_CStreamInSize ZSTD_CStreamOutSize ZSTD_DCtx_getParameter ZSTD_DCtx_loadDictionary ZSTD_DCtx_loadDictionary_advanced ZSTD_DCtx_loadDictionary_byReference ZSTD_DCtx_refDDict ZSTD_DCtx_refPrefix ZSTD_DCtx_refPrefix_advanced ZSTD_DCtx_reset ZSTD_DCtx_setFormat ZSTD_DCtx_setMaxWindowSize ZSTD_DCtx_setParameter ZSTD_decodingBufferSize_min ZSTD_decompress ZSTD_decompress_usingDDict ZSTD_decompress_usingDict ZSTD_decompressBegin ZSTD_decompressBegin_usingDDict ZSTD_decompressBegin_usingDict ZSTD_decompressBlock ZSTD_decompressBound ZSTD_decompressContinue ZSTD_decompressDCtx ZSTD_decompressionMargin ZSTD_decompressStream ZSTD_decompressStream_simpleArgs ZSTD_defaultCLevel ZSTD_dParam_getBounds ZSTD_DStreamInSize ZSTD_DStreamOutSize ZSTD_endStream ZSTD_estimateCCtxSize ZSTD_estimateCCtxSize_usingCCtxParams ZSTD_estimateCCtxSize_usingCParams ZSTD_estimateCDictSize ZSTD_estimateCDictSize_advanced ZSTD_estimateCStreamSize ZSTD_estimateCStreamSize_usingCCtxParams ZSTD_estimateCStreamSize_usingCParams ZSTD_estimateDCtxSize ZSTD_estimateDDictSize ZSTD_estimateDStreamSize ZSTD_estimateDStreamSize_fromFrame ZSTD_findDecompressedSize ZSTD_findFrameCompressedSize ZSTD_flushStream ZSTD_frameHeaderSize ZSTD_freeCCtx ZSTD_freeCCtxParams ZSTD_freeCDict ZSTD_freeCStream ZSTD_freeDCtx ZSTD_freeDDict ZSTD_freeDStream ZSTD_freeThreadPool ZSTD_generateSequences ZSTD_getBlockSize ZSTD_getCParams ZSTD_getDecompressedSize ZSTD_getDictID_fromCDict ZSTD_getDictID_fromDDict ZSTD_getDictID_fromDict ZSTD_getDictID_fromFrame ZSTD_getErrorCode ZSTD_getErrorName ZSTD_getErrorString ZSTD_getFrameContentSize ZSTD_getFrameHeader ZSTD_getFrameHeader_advanced ZSTD_getFrameProgression ZSTD_getParams ZSTD_initCStream ZSTD_initCStream_advanced ZSTD_initCStream_srcSize ZSTD_initCStream_usingCDict ZSTD_initCStream_usingCDict_advanced ZSTD_initCStream_usingDict ZSTD_initDStream ZSTD_initDStream_usingDDict ZSTD_initDStream_usingDict ZSTD_initStaticCCtx ZSTD_initStaticCDict ZSTD_initStaticCStream ZSTD_initStaticDCtx ZSTD_initStaticDDict ZSTD_initStaticDStream ZSTD_insertBlock ZSTD_isError ZSTD_isFrame ZSTD_isSkippableFrame ZSTD_maxCLevel ZSTD_mergeBlockDelimiters ZSTD_minCLevel ZSTD_nextInputType ZSTD_nextSrcSizeToDecompress ZSTD_readSkippableFrame ZSTD_registerSequenceProducer ZSTD_resetCStream ZSTD_resetDStream ZSTD_sequenceBound ZSTD_sizeof_CCtx ZSTD_sizeof_CDict ZSTD_sizeof_CStream ZSTD_sizeof_DCtx ZSTD_sizeof_DDict ZSTD_sizeof_DStream ZSTD_toFlushNow ZSTD_versionNumber ZSTD_versionString ZSTD_writeSkippableFrame zstdErrorCode zstdErrorName zstdVersion zstdVersionNumber

Types 51

ZSTD_fast = 1
ZSTD_dfast = 2
ZSTD_greedy = 3
ZSTD_lazy = 4
ZSTD_lazy2 = 5
ZSTD_btlazy2 = 6
ZSTD_btopt = 7
ZSTD_btultra = 8
ZSTD_btultra2 = 9
ZSTD_c_compressionLevel = 100
ZSTD_c_windowLog = 101
ZSTD_c_hashLog = 102
ZSTD_c_chainLog = 103
ZSTD_c_searchLog = 104
ZSTD_c_minMatch = 105
ZSTD_c_targetLength = 106
ZSTD_c_strategy = 107
ZSTD_c_targetCBlockSize = 130
ZSTD_c_enableLongDistanceMatching = 160
ZSTD_c_ldmHashLog = 161
ZSTD_c_ldmMinMatch = 162
ZSTD_c_ldmBucketSizeLog = 163
ZSTD_c_ldmHashRateLog = 164
ZSTD_c_contentSizeFlag = 200
ZSTD_c_checksumFlag = 201
ZSTD_c_dictIDFlag = 202
ZSTD_c_nbWorkers = 400
ZSTD_c_jobSize = 401
ZSTD_c_overlapLog = 402
ZSTD_c_rsyncable = 500
ZSTD_c_format = 10
ZSTD_c_forceMaxWindow = 1000
ZSTD_c_forceAttachDict = 1001
ZSTD_c_literalCompressionMode = 1002
ZSTD_c_srcSizeHint = 1004
ZSTD_c_enableDedicatedDictSearch = 1005
ZSTD_c_stableInBuffer = 1006
ZSTD_c_stableOutBuffer = 1007
ZSTD_c_blockDelimiters = 1008
ZSTD_c_validateSequences = 1009
ZSTD_c_blockSplitterLevel = 1017
ZSTD_c_splitAfterSequences = 1010
ZSTD_c_useRowMatchFinder = 1011
ZSTD_c_deterministicRefPrefix = 1012
ZSTD_c_prefetchCDictTables = 1013
ZSTD_c_enableSeqProducerFallback = 1014
ZSTD_c_maxBlockSize = 1015
ZSTD_c_repcodeResolution = 1016
ZSTD_c_searchForExternalRepcodes = 1016
ZSTD_c_experimentalParam1 = 500
ZSTD_c_experimentalParam2 = 10
ZSTD_c_experimentalParam3 = 1000
ZSTD_c_experimentalParam4 = 1001
ZSTD_c_experimentalParam5 = 1002
ZSTD_c_experimentalParam7 = 1004
ZSTD_c_experimentalParam8 = 1005
ZSTD_c_experimentalParam9 = 1006
ZSTD_c_experimentalParam10 = 1007
ZSTD_c_experimentalParam11 = 1008
ZSTD_c_experimentalParam12 = 1009
ZSTD_c_experimentalParam13 = 1010
ZSTD_c_experimentalParam14 = 1011
ZSTD_c_experimentalParam15 = 1012
ZSTD_c_experimentalParam16 = 1013
ZSTD_c_experimentalParam17 = 1014
ZSTD_c_experimentalParam18 = 1015
ZSTD_c_experimentalParam19 = 1016
ZSTD_c_experimentalParam20 = 1017
ZSTD_d_windowLogMax = 100
ZSTD_d_format = 1000
ZSTD_d_stableOutBuffer = 1001
ZSTD_d_forceIgnoreChecksum = 1002
ZSTD_d_refMultipleDDicts = 1003
ZSTD_d_disableHuffmanAssembly = 1004
ZSTD_d_maxBlockSize = 1005
ZSTD_d_experimentalParam1 = 1000
ZSTD_d_experimentalParam2 = 1001
ZSTD_d_experimentalParam3 = 1002
ZSTD_d_experimentalParam4 = 1003
ZSTD_d_experimentalParam5 = 1004
ZSTD_d_experimentalParam6 = 1005
ZSTD_e_continue = 0
ZSTD_e_flush = 1
ZSTD_e_end = 2
ZSTD_reset_session_only = 1
ZSTD_reset_parameters = 2
ZSTD_reset_session_and_parameters = 3
ZSTD_dct_auto = 0
ZSTD_dct_rawContent = 1
ZSTD_dct_fullDict = 2
ZSTD_dlm_byCopy = 0
ZSTD_dlm_byRef = 1
ZSTD_f_zstd1 = 0
ZSTD_f_zstd1_magicless = 1
ZSTD_d_validateChecksum = 0
ZSTD_d_ignoreChecksum = 1
ZSTD_rmd_refSingleDDict = 0
ZSTD_rmd_refMultipleDDicts = 1
ZSTD_dictDefaultAttach = 0
ZSTD_dictForceAttach = 1
ZSTD_dictForceCopy = 2
ZSTD_dictForceLoad = 3
ZSTD_lcm_auto = 0
ZSTD_lcm_huffman = 1
ZSTD_lcm_uncompressed = 2
ZSTD_ps_auto = 0
ZSTD_ps_enable = 1
ZSTD_ps_disable = 2
ZSTD_frame = 0
ZSTD_skippableFrame = 1
ZSTD_sf_noBlockDelimiters = 0
ZSTD_sf_explicitBlockDelimiters = 1
ZSTDnit_frameHeader = 0
ZSTDnit_blockHeader = 1
ZSTDnit_block = 2
ZSTDnit_lastBlock = 3
ZSTDnit_checksum = 4
ZSTDnit_skippableFrame = 5
ZSTD_error_no_error = 0
ZSTD_error_GENERIC = 1
ZSTD_error_prefix_unknown = 10
ZSTD_error_version_unsupported = 12
ZSTD_error_frameParameter_unsupported = 14
ZSTD_error_frameParameter_windowTooLarge = 16
ZSTD_error_corruption_detected = 20
ZSTD_error_checksum_wrong = 22
ZSTD_error_literals_headerWrong = 24
ZSTD_error_dictionary_corrupted = 30
ZSTD_error_dictionary_wrong = 32
ZSTD_error_dictionaryCreation_failed = 34
ZSTD_error_parameter_unsupported = 40
ZSTD_error_parameter_combination_unsupported = 41
ZSTD_error_parameter_outOfBound = 42
ZSTD_error_tableLog_tooLarge = 44
ZSTD_error_maxSymbolValue_tooLarge = 46
ZSTD_error_maxSymbolValue_tooSmall = 48
ZSTD_error_cannotProduce_uncompressedBlock = 49
ZSTD_error_stabilityCondition_notRespected = 50
ZSTD_error_stage_wrong = 60
ZSTD_error_init_missing = 62
ZSTD_error_memory_allocation = 64
ZSTD_error_workSpace_tooSmall = 66
ZSTD_error_dstSize_tooSmall = 70
ZSTD_error_srcSize_wrong = 72
ZSTD_error_dstBuffer_null = 74
ZSTD_error_noForwardProgress_destFull = 80
ZSTD_error_noForwardProgress_inputEmpty = 82
ZSTD_error_frameIndex_tooLarge = 100
ZSTD_error_seekableIO = 102
ZSTD_error_dstBuffer_wrong = 104
ZSTD_error_srcBuffer_wrong = 105
ZSTD_error_sequenceProducer_failed = 106
ZSTD_error_externalSequences_invalid = 107
ZSTD_error_maxCode = 120
Fields
const(void) * src
size_t size
size_t pos
Fields
void * dst
size_t size
size_t pos
Fields
size_t error
int lowerBound
int upperBound
Fields
ulong frameContentSize
ulong windowSize
uint blockSizeMax
int frameType
uint headerSize
uint dictID
uint checksumFlag
uint _reserved1
uint _reserved2
Fields
uint windowLog
uint chainLog
uint hashLog
uint searchLog
uint minMatch
uint targetLength
ZSTD_strategy strategy
Fields
int contentSizeFlag
int checksumFlag
int noDictIDFlag
Fields
uint offset
uint litLength
uint matchLength
uint rep
Fields
ulong ingested
ulong consumed
ulong produced
ulong flushed
uint currentJobID
uint nbActiveWorkers
Fields
int compressionLevel
uint notificationLevel
uint dictID
Fields
uint k
uint d
uint steps
uint nbThreads
double splitPoint
uint shrinkDict
uint shrinkDictMaxRegression
Fields
uint k
uint d
uint f
uint steps
uint nbThreads
double splitPoint
uint accel
uint shrinkDict
uint shrinkDictMaxRegression
Fields
uint selectivityLevel
aliasZSTD_allocFunction = void * function(void * opaque, size_t size)
aliasZSTD_freeFunction = void function(void * opaque, void * address)
Fields
ZSTD_allocFunction customAlloc
void * opaque
aliasZSTD_sequenceProducer_F = size_t function(void * sequenceProducerState, ZSTD_Sequence * outSeqs, size_t outSeqsCapacity, const( void) * src, size_t srcSize, const(void) * dict, size_t dictSize, int compressionLevel, size_t windowSize)

Functions 196

fnconst(char) * ZSTD_versionString()
fnsize_t ZSTD_compress(void * dst, size_t dstCapacity, const(void) * src, size_t srcSize, int compressionLevel)
fnsize_t ZSTD_decompress(void * dst, size_t dstCapacity, const(void) * src, size_t compressedSize)
fnsize_t ZSTD_compressBound(size_t srcSize)
fnulong ZSTD_getFrameContentSize(const(void) * src, size_t srcSize)
fnsize_t ZSTD_findFrameCompressedSize(const(void) * src, size_t srcSize)
fnuint ZSTD_isError(size_t result)
fnZSTD_ErrorCode ZSTD_getErrorCode(size_t functionResult)
fnconst(char) * ZSTD_getErrorName(size_t result)
fnconst(char) * ZSTD_getErrorString(ZSTD_ErrorCode code)
fnsize_t ZSTD_freeCCtx(ZSTD_CCtx cctx)
fnsize_t ZSTD_compressCCtx(ZSTD_CCtx cctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize, int compressionLevel)
fnsize_t ZSTD_freeDCtx(ZSTD_DCtx dctx)
fnsize_t ZSTD_decompressDCtx(ZSTD_DCtx dctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize)
fnsize_t ZSTD_CCtx_setParameter(ZSTD_CCtx cctx, ZSTD_cParameter param, int value)
fnsize_t ZSTD_CCtx_getParameter(const(ZSTD_CCtx) cctx, ZSTD_cParameter param, int * value)
fnsize_t ZSTD_CCtx_setPledgedSrcSize(ZSTD_CCtx cctx, ulong pledgedSrcSize)
fnsize_t ZSTD_compress2(ZSTD_CCtx cctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize)
fnsize_t ZSTD_DCtx_setParameter(ZSTD_DCtx dctx, ZSTD_dParameter param, int value)
fnsize_t ZSTD_DCtx_getParameter(ZSTD_DCtx dctx, ZSTD_dParameter param, int * value)
fnsize_t ZSTD_initCStream(ZSTD_CStream zcs, int compressionLevel)
fnsize_t ZSTD_compress_usingDict(ZSTD_CCtx ctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize, const( void) * dict, size_t dictSize, int compressionLevel)
fnsize_t ZSTD_decompress_usingDict(ZSTD_DCtx dctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize, const( void) * dict, size_t dictSize)
fnZSTD_CDict ZSTD_createCDict(const(void) * dictBuffer, size_t dictSize, int compressionLevel)
fnsize_t ZSTD_freeCDict(ZSTD_CDict cdict)
fnsize_t ZSTD_compress_usingCDict(ZSTD_CCtx cctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize, ZSTD_CDict cdict)
fnZSTD_DDict ZSTD_createDDict(const(void) * dictBuffer, size_t dictSize)
fnsize_t ZSTD_freeDDict(ZSTD_DDict ddict)
fnsize_t ZSTD_decompress_usingDDict(ZSTD_DCtx dctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize, ZSTD_DDict ddict)
fnuint ZSTD_getDictID_fromDict(const(void) * dict, size_t dictSize)
fnuint ZSTD_getDictID_fromFrame(const(void) * src, size_t srcSize)
fnsize_t ZSTD_CCtx_loadDictionary(ZSTD_CCtx cctx, const(void) * dict, size_t dictSize)
fnsize_t ZSTD_CCtx_refPrefix(ZSTD_CCtx cctx, const(void) * prefix, size_t prefixSize)
fnsize_t ZSTD_DCtx_loadDictionary(ZSTD_DCtx dctx, const(void) * dict, size_t dictSize)
fnsize_t ZSTD_DCtx_refPrefix(ZSTD_DCtx dctx, const(void) * prefix, size_t prefixSize)
fnsize_t ZSTD_sizeof_CCtx(const(ZSTD_CCtx) cctx)
fnsize_t ZSTD_sizeof_DCtx(const(ZSTD_DCtx) dctx)
fnsize_t ZSTD_sizeof_CStream(const(ZSTD_CStream) zcs)
fnsize_t ZSTD_sizeof_DStream(const(ZSTD_DStream) zds)
fnsize_t ZSTD_sizeof_CDict(const(ZSTD_CDict) cdict)
fnsize_t ZSTD_sizeof_DDict(const(ZSTD_DDict) ddict)
fnulong ZSTD_findDecompressedSize(const(void) * src, size_t srcSize)
fnulong ZSTD_getDecompressedSize(const(void) * src, size_t srcSize)
fnulong ZSTD_decompressBound(const(void) * src, size_t srcSize)
fnsize_t ZSTD_frameHeaderSize(const(void) * src, size_t srcSize)
fnsize_t ZSTD_getFrameHeader(ZSTD_frameHeader * zfhPtr, const(void) * src, size_t srcSize)
fnsize_t ZSTD_getFrameHeader_advanced(ZSTD_frameHeader * zfhPtr, const(void) * src, size_t srcSize, ZSTD_format_e format)
fnsize_t ZSTD_decompressionMargin(const(void) * src, size_t srcSize)
fnsize_t ZSTD_writeSkippableFrame(void * dst, size_t dstCapacity, const(void) * src, size_t srcSize, uint magicVariant)
fnsize_t ZSTD_readSkippableFrame(void * dst, size_t dstCapacity, uint * magicVariant, const(void) * src, size_t srcSize)
fnuint ZSTD_isSkippableFrame(const(void) * buffer, size_t size)
fnuint ZSTD_isFrame(const(void) * buffer, size_t size)
fnZSTD_compressionParameters ZSTD_getCParams(int compressionLevel, ulong srcSizeHint, size_t dictSize)
fnZSTD_parameters ZSTD_getParams(int compressionLevel, ulong srcSizeHint, size_t dictSize)
fnsize_t ZSTD_CCtxParams_init(ZSTD_CCtx_params cctxParams, int compressionLevel)
fnsize_t ZSTD_CCtxParams_setParameter(ZSTD_CCtx_params cctxParams, ZSTD_cParameter param, int value)
fnsize_t ZSTD_CCtxParams_getParameter(const(ZSTD_CCtx_params) cctxParams, ZSTD_cParameter param, int * value)
fnZSTD_parameters ZSTD_CCtxParams_getZstdParams(ZSTD_CCtx_params cctxParams, int compressionLevel, ulong srcSizeHint, size_t dictSize)
fnsize_t ZSTD_CCtxParams_registerSequenceProducer(ZSTD_CCtx_params params, void * sequenceProducerState, ZSTD_sequenceProducer_F sequenceProducer)
fnsize_t ZSTD_sequenceBound(size_t srcSize)
fnsize_t ZSTD_generateSequences(ZSTD_CCtx cctx, ZSTD_Sequence * outSeqs, size_t outSeqsCapacity, const(void) * src, size_t srcSize)
fnsize_t ZSTD_compressSequences(ZSTD_CCtx cctx, void * dst, size_t dstCapacity, const(ZSTD_Sequence) * inSeqs, size_t inSeqsSize, const( void) * src, size_t srcSize)
fnsize_t ZSTD_compressSequencesAndLiterals(ZSTD_CCtx cctx, void * dst, size_t dstCapacity, const(ZSTD_Sequence) * inSeqs, size_t nbSequences, const( void) * literals, size_t litSize, size_t litBufCapacity, size_t decompressedSize)
fnsize_t ZSTD_mergeBlockDelimiters(ZSTD_Sequence * sequences, size_t seqsSize)
fnsize_t ZSTD_compress_advanced(ZSTD_CCtx cctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize, const( void) * dict, size_t dictSize, ZSTD_parameters params)
fnsize_t ZSTD_compress_usingCDict_advanced(ZSTD_CCtx cctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize, const( ZSTD_CDict) cdict, ZSTD_frameParameters fParams)
fnsize_t ZSTD_compressStream2_simpleArgs(ZSTD_CCtx cctx, void * dst, size_t dstCapacity, size_t * dstPos, const( void) * src, size_t srcSize, size_t * srcPos, ZSTD_EndDirective endOp)
fnsize_t ZSTD_decompressStream_simpleArgs(ZSTD_DCtx dctx, void * dst, size_t dstCapacity, size_t * dstPos, const( void) * src, size_t srcSize, size_t * srcPos)
fnsize_t ZSTD_estimateCCtxSize(int maxCompressionLevel)
fnsize_t ZSTD_estimateCStreamSize(int maxCompressionLevel)
fnsize_t ZSTD_estimateDStreamSize(size_t maxWindowSize)
fnsize_t ZSTD_estimateDStreamSize_fromFrame(const(void) * src, size_t srcSize)
fnsize_t ZSTD_estimateCDictSize(size_t dictSize, int compressionLevel)
fnsize_t ZSTD_estimateCDictSize_advanced(size_t dictSize, ZSTD_compressionParameters cParams, ZSTD_dictLoadMethod_e dictLoadMethod)
fnsize_t ZSTD_estimateDDictSize(size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod)
fnZSTD_CCtx ZSTD_initStaticCCtx(void * workspace, size_t workspaceSize)
fnZSTD_CStream ZSTD_initStaticCStream(void * workspace, size_t workspaceSize)
fnZSTD_DCtx ZSTD_initStaticDCtx(void * workspace, size_t workspaceSize)
fnZSTD_DStream ZSTD_initStaticDStream(void * workspace, size_t workspaceSize)
fnconst(ZSTD_CDict) ZSTD_initStaticCDict(void * workspace, size_t workspaceSize, const(void) * dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType, ZSTD_compressionParameters cParams)
fnconst(ZSTD_DDict) ZSTD_initStaticDDict(void * workspace, size_t workspaceSize, const(void) * dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType)
fnZSTD_CDict ZSTD_createCDict_advanced(const(void) * dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType, ZSTD_compressionParameters cParams, ZSTD_customMem customMem)
fnZSTD_CDict ZSTD_createCDict_advanced2(const(void) * dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType, const( ZSTD_CCtx_params) cctxParams, ZSTD_customMem customMem)
fnZSTD_DDict ZSTD_createDDict_advanced(const(void) * dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType, ZSTD_customMem customMem)
fnZSTD_CDict ZSTD_createCDict_byReference(const(void) * dictBuffer, size_t dictSize, int compressionLevel)
fnZSTD_DDict ZSTD_createDDict_byReference(const(void) * dictBuffer, size_t dictSize)
fnsize_t ZSTD_toFlushNow(ZSTD_CCtx cctx)
fnsize_t ZSTD_CCtx_loadDictionary_byReference(ZSTD_CCtx cctx, const(void) * dict, size_t dictSize)
fnsize_t ZSTD_CCtx_loadDictionary_advanced(ZSTD_CCtx cctx, const(void) * dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType)
fnsize_t ZSTD_CCtx_refPrefix_advanced(ZSTD_CCtx cctx, const(void) * prefix, size_t prefixSize, ZSTD_dictContentType_e dictContentType)
fnsize_t ZSTD_DCtx_loadDictionary_byReference(ZSTD_DCtx dctx, const(void) * dict, size_t dictSize)
fnsize_t ZSTD_DCtx_loadDictionary_advanced(ZSTD_DCtx dctx, const(void) * dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType)
fnsize_t ZSTD_DCtx_refPrefix_advanced(ZSTD_DCtx dctx, const(void) * prefix, size_t prefixSize, ZSTD_dictContentType_e dictContentType)
fnsize_t ZSTD_DCtx_setMaxWindowSize(ZSTD_DCtx dctx, size_t maxWindowSize)
fnsize_t ZSTD_initCStream_srcSize(ZSTD_CStream zcs, int compressionLevel, ulong pledgedSrcSize)
fnsize_t ZSTD_initCStream_usingDict(ZSTD_CStream zcs, const(void) * dict, size_t dictSize, int compressionLevel)
fnsize_t ZSTD_initCStream_advanced(ZSTD_CStream zcs, const(void) * dict, size_t dictSize, ZSTD_parameters params, ulong pledgedSrcSize)
fnsize_t ZSTD_initCStream_usingCDict_advanced(ZSTD_CStream zcs, const(ZSTD_CDict) cdict, ZSTD_frameParameters fParams, ulong pledgedSrcSize)
fnsize_t ZSTD_resetCStream(ZSTD_CStream zcs, ulong pledgedSrcSize)
fnsize_t ZSTD_initDStream_usingDict(ZSTD_DStream zds, const(void) * dict, size_t dictSize)
fnsize_t ZSTD_compressBegin(ZSTD_CCtx cctx, int compressionLevel)
fnsize_t ZSTD_compressBegin_usingDict(ZSTD_CCtx cctx, const(void) * dict, size_t dictSize, int compressionLevel)
fnsize_t ZSTD_copyCCtx(ZSTD_CCtx cctx, const(ZSTD_CCtx) preparedCCtx, ulong pledgedSrcSize)
fnsize_t ZSTD_compressContinue(ZSTD_CCtx cctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize)
fnsize_t ZSTD_compressEnd(ZSTD_CCtx cctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize)
fnsize_t ZSTD_compressBegin_advanced(ZSTD_CCtx cctx, const(void) * dict, size_t dictSize, ZSTD_parameters params, ulong pledgedSrcSize)
fnsize_t ZSTD_compressBegin_usingCDict_advanced(ZSTD_CCtx cctx, const(ZSTD_CDict) cdict, ZSTD_frameParameters fParams, ulong pledgedSrcSize)
fnsize_t ZSTD_decodingBufferSize_min(ulong windowSize, ulong frameContentSize)
fnsize_t ZSTD_decompressBegin_usingDict(ZSTD_DCtx dctx, const(void) * dict, size_t dictSize)
fnsize_t ZSTD_decompressContinue(ZSTD_DCtx dctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize)
fnvoid ZSTD_copyDCtx(ZSTD_DCtx dctx, const(ZSTD_DCtx) preparedDCtx)
fnsize_t ZSTD_getBlockSize(const(ZSTD_CCtx) cctx)
fnsize_t ZSTD_compressBlock(ZSTD_CCtx cctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize)
fnsize_t ZSTD_decompressBlock(ZSTD_DCtx dctx, void * dst, size_t dstCapacity, const(void) * src, size_t srcSize)
fnsize_t ZSTD_insertBlock(ZSTD_DCtx dctx, const(void) * blockStart, size_t blockSize)
fnvoid ZSTD_registerSequenceProducer(ZSTD_CCtx cctx, void * sequenceProducerState, ZSTD_sequenceProducer_F sequenceProducer)
fnsize_t ZDICT_trainFromBuffer(void * dictBuffer, size_t dictBufferCapacity, const(void) * samplesBuffer, const( size_t) * samplesSizes, uint nbSamples, ZDICT_params_t params)
fnsize_t ZDICT_finalizeDictionary(void * dstDictBuffer, size_t maxDictSize, const(void) * dictContent, size_t dictContentSize, const( void) * samplesBuffer, const(size_t) * samplesSizes, uint nbSamples, ZDICT_params_t parameters)
fnuint ZDICT_getDictID(const(void) * dictBuffer, size_t dictSize)
fnsize_t ZDICT_getDictHeaderSize(const(void) * dictBuffer, size_t dictSize)
fnuint ZDICT_isError(size_t errorCode)
fnconst(char) * ZDICT_getErrorName(size_t errorCode)
fnsize_t ZDICT_trainFromBuffer_cover(void * dictBuffer, size_t dictBufferCapacity, const(void) * samplesBuffer, const( size_t) * samplesSizes, uint nbSamples, ZDICT_cover_params_t parameters)
fnsize_t ZDICT_optimizeTrainFromBuffer_cover(void * dictBuffer, size_t dictBufferCapacity, const(void) * samplesBuffer, const( size_t) * samplesSizes, uint nbSamples, ZDICT_cover_params_t * parameters)
fnsize_t ZDICT_trainFromBuffer_fastCover(void * dictBuffer, size_t dictBufferCapacity, const( void) * samplesBuffer, const(size_t) * samplesSizes, uint nbSamples, ZDICT_fastCover_params_t parameters)
fnsize_t ZDICT_optimizeTrainFromBuffer_fastCover(void * dictBuffer, size_t dictBufferCapacity, const( void) * samplesBuffer, const(size_t) * samplesSizes, uint nbSamples, ZDICT_fastCover_params_t * parameters)
fnsize_t ZDICT_trainFromBuffer_legacy(void * dictBuffer, size_t dictBufferCapacity, const(void) * samplesBuffer, const( size_t) * samplesSizes, uint nbSamples, ZDICT_legacy_params_t parameters)
fnbool isZstdError(size_t code) @safeReturns true if the given result code represents a ZSTD error.
fnstring zstdErrorName(size_t code) @safeReturns the error name for the given ZSTD result code as a D string.
fnZSTD_ErrorCode zstdErrorCode(size_t code) @safeReturns the error code enum for the given ZSTD result.
fnstring zstdVersion() @safeReturns the ZSTD library version string as a D string (e.g. "1.5.7").
fnuint zstdVersionNumber() @safe @nogc nothrowReturns the ZSTD library version number.
fnbool isZdictError(size_t code) @safeReturns true if the given result code represents a ZDICT error.
fnstring zdictErrorName(size_t code) @safeReturns the error name for the given ZDICT result code as a D string.

Variables 53

enumvarZSTD_VERSION_MAJOR = 1
enumvarZSTD_VERSION_MINOR = 5
enumvarZSTD_VERSION_RELEASE = 7
enumvarZSTD_VERSION_NUMBER = (ZSTD_VERSION_MAJOR * 100 * 100 + ZSTD_VERSION_MINOR * 100 + ZSTD_VERSION_RELEASE)
enumvarZSTD_MAGICNUMBER = 0xFD2FB528
enumvarZSTD_MAGIC_DICTIONARY = 0xEC30A437
enumvarZSTD_MAGIC_SKIPPABLE_START = 0x184D2A50
enumvarZSTD_MAGIC_SKIPPABLE_MASK = 0xFFFFFFF0
enumvarZSTD_BLOCKSIZELOG_MAX = 17
enumvarZSTD_BLOCKSIZE_MAX = (1 << ZSTD_BLOCKSIZELOG_MAX)
enumvarZSTD_BLOCKSIZE_MAX_MIN = (1 << 10)
enumvarZSTD_WINDOWLOG_MIN = 10
enumvarZSTD_WINDOWLOG_LIMIT_DEFAULT = 27
enumvarZSTD_WINDOWLOG_MAX_32 = 30
enumvarZSTD_WINDOWLOG_MAX_64 = 31
enumvarZSTD_WINDOWLOG_MAX = (size_t.sizeof == 4 ? cast(int) ZSTD_WINDOWLOG_MAX_32 : cast(int) ZSTD_WINDOWLOG_MAX_64)
enumvarZSTD_HASHLOG_MIN = 6
enumvarZSTD_HASHLOG_MAX = ((ZSTD_WINDOWLOG_MAX < 30) ? ZSTD_WINDOWLOG_MAX : 30)
enumvarZSTD_CHAINLOG_MIN = ZSTD_HASHLOG_MIN
enumvarZSTD_CHAINLOG_MAX_32 = 29
enumvarZSTD_CHAINLOG_MAX_64 = 30
enumvarZSTD_CHAINLOG_MAX = (size_t.sizeof == 4 ? cast(int) ZSTD_CHAINLOG_MAX_32 : cast(int) ZSTD_CHAINLOG_MAX_64)
enumvarZSTD_SEARCHLOG_MIN = 1
enumvarZSTD_SEARCHLOG_MAX = (ZSTD_WINDOWLOG_MAX - 1)
enumvarZSTD_MINMATCH_MIN = 3
enumvarZSTD_MINMATCH_MAX = 7
enumvarZSTD_TARGETLENGTH_MIN = 0
enumvarZSTD_TARGETLENGTH_MAX = ZSTD_BLOCKSIZE_MAX
enumvarZSTD_OVERLAPLOG_MIN = 0
enumvarZSTD_OVERLAPLOG_MAX = 9
enumvarZSTD_LDM_HASHLOG_MIN = ZSTD_HASHLOG_MIN
enumvarZSTD_LDM_HASHLOG_MAX = ZSTD_HASHLOG_MAX
enumvarZSTD_LDM_MINMATCH_MIN = 4
enumvarZSTD_LDM_MINMATCH_MAX = 4096
enumvarZSTD_LDM_BUCKETSIZELOG_MIN = 1
enumvarZSTD_LDM_BUCKETSIZELOG_MAX = 8
enumvarZSTD_LDM_HASHRATELOG_MIN = 0
enumvarZSTD_LDM_HASHRATELOG_MAX = (ZSTD_WINDOWLOG_MAX - ZSTD_HASHLOG_MIN)
enumvarZSTD_TARGETCBLOCKSIZE_MIN = 1340
enumvarZSTD_TARGETCBLOCKSIZE_MAX = ZSTD_BLOCKSIZE_MAX
enumvarZSTD_SRCSIZEHINT_MIN = 0
enumvarZSTD_SRCSIZEHINT_MAX = int32_t.max
enumvarZSTD_BLOCKSPLITTER_LEVEL_MAX = 6
enumvarZSTD_FRAMEHEADERSIZE_MAX = 18
enumvarZSTD_SKIPPABLEHEADERSIZE = 8
enumvarZSTD_DICTSIZE_MIN = 256
enumvarZSTD_MAX_INPUT_SIZE = (size_t.sizeof == 8) ? 0xFF00FF00FF00FF00UL : 0xFF00FF00U
varulong ZSTD_CONTENTSIZE_UNKNOWN = ulong.max
varulong ZSTD_CONTENTSIZE_ERROR = ulong.max - 1
enumvarZSTD_CLEVEL_DEFAULT = 3
varsize_t ZSTD_SEQUENCE_PRODUCER_ERROR = (cast(size_t)(- 1))
enumvarZSTD_MULTITHREAD = 1
enumvarZSTD_defaultCMem = ZSTD_customMem(null, null, null)