[][src]Crate zstd_safe

Minimal safe wrapper around zstd-sys.

This crates provides a minimal translation of the zstd-sys methods. For a more comfortable high-level library, see the zstd crate.

Introduction

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 compression levels from 1 up to ZSTD_maxCLevel() which is 22. Levels >= 20, labeled --ultra, should be used with caution, as they require more memory.

Compression can be done in:

  • a single step (described as Simple API)
  • a single step, reusing a context (described as Explicit memory management)
  • unbounded multiple steps (described as Streaming compression)

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

  • a single step (described as Simple dictionary API)
  • a single step, reusing a dictionary (described as Fast dictionary API)

Advanced experimental functions can be accessed using #define ZSTD_STATIC_LINKING_ONLY before including zstd.h. These APIs shall never be used with a dynamic library. They are not "stable", their definition may change in the future. Only static linking is allowed.

Structs

CCtx
CDict
DCtx
DDict
InBuffer
OutBuffer

Enums

CParameter
DParameter
FrameFormat
ResetDirective

Reset directive.

Strategy

How to compress data.

Constants

BLOCKSIZELOG_MAX
BLOCKSIZE_MAX
CLEVEL_DEFAULT

Default compression level.

CONTENTSIZE_ERROR
CONTENTSIZE_UNKNOWN
MAGICNUMBER
MAGIC_DICTIONARY
MAGIC_SKIPPABLE_START
VERSION_MAJOR
VERSION_MINOR
VERSION_NUMBER
VERSION_RELEASE

Functions

cctx_load_dictionary

ZSTD_CCtx_loadDictionary()

cctx_ref_cdict

ZSTD_CCtx_refCDict()

cctx_ref_prefix

ZSTD_CCtx_refPrefix()

cctx_reset

ZSTD_CCtx_reset()

cctx_set_parameter

Set one compression parameter, selected by enum ZSTD_cParameter.

cctx_set_pledged_src_size

ZSTD_CCtx_setPledgedSrcSize()

compress

ZSTD_compress

compress2

ZSTD_compress2()

compress_bound

maximum compressed size in worst case single-pass scenario

compress_cctx

ZSTD_compressCCtx()

compress_stream
compress_stream2

ZSTD_compressStream2()

compress_using_cdict

ZSTD_compress_usingCDict()

compress_using_dict

ZSTD_compress_usingDict()

create_cctx
create_cdict

ZSTD_createCDict()

create_cstream
create_dctx
create_ddict

ZSTD_createDDict()

create_dstream
cstream_in_size
cstream_out_size
dctx_load_dictionary

ZSTD_DCtx_loadDictionary()

dctx_ref_ddict

ZSTD_DCtx_refDDict()

dctx_ref_prefix

ZSTD_DCtx_refPrefix()

dctx_reset

ZSTD_DCtx_reset()

dctx_set_parameter

ZSTD_DCtx_setParameter()

decompress

ZSTD_decompress

decompress_dctx

ZSTD_decompressDCtx()

decompress_stream
decompress_using_ddict

ZSTD_decompress_usingDDict()

decompress_using_dict

ZSTD_decompress_usingDict()

dstream_in_size
dstream_out_size
end_stream
find_frame_compressed_size

ZSTD_findFrameCompressedSize()

flush_stream
get_decompressed_size

ZSTD_getDecompressedSize()

get_dict_id
get_dict_id_from_ddict

ZSTD_getDictID_fromDDict()

get_dict_id_from_dict

ZSTD_getDictID_fromDict()

get_dict_id_from_frame

ZSTD_getDictID_fromFrame()

get_error_name
get_frame_content_size

ZSTD_getFrameContentSize()

init_cstream
init_dstream
max_c_level
max_clevel
min_c_level
sizeof_cctx

ZSTD_sizeofCCtx()

sizeof_cdict

ZSTD_sizeof_CDict()

sizeof_cstream
sizeof_dctx

ZSTD_sizeof_DCtx()

sizeof_ddict

ZSTD_sizeof_DDict()

sizeof_dstream
train_from_buffer

ZDICT_trainFromBuffer()

version_number
version_string

Type Definitions

CStream
DStream