30 lines
926 B
C
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
|