/tarlib

A _passive_, _non blocking_, _in memory_, tar inflate library for C++.

Primary LanguageC++Apache License 2.0Apache-2.0

tarlib

( near neighbor of zlib, libbzip2 and ziplib )

A passive, non blocking, in memory tar inflate library. Inspired by zlib. Big brother to ziplib.

Building:

Contained in the project is a CMake project for building the library as well as a test program. I would recommend ninja for building. Following my command line:

mkdir build
cd build
cmake –GNinja ..
ninja

Usage:

tarlib works very similar to zlib. This means it is your duty to put data into a tar_stream and invoke tar_inflate until all input data was processed. As a direct result you can use tarlib for streaming and do not need a file.

For usage see test/test.cpp.

Limitations:

Since I currently have no need to create tars, tarlib only extracts tars. Also you will need a C++ compiler to compile and a C++ stdlib for running tarlib. The C-style interface is mainly to resemble zlib.

License:

Apache License (see LICENSE file)

Plan:

Currently tarlib is for testing the interface and see what needs to be ironed out. If anyone wants to extend tarlib, pull requests are very welcome.