mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-26 14:28:30 +00:00
Flatten InfoZIP directory and fix build issues
This commit is contained in:
parent
ae638c0850
commit
87396f43bc
66 changed files with 869 additions and 5763 deletions
155
third_party/zip/api.h
vendored
Normal file
155
third_party/zip/api.h
vendored
Normal file
|
@ -0,0 +1,155 @@
|
|||
#ifndef _ZIPAPI_H
|
||||
#define _ZIPAPI_H
|
||||
#include "third_party/zip/zip.h"
|
||||
/* clang-format off */
|
||||
|
||||
#define MAXPATH 1024
|
||||
|
||||
#if defined(WINDLL) || defined(API)
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
Prototypes for public Zip API (DLL) functions.
|
||||
---------------------------------------------------------------------------*/
|
||||
|
||||
#define ZPVER_LEN sizeof(ZpVer)
|
||||
/* These defines are set to zero for now, until OS/2 comes out
|
||||
with a dll.
|
||||
*/
|
||||
#define D2_MAJORVER 0
|
||||
#define D2_MINORVER 0
|
||||
#define D2_PATCHLEVEL 0
|
||||
|
||||
/* intended to be a private struct: */
|
||||
typedef struct _zip_ver {
|
||||
uch major; /* e.g., integer 5 */
|
||||
uch minor; /* e.g., 2 */
|
||||
uch patchlevel; /* e.g., 0 */
|
||||
uch not_used;
|
||||
} _zip_version_type;
|
||||
|
||||
typedef struct _ZpVer {
|
||||
ulg structlen; /* length of the struct being passed */
|
||||
ulg flag; /* bit 0: is_beta bit 1: uses_zlib */
|
||||
char betalevel[10]; /* e.g., "g BETA" or "" */
|
||||
char date[20]; /* e.g., "4 Sep 95" (beta) or "4 September 1995" */
|
||||
char zlib_version[10]; /* e.g., "0.95" or NULL */
|
||||
BOOL fEncryption; /* TRUE if encryption enabled, FALSE otherwise */
|
||||
_zip_version_type zip;
|
||||
_zip_version_type os2dll;
|
||||
_zip_version_type windll;
|
||||
} ZpVer;
|
||||
|
||||
# ifndef EXPENTRY
|
||||
# define EXPENTRY WINAPI
|
||||
# endif
|
||||
|
||||
#ifndef DEFINED_ONCE
|
||||
#define DEFINED_ONCE
|
||||
typedef int (WINAPI DLLPRNT) (LPSTR, unsigned long);
|
||||
typedef int (WINAPI DLLPASSWORD) (LPSTR, int, LPCSTR, LPCSTR);
|
||||
#endif
|
||||
#ifdef ZIP64_SUPPORT
|
||||
typedef int (WINAPI DLLSERVICE) (LPCSTR, unsigned __int64);
|
||||
typedef int (WINAPI DLLSERVICE_NO_INT64) (LPCSTR, unsigned long, unsigned long);
|
||||
#else
|
||||
typedef int (WINAPI DLLSERVICE) (LPCSTR, unsigned long);
|
||||
#endif
|
||||
typedef int (WINAPI DLLSPLIT) (LPSTR);
|
||||
typedef int (WINAPI DLLCOMMENT)(LPSTR);
|
||||
|
||||
/* Structures */
|
||||
|
||||
typedef struct { /* zip options */
|
||||
LPSTR Date; /* Date to include after */
|
||||
LPSTR szRootDir; /* Directory to use as base for zipping */
|
||||
LPSTR szTempDir; /* Temporary directory used during zipping */
|
||||
BOOL fTemp; /* Use temporary directory '-b' during zipping */
|
||||
BOOL fSuffix; /* include suffixes (not implemented) */
|
||||
BOOL fEncrypt; /* encrypt files */
|
||||
BOOL fSystem; /* include system and hidden files */
|
||||
BOOL fVolume; /* Include volume label */
|
||||
BOOL fExtra; /* Exclude extra attributes */
|
||||
BOOL fNoDirEntries; /* Do not add directory entries */
|
||||
BOOL fExcludeDate; /* Exclude files newer than specified date */
|
||||
BOOL fIncludeDate; /* Include only files newer than specified date */
|
||||
BOOL fVerbose; /* Mention oddities in zip file structure */
|
||||
BOOL fQuiet; /* Quiet operation */
|
||||
BOOL fCRLF_LF; /* Translate CR/LF to LF */
|
||||
BOOL fLF_CRLF; /* Translate LF to CR/LF */
|
||||
BOOL fJunkDir; /* Junk directory names */
|
||||
BOOL fGrow; /* Allow appending to a zip file */
|
||||
BOOL fForce; /* Make entries using DOS names (k for Katz) */
|
||||
BOOL fMove; /* Delete files added or updated in zip file */
|
||||
BOOL fDeleteEntries; /* Delete files from zip file */
|
||||
BOOL fUpdate; /* Update zip file--overwrite only if newer */
|
||||
BOOL fFreshen; /* Freshen zip file--overwrite only */
|
||||
BOOL fJunkSFX; /* Junk SFX prefix */
|
||||
BOOL fLatestTime; /* Set zip file time to time of latest file in it */
|
||||
BOOL fComment; /* Put comment in zip file */
|
||||
BOOL fOffsets; /* Update archive offsets for SFX files */
|
||||
BOOL fPrivilege; /* Use privileges (WIN32 only) */
|
||||
BOOL fEncryption; /* TRUE if encryption supported, else FALSE.
|
||||
this is a read only flag */
|
||||
LPSTR szSplitSize; /* This string contains the size that you want to
|
||||
split the archive into. i.e. 100 for 100 bytes,
|
||||
2K for 2 k bytes, where K is 1024, m for meg
|
||||
and g for gig. If this string is not NULL it
|
||||
will automatically be assumed that you wish to
|
||||
split an archive. */
|
||||
LPSTR szIncludeList; /* Pointer to include file list string (for VB) */
|
||||
long IncludeListCount; /* Count of file names in the include list array */
|
||||
char **IncludeList; /* Pointer to include file list array. Note that the last
|
||||
entry in the array must be NULL */
|
||||
LPSTR szExcludeList; /* Pointer to exclude file list (for VB) */
|
||||
long ExcludeListCount; /* Count of file names in the include list array */
|
||||
char **ExcludeList; /* Pointer to exclude file list array. Note that the last
|
||||
entry in the array must be NULL */
|
||||
int fRecurse; /* Recurse into subdirectories. 1 => -r, 2 => -R */
|
||||
int fRepair; /* Repair archive. 1 => -F, 2 => -FF */
|
||||
char fLevel; /* Compression level (0 - 9) */
|
||||
} ZPOPT, _far *LPZPOPT;
|
||||
|
||||
typedef struct {
|
||||
int argc; /* Count of files to zip */
|
||||
LPSTR lpszZipFN; /* name of archive to create/update */
|
||||
char **FNV; /* array of file names to zip up */
|
||||
LPSTR lpszAltFNL; /* pointer to a string containing a list of file
|
||||
names to zip up, separated by whitespace. Intended
|
||||
for use only by VB users, all others should set this
|
||||
to NULL. */
|
||||
} ZCL, _far *LPZCL;
|
||||
|
||||
typedef struct {
|
||||
DLLPRNT *print;
|
||||
DLLCOMMENT *comment;
|
||||
DLLPASSWORD *password;
|
||||
DLLSPLIT *split; /* This MUST be set to NULL unless you want to be queried
|
||||
for a destination for each split archive. */
|
||||
#ifdef ZIP64_SUPPORT
|
||||
DLLSERVICE *ServiceApplication64;
|
||||
DLLSERVICE_NO_INT64 *ServiceApplication64_No_Int64;
|
||||
#else
|
||||
DLLSERVICE *ServiceApplication;
|
||||
#endif
|
||||
} ZIPUSERFUNCTIONS, far * LPZIPUSERFUNCTIONS;
|
||||
|
||||
extern LPZIPUSERFUNCTIONS lpZipUserFunctions;
|
||||
|
||||
void EXPENTRY ZpVersion(ZpVer far *);
|
||||
int EXPENTRY ZpInit(LPZIPUSERFUNCTIONS lpZipUserFunc);
|
||||
int EXPENTRY ZpArchive(ZCL C, LPZPOPT Opts);
|
||||
|
||||
#if defined(ZIPLIB) || defined(COM_OBJECT)
|
||||
# define ydays zp_ydays
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* Functions not yet supported */
|
||||
#if 0
|
||||
int EXPENTRY ZpMain (int argc, char **argv);
|
||||
int EXPENTRY ZpAltMain (int argc, char **argv, ZpInit *init);
|
||||
#endif
|
||||
#endif /* WINDLL? || API? */
|
||||
|
||||
#endif /* _ZIPAPI_H */
|
Loading…
Add table
Add a link
Reference in a new issue