2
Copyright (c) 1990-1999 Info-ZIP. All rights reserved.
4
See the accompanying file LICENSE, version 1999-Oct-05 or later
5
(the contents of which are also included in zip.h) for terms of use.
6
If, for some reason, both of these files are missing, the Info-ZIP license
7
also may be found at: ftp://ftp.cdrom.com/pub/infozip/license.html
9
/* Only the Windows DLL is currently supported */
25
#if defined(WINDLL) || defined(API)
27
/* Porting definations between Win 3.1x and Win32 */
37
/*---------------------------------------------------------------------------
38
Prototypes for public Zip API (DLL) functions.
39
---------------------------------------------------------------------------*/
41
#define ZPVER_LEN sizeof(ZpVer)
42
/* These defines are set to zero for now, until OS/2 comes out
47
#define D2_PATCHLEVEL 0
49
/* intended to be a private struct: */
50
typedef struct _zip_ver {
51
uch major; /* e.g., integer 5 */
52
uch minor; /* e.g., 2 */
53
uch patchlevel; /* e.g., 0 */
57
typedef struct _ZpVer {
58
ulg structlen; /* length of the struct being passed */
59
ulg flag; /* bit 0: is_beta bit 1: uses_zlib */
60
char betalevel[10]; /* e.g., "g BETA" or "" */
61
char date[20]; /* e.g., "4 Sep 95" (beta) or "4 September 1995" */
62
char zlib_version[10]; /* e.g., "0.95" or NULL */
63
_zip_version_type zip;
64
_zip_version_type os2dll;
65
_zip_version_type windll;
69
# define EXPENTRY WINAPI
74
typedef int (WINAPI DLLPRNT) (LPSTR, unsigned long);
75
typedef int (WINAPI DLLPASSWORD) (LPSTR, int, LPCSTR, LPCSTR);
76
typedef int (WINAPI DLLSERVICE) (LPCSTR, unsigned long);
78
typedef int (WINAPI DLLCOMMENT)(LPSTR);
82
typedef struct { /* zip options */
83
LPSTR Date; /* Date to include after */
84
LPSTR szRootDir; /* Directory to use as base for zipping */
85
LPSTR szTempDir; /* Temporary directory used during zipping */
86
BOOL fTemp; /* Use temporary directory '-b' during zipping */
87
BOOL fSuffix; /* include suffixes (not implemented) */
88
BOOL fEncrypt; /* encrypt files */
89
BOOL fSystem; /* include system and hidden files */
90
BOOL fVolume; /* Include volume label */
91
BOOL fExtra; /* Exclude extra attributes */
92
BOOL fNoDirEntries; /* Do not add directory entries */
93
BOOL fExcludeDate; /* Exclude files newer than specified date */
94
BOOL fIncludeDate; /* Include only files newer than specified date */
95
BOOL fVerbose; /* Mention oddities in zip file structure */
96
BOOL fQuiet; /* Quiet operation */
97
BOOL fCRLF_LF; /* Translate CR/LF to LF */
98
BOOL fLF_CRLF; /* Translate LF to CR/LF */
99
BOOL fJunkDir; /* Junk directory names */
100
BOOL fGrow; /* Allow appending to a zip file */
101
BOOL fForce; /* Make entries using DOS names (k for Katz) */
102
BOOL fMove; /* Delete files added or updated in zip file */
103
BOOL fDeleteEntries; /* Delete files from zip file */
104
BOOL fUpdate; /* Update zip file--overwrite only if newer */
105
BOOL fFreshen; /* Freshen zip file--overwrite only */
106
BOOL fJunkSFX; /* Junk SFX prefix */
107
BOOL fLatestTime; /* Set zip file time to time of latest file in it */
108
BOOL fComment; /* Put comment in zip file */
109
BOOL fOffsets; /* Update archive offsets for SFX files */
110
BOOL fPrivilege; /* Use privileges (WIN32 only) */
111
BOOL fEncryption; /* TRUE if encryption supported, else FALSE.
112
this is a read only flag */
113
int fRecurse; /* Recurse into subdirectories. 1 => -r, 2 => -R */
114
int fRepair; /* Repair archive. 1 => -F, 2 => -FF */
115
char fLevel; /* Compression level (0 - 9) */
116
} ZPOPT, _far *LPZPOPT;
119
int argc; /* Count of files to zip */
120
LPSTR lpszZipFN; /* name of archive to create/update */
121
char **FNV; /* array of file names to zip up */
127
DLLPASSWORD *password;
128
DLLSERVICE *ServiceApplication;
129
} ZIPUSERFUNCTIONS, far * LPZIPUSERFUNCTIONS;
131
extern LPZIPUSERFUNCTIONS lpZipUserFunctions;
133
void EXPENTRY ZpVersion(ZpVer far *);
134
int EXPENTRY ZpInit(LPZIPUSERFUNCTIONS lpZipUserFunc);
135
BOOL EXPENTRY ZpSetOptions(LPZPOPT Opts);
136
ZPOPT EXPENTRY ZpGetOptions(void);
137
int EXPENTRY ZpArchive(ZCL C);
139
#if defined(ZIPLIB) || defined(COM_OBJECT)
140
# define ydays zp_ydays
145
/* Functions not yet supported */
147
int EXPENTRY ZpMain (int argc, char **argv);
148
int EXPENTRY ZpAltMain (int argc, char **argv, ZpInit *init);
150
#endif /* WINDLL? || API? */
152
#endif /* _ZIPAPI_H */