[−][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 |
|
compress_bound | |
compress_cctx |
|
compress_stream | |
compress_using_cdict |
|
compress_using_dict |
|
create_cctx | |
create_cdict |
|
create_cstream | |
create_dctx | |
create_ddict |
|
create_dstream | |
cstream_in_size | |
cstream_out_size | |
decompress |
|
decompress_dctx |
|
decompress_stream | |
decompress_using_ddict |
|
decompress_using_dict |
|
dstream_in_size | |
dstream_out_size | |
end_stream | |
flush_stream | |
get_decompressed_size |
|
get_error_name | |
get_frame_content_size |
|
init_cstream | |
init_dstream | |
max_clevel | |
train_from_buffer |
|
version_number |
Type Definitions
CStream | |
DStream |