[][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
FrameFormat

Constants

CLEVEL_DEFAULT

Default compression level.

CONTENTSIZE_ERROR
CONTENTSIZE_UNKNOWN
VERSION_MAJOR
VERSION_MINOR
VERSION_NUMBER
VERSION_RELEASE

Functions

compress

ZSTD_compress

compress_bound
compress_cctx

ZSTD_compressCCtx()

compress_stream
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
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
flush_stream
get_decompressed_size

ZSTD_getDecompressedSize()

get_error_name
get_frame_content_size

ZSTD_getFrameContentSize()

init_cstream
init_dstream
max_clevel
train_from_buffer

ZDICT_trainFromBuffer()

version_number

Type Definitions

CStream
DStream