Streaming I/O for stdio, memory blocks and files in zip archives. Supports memory mapping where available, and transparent gzip decompression.
module | gzip | open | read | write | seek | eof | tell | mmap | munmap | close | |
---|---|---|---|---|---|---|---|---|---|---|---|
mem | R | no | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ |
R | yes | ☑️ | ☑️ | ⛔ | ☑️³ | ☑️ | ☑️ | ☑️² | ☑️² | ☑️ | |
W | no | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | |
W | yes | ☑️ | ⛔ | ☑️ | ☑️¹ | ⛔ | ☑️ | ⛔ | ⛔ | ☑️ | |
RW | no | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | |
RW | yes | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | |
file | R | no | ☑️ | ☑️ | ⛔ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ |
R | yes | ☑️ | ☑️ | ⛔ | ☑️³ | ☑️ | ☑️ | ☑️² | ☑️² | ☑️ | |
W | no | ☑️ | ⛔ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | |
W | yes | ☑️ | ⛔ | ☑️ | ☑️¹ | ⛔ | ☑️ | ⛔ | ⛔ | ☑️ | |
RW | no | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | |
RW | yes | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | |
zip_file | R | no | ☑️ | ☑️ | ⛔ | ☑️⁴ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ |
R | yes | ☑️ | ☑️ | ⛔ | ☑️³ʼ⁴ | ☑️ | ☑️ | ☑️² | ☑️² | ☑️ | |
W | no | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | |
W | yes | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | |
RW | no | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | |
RW | yes | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ |
git clone https://github.com/vampirefrog/streamlib.git
cd streamlib
Compile the library:
make HAVE_LIBZIP=1 HAVE_GZIP=1