#include <stdint.h>
#include <sys/types.h>
+#include "bytesource.h"
#include "input.h"
// About 99% of all Huffman codes are <= 8 bits long (see codelen.txt),
#define DEHUF_TABLE_SIZE (1 << DEHUF_TABLE_BITS)
static const int DEHUF_SLOW_PATH = -1;
-// A function to read bytes from some input source. The bytes should be
-// already unstuffed (and thus without markers).
-// A return value of -1 indicates error, a return value of 0 indicates EOF.
-typedef ssize_t (raw_input_func_t)(void*, uint8_t*, size_t);
-
struct huffman_table {
unsigned num_codes[17]; // BITS
unsigned char codes[256]; // HUFFVAL