ra8_err_t epub_entry_pread(epub_book_t *book, const char *path, uint64_t offset, uint8_t *buf, size_t len, size_t *got)
Positioned read of a stored (uncompressed) archive entry – windowed random access in bounded RAM (#23...
ra8_err_t epub_entry_read(epub_entry_reader_t *reader, uint8_t *buf, size_t cap, size_t *got)
Pull the next chunk of a streaming entry into a bounded caller buffer (#231).
epub_entry_reader_layout_t
Fixed-layout constants for epub_entry_reader_t.
@ k_epub_entry_reader_reserved_bytes
Padding bytes after done; rounds the tail to 8-byte alignment.
ra8_err_t epub_entry_close(epub_entry_reader_t *reader)
Tear down a streaming-entry cursor and release its inflate state (#231).
ra8_err_t epub_entry_open(epub_book_t *book, const char *path, epub_entry_reader_t *out_reader, uint64_t *out_size)
Begin a bounded-RAM streaming extraction of one archive entry (#231).
Forward streaming cursor over one ZIP entry – inflate in bounded RAM (#231).
uint64_t consumed
Bytes delivered to the caller so far.
uint8_t done
1 once EOF has been reached / reported.
epub_book_t * book
Owning book (archive + allocator); borrowed.
uint8_t reserved[k_epub_entry_reader_reserved_bytes]
Padding; keep zero.
void * iter
Opaque mz_zip_reader_extract_iter_state*; NULL when closed.
uint64_t total
Entry uncompressed size, bytes.