A C library for making zip files, focused on multithreading the process.
git clone https://github.com/thechampagne/libmtzip.git
cd libmtzip
cargo build --release
typedef struct mtzip_zip_archive_t mtzip_zip_archive_t;
mtzip_zip_archive_t mtzip_zip_archive_default(void);
int mtzip_zip_archive_add_file(mtzip_zip_archive_t* zip_archive, const char* fs_path, const char* archive_name);
int mtzip_zip_archive_add_file_from_bytes(mtzip_zip_archive_t* zip_archive, uint8_t* data, size_t data_len, const char* archive_name);
int mtzip_zip_archive_add_directory(mtzip_zip_archive_t* zip_archive, const char* archive_name);
int mtzip_zip_archive_compress(mtzip_zip_archive_t* zip_archive, size_t threads);
int mtzip_zip_archive_compress_autothread(mtzip_zip_archive_t* zip_archive);
int mtzip_zip_archive_write(mtzip_zip_archive_t* zip_archive, const char* file_name, size_t threads);
int mtzip_zip_archive_write_autothread(mtzip_zip_archive_t* zip_archive, const char* file_name);
void mtzip_zip_archive_clean(mtzip_zip_archive_t* zip_archive);
This repo is released under the MIT.