#include <stdint.h>
#include <sys/types.h>
-static const unsigned BYTESOURCE_CHUNK_SIZE = 4096;
+#include "input.h"
-// Same as input_func_t, although it expects raw bytes, ie. with markers
-// and all.
-typedef ssize_t (raw_input_func_t)(void*, uint8_t*, size_t);
+static const unsigned BYTESOURCE_CHUNK_SIZE = 4096;
// A data source taking in a byte stream and returning unstuffed bytes until
// there's a marker. When there's a marker, it artificially returns EOF until
void* userdata;
};
void init_byte_source(struct byte_source* source, raw_input_func_t* input_func, void* userdata);
+
+// Returns 0x00 if no marker was available (ie. error).
uint8_t byte_source_read_marker(struct byte_source* source);
+
ssize_t byte_source_input_func(void* source, uint8_t* buf, size_t len);
#endif /* !defined(_BYTESOURCE_H) */