bmz.h
Go to the documentation of this file.00001
00020 #ifndef HYPERTABLE_BMZ_H
00021 #define HYPERTABLE_BMZ_H
00022
00023 #include "Common/compat-c.h"
00024
00025 #define BMZ_VER_NUM 0x0110
00026 #define BMZ_VER_MAJOR (BMZ_VER_NUM >> 12)
00027 #define BMZ_VER_MINOR ((BMZ_VER_NUM >> 8) & 0xf)
00028 #define BMZ_VER_RELEASE ((BMZ_VER_NUM >> 4) & 0xf)
00029 #define BMZ_VER_PATCH (BMZ_VER_NUM & 0xf)
00030
00031
00032 #define BMZ_E_OK 0
00033 #define BMZ_E_ERROR (-1)
00034 #define BMZ_E_INPUT_OVERRUN (-4)
00035 #define BMZ_E_OUTPUT_OVERRUN (-5)
00036
00037
00038
00039
00043 HT_EXTERN(int)
00044 bmz_init();
00045
00060 HT_EXTERN(int)
00061 bmz_pack(const void *in, size_t in_len, void *out, size_t *out_len_p,
00062 size_t offset, size_t fp_len, unsigned flags, void *work_mem);
00063
00075 HT_EXTERN(int)
00076 bmz_unpack(const void *in, size_t in_len, void *out, size_t *out_len_p,
00077 void *work_mem);
00078
00084 HT_EXTERN(size_t)
00085 bmz_pack_buflen(size_t in_len);
00086
00096 HT_EXTERN(size_t)
00097 bmz_pack_worklen(size_t in_len, size_t fp_len);
00098
00104 HT_EXTERN(size_t)
00105 bmz_unpack_worklen(size_t out_len);
00106
00112 HT_EXTERN(int)
00113 bmz_set_verbosity(int verbosity);
00114
00117 typedef void (*BmzOutProc)(const char *msg, size_t len);
00118
00121 typedef void (*BmzDieProc)(const char *msg) HT_NORETURN;
00122
00128 HT_EXTERN(BmzOutProc)
00129 bmz_set_out_proc(BmzOutProc proc);
00130
00136 HT_EXTERN(BmzDieProc)
00137 bmz_set_die_proc(BmzDieProc proc);
00138
00144 HT_EXTERN(unsigned)
00145 bmz_checksum(const void *in, size_t in_len);
00146
00147 HT_EXTERN(unsigned)
00148 bmz_update_checksum(unsigned s, const void *in, size_t in_len);
00149
00150 #endif
00151
00152