#ifndef DOWNLOAD_UNPACK_H #define DOWNLOAD_UNPACK_H // Function to create directories if they do not exist void make_directories(const char *path); // Function to download a single file void download_file(const char *url, const char *output_dir, int line); // Function to unpack a file void unpack_file(const char *file_path, const char *output_dir, int line); // Function to process a single file (download and unpack) void process_file(const char *url, const char *download_dir, const char *unpack_dir, int line); // Function to process multiple files in parallel void process_files_in_parallel(const char **urls, int url_count, const char *download_dir, const char *unpack_dir); // Test function (used for main) int test_download_unpack(); #endif // DOWNLOAD_UNPACK_H