Files
bluelib/compress/include/blue/compress/compressor.h

30 lines
926 B
C

#ifndef BLUELIB_COMPRESS_COMPRESSOR_H_
#define BLUELIB_COMPRESS_COMPRESSOR_H_
#include <blue/core/misc.h>
#include <blue/core/status.h>
#include <stdbool.h>
struct b_ringbuffer;
struct b_compression_function;
enum b_compression_mode;
typedef struct b_compressor b_compressor;
BLUE_API b_status b_compressor_create(
const struct b_compression_function *func, enum b_compression_mode mode,
struct b_ringbuffer *inbuf, struct b_ringbuffer *outbuf,
b_compressor **out);
BLUE_API b_status b_compressor_destroy(b_compressor *compressor);
BLUE_API b_status b_compressor_get_buffer_size(
const b_compressor *compressor, size_t *inbuf_size, size_t *outbuf_size);
BLUE_API b_status b_compressor_step(b_compressor *compressor);
BLUE_API b_status b_compressor_end(b_compressor *compressor);
BLUE_API b_status b_compressor_reset(b_compressor *compressor);
BLUE_API bool b_compressor_eof(const b_compressor *compressor);
#endif