struct zxc_dstream_s zxc_dstream
Opaque push-model decompression stream (see zxc_dstream_create).
size_t zxc_dstream_out_size(const zxc_dstream *ds)
Suggested output chunk size for the decompressor.
void zxc_cstream_free(zxc_cstream *cs)
Releases a compression stream and all internal buffers.
struct zxc_cstream_s zxc_cstream
Opaque push-model compression stream (see zxc_cstream_create).
size_t zxc_dstream_in_size(const zxc_dstream *ds)
Suggested input chunk size for the decompressor.
size_t zxc_cstream_out_size(const zxc_cstream *cs)
Suggested output chunk size that never triggers a partial drain.
int64_t zxc_dstream_decompress(zxc_dstream *ds, zxc_outbuf_t *out, zxc_inbuf_t *in)
Pushes compressed input and drains decompressed output.
size_t zxc_cstream_in_size(const zxc_cstream *cs)
Suggested input chunk size for best throughput.
void zxc_dstream_free(zxc_dstream *ds)
Releases a decompression stream.
zxc_dstream * zxc_dstream_create(const zxc_decompress_opts_t *opts)
Creates a push decompression stream.
zxc_cstream * zxc_cstream_create(const zxc_compress_opts_t *opts)
Creates a push compression stream.
int64_t zxc_cstream_compress(zxc_cstream *cs, zxc_outbuf_t *out, zxc_inbuf_t *in)
Pushes input bytes into the stream and drains compressed output.
int64_t zxc_cstream_end(zxc_cstream *cs, zxc_outbuf_t *out)
Finalises the stream: flushes pending data, writes EOF block + footer.
int zxc_dstream_finished(const zxc_dstream *ds)
Reports whether the decoder has fully consumed a valid stream.
Options for decompression.
Input buffer descriptor for push streaming.
size_t size
Total bytes available in src.
size_t pos
Bytes already consumed by the library (in/out).
const void * src
Caller-owned input bytes.
Output buffer descriptor for push streaming.
size_t size
Total capacity available at dst.
void * dst
Caller-owned output region.
size_t pos
Bytes already produced by the library (in/out).
Platform-specific symbol visibility macros.
Shared option structures for the ZXC compression APIs.