#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__)) && (!defined(__ANDROID_API__))
#ifndef __USE_FILE_OFFSET64
#define __USE_FILE_OFFSET64
#endif
#ifndef __USE_LARGEFILE64
#define __USE_LARGEFILE64
#endif
#ifndef _LARGEFILE64_SOURCE
#define _LARGEFILE64_SOURCE
#endif
#ifndef _FILE_OFFSET_BIT
#define _FILE_OFFSET_BIT …
#endif
#endif
#if defined(__APPLE__) || defined(__HAIKU__) || defined(MINIZIP_FOPEN_NO_64) || defined(__Fuchsia__) || defined(__ANDROID_API__)
#define FOPEN_FUNC …
#define FTELLO_FUNC …
#define FSEEKO_FUNC …
#else
#define FOPEN_FUNC(filename, mode) …
#define FTELLO_FUNC(stream) …
#define FSEEKO_FUNC(stream, offset, origin) …
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/stat.h>
#ifdef _WIN32
# include <direct.h>
# include <io.h>
#else
# include <unistd.h>
# include <utime.h>
#endif
#include "unzip.h"
#define CASESENSITIVITY …
#define WRITEBUFFERSIZE …
#define MAXFILENAME …
#ifdef _WIN32
#define USEWIN32IOAPI
#include "iowin32.h"
#endif
static void change_file_date(const char *filename, uLong dosdate, tm_unz tmu_date) { … }
static int mymkdir(const char* dirname) { … }
static int makedir(const char *newdir) { … }
static void do_banner(void) { … }
static void do_help(void) { … }
static void Display64BitsSize(ZPOS64_T n, int size_char) { … }
static int do_list(unzFile uf) { … }
static int do_extract_currentfile(unzFile uf, const int* popt_extract_without_path, int* popt_overwrite, const char* password) { … }
static int do_extract(unzFile uf, int opt_extract_without_path, int opt_overwrite, const char* password) { … }
static int do_extract_onefile(unzFile uf, const char* filename, int opt_extract_without_path, int opt_overwrite, const char* password) { … }
int main(int argc, char *argv[]) { … }