124 lines
3.7 KiB
C
124 lines
3.7 KiB
C
#ifndef ZIPDLL_H
|
|
#define ZIPDLL_H
|
|
|
|
#include "ZCallBck.h"
|
|
struct CZipParams {
|
|
|
|
|
|
|
|
HWND m_hwndHandle;
|
|
/* "self" referance of the Delphi form */
|
|
/* This is passed back to us in the callback function
|
|
so we can direct the info to the proper form instance
|
|
- thanks to Dennis Passmore for this idea. */
|
|
void *m_pCaller;
|
|
long int m_liVersion; /* version of DLL we expect to see */
|
|
ZFunctionPtrType m_pfCallbackFunction; /* type def in ZCallBck.PAS */
|
|
BOOL m_bTraceEnabled;
|
|
|
|
/*============== Begin Zip Flag section ============== */
|
|
char *m_pszZipPassword; /* password pointer */
|
|
BOOL m_bSuffix; /* not used yet */
|
|
BOOL m_bEncrypt; /* Encrypt files to be added? */
|
|
|
|
/* include system and hidden files */
|
|
BOOL m_bSystem;
|
|
|
|
/* Include volume label */
|
|
BOOL m_bVolume;
|
|
|
|
/* Include extra file attributes (read-only, unix timestamps, etc) */
|
|
BOOL m_bExtra;
|
|
|
|
/* Do not add directory names to .ZIP archive */
|
|
/* see also: fJunkDir */
|
|
BOOL m_bNoDirEntries;
|
|
|
|
/* Only add files newer a specified date */
|
|
/* See the "Date" array below if you set this to TRUE */
|
|
BOOL m_bDate;
|
|
|
|
/* Give a little more information to the user via message boxes */
|
|
BOOL m_bVerboseEnabled;
|
|
|
|
/* Quiet operation - the DLL won't issue any messages at all. */
|
|
/* Delphi program MUST handle ALL errors via it's callback function. */
|
|
BOOL m_bQuiet;
|
|
|
|
/* Compression level (0 - 9; 9=max, 0=none) */
|
|
/* All of these levels are variations of deflate. */
|
|
/* I strongly recommend you use one of 3 values here:
|
|
0 = no compression, just store file
|
|
3 = "fast" compression
|
|
9 = "best" compression */
|
|
long int m_bLevel;
|
|
|
|
/* Try to compress files that appear to be already compressed
|
|
based on their extension: .zip, .arc, .gif, ... */
|
|
BOOL m_bComprSpecial;
|
|
|
|
/* translate text file end-of-lines */
|
|
BOOL m_bCRLF_LF;
|
|
|
|
/* junk the directory names */
|
|
/* If true, this says not to save dirnames as separate entries,
|
|
in addition to being save with filenames. */
|
|
/* see also: fNoDirEntries */
|
|
BOOL m_bJunkDir;
|
|
|
|
/* Recurse into subdirectories */
|
|
BOOL m_bRecurse;
|
|
|
|
/* Allow appending to a zip file */
|
|
BOOL m_bGrow;
|
|
|
|
/* Convert filenames to DOS 8x3 names - for compatibility
|
|
with PKUNZIP v2.04g, which doesn't understand long filenames */
|
|
BOOL m_bForce;
|
|
|
|
/* Delete orig files that were added or updated in zip file */
|
|
/* This is a variation of Add */
|
|
BOOL m_bMove;
|
|
|
|
/* Delete specified files from zip file */
|
|
BOOL m_bDeleteEntries;
|
|
|
|
/* Update zip -- if true, rezip changed, and add new files in fspec */
|
|
/* This is a variation of Add */
|
|
BOOL m_bUpdate;
|
|
|
|
/* Freshen zip -- if true, rezip all changed files in fspec */
|
|
/* This is a variation of Add */
|
|
BOOL m_bFreshen;
|
|
|
|
/* junk the SFX prefix on the self-extracing .EXE archives */
|
|
BOOL m_bJunkSFX;
|
|
|
|
/* Set zip file time to time of newest file in it */
|
|
BOOL m_bLatestTime;
|
|
|
|
/*============== End Zip Flag section ============== */
|
|
|
|
/* Cutoff Date for Add-by-date; add files newer than this day */
|
|
/* This is only used if the "fDate" option is TRUE */
|
|
/* format = MMDDYY plus a trailing null */
|
|
char m_cDate[8];
|
|
|
|
/* Count of files to add or delete - don't forget to set this! */
|
|
long int m_liFileCount;
|
|
/* ptr to name of zip file */
|
|
char *m_pszArchiveFileName;
|
|
long int m_liSeven; /* pass a 7 here to validate struct size */
|
|
|
|
/* Array of filenames contained in the ZIP archive */
|
|
char* m_pszFileNames[MAX_FILES];
|
|
};
|
|
|
|
/*
|
|
Main call to execute a ZIP add or Delete. This call returns the
|
|
number of files that were sucessfully operated on.
|
|
*/
|
|
typedef DWORD (__stdcall *CZipDllExec)(CZipParams *pParams);
|
|
typedef DWORD (__stdcall *CGetZipDllVersion)();
|
|
|
|
#endif // ZIPDLL_H
|