Libarchive is a reusable C library for reading and writing a variety of streaming archive formats.