17#ifndef SERD_BYTE_SOURCE_H
18#define SERD_BYTE_SOURCE_H
94 const bool was_eof = source->
eof;
110 }
else if (!source->
eof) {
SerdStatus serd_byte_source_open_source(SerdByteSource *source, SerdSource read_func, SerdStreamErrorFunc error_func, void *stream, const uint8_t *name, size_t page_size)
Definition byte_source.c:50
SerdStatus serd_byte_source_close(SerdByteSource *source)
Definition byte_source.c:104
static SERD_PURE_FUNC uint8_t serd_byte_source_peek(SerdByteSource *source)
Definition byte_source.h:74
SerdStatus serd_byte_source_open_string(SerdByteSource *source, const uint8_t *utf8)
Definition byte_source.c:93
SerdStatus serd_byte_source_prepare(SerdByteSource *source)
Definition byte_source.c:80
SerdStatus serd_byte_source_open_file(SerdByteSource *source, FILE *file, bool bulk)
static SerdStatus serd_byte_source_advance(SerdByteSource *source)
Definition byte_source.h:81
SerdStatus serd_byte_source_page(SerdByteSource *source)
Definition byte_source.c:28
static const char * name
Definition pugl.h:1582
int(* SerdStreamErrorFunc)(void *SERD_NONNULL stream)
Definition serd.h:331
size_t(* SerdSource)(void *SERD_NONNULL buf, size_t size, size_t nmemb, void *SERD_NONNULL stream)
Definition serd.h:345
SerdStatus
Return status code.
Definition serd.h:100
@ SERD_FAILURE
Non-fatal failure.
Definition serd.h:102
@ SERD_ERR_UNKNOWN
Unknown error.
Definition serd.h:103
@ SERD_SUCCESS
No error.
Definition serd.h:101
unsigned char uint8_t
Definition mid.cpp:98
Definition byte_source.h:28
unsigned col
Definition byte_source.h:31
const uint8_t * filename
Definition byte_source.h:29
unsigned line
Definition byte_source.h:30
Definition byte_source.h:34
uint8_t * file_buf
Buffer iff reading pages from a file.
Definition byte_source.h:41
size_t read_head
Offset into read_buf.
Definition byte_source.h:43
size_t page_size
Number of bytes to read at a time.
Definition byte_source.h:38
bool prepared
True iff prepared for reading.
Definition byte_source.h:46
const uint8_t * read_buf
Pointer to file_buf or read_byte.
Definition byte_source.h:42
Cursor cur
Cursor for error reporting.
Definition byte_source.h:40
SerdStreamErrorFunc error_func
Error function (e.g. ferror).
Definition byte_source.h:36
void * stream
Stream (e.g. FILE).
Definition byte_source.h:37
bool from_stream
True iff reading from stream.
Definition byte_source.h:45
bool eof
True iff end of file reached.
Definition byte_source.h:47
SerdSource read_func
Read function (e.g. fread).
Definition byte_source.h:35
uint8_t read_byte
1-byte 'buffer' used when not paging
Definition byte_source.h:44
size_t buf_size
Number of bytes in file_buf.
Definition byte_source.h:39
struct zdirent * file
Definition win32.c:1500