#include <sys/types.h>
#include <arpa/inet.h>
+#include "input.h"
+
// Optimize for 64 bits. We might want to replace this for 32-bit machines
// (benchmark later).
typedef uint64_t bitreservoir_t;
static const unsigned BITRESERVOIR_FILL_SIZE = 8 * sizeof(bitreservoir_fill_t);
static const unsigned BYTERESERVOIR_SIZE = 4096;
-// 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 (input_func_t)(void*, uint8_t*, size_t);
-
// A data source for efficient reading of bit-level data.
struct bit_source {
// Short-term bit reservoir; holds up to 64 bits. When it's empty,