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 | ☑️ | ☑️ | ⛔ | ☑️1 | ☑️ | ☑️ | ☑️2 | ☑️2 | ☑️ | |
W | no | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | |
W | yes | ☑️ | ⛔ | ☑️ | ☑️3 | ⛔ | ☑️ | ⛔ | ⛔ | ☑️ | |
RW | no | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | |
RW | yes | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | |
file | R | no | ☑️ | ☑️ | ⛔ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ |
R | yes | ☑️ | ☑️ | ⛔ | ☑️1 | ☑️ | ☑️ | ☑️2 | ☑️2 | ☑️ | |
W | no | ☑️ | ⛔ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | |
W | yes | ☑️ | ⛔ | ☑️ | ☑️3 | ⛔ | ☑️ | ⛔ | ⛔ | ☑️ | |
RW | no | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ | |
RW | yes | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | |
zip_file | R | no | ☑️ | ☑️ | ⛔ | ☑️4 | ☑️ | ☑️ | ☑️ | ☑️ | ☑️ |
R | yes | ☑️ | ☑️ | ⛔ | ☑️14 | ☑️ | ☑️ | ☑️2 | ☑️2 | ☑️ | |
W | no | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | |
W | yes | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | |
RW | no | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | |
RW | yes | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ | ⛔ |
- Clone the repository:
git clone https://github.com/vampirefrog/streamlib.git cd streamlib
- Install dependencies:
sudo apt install libzip-dev zlib1g-dev
- Compile the library:
make HAVE_LIBZIP=1 HAVE_GZIP=1