123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- #ifndef _unzip_H
- #define _unzip_H
- #ifndef _zip_H
- DECLARE_HANDLE(HZIP);
- #endif
- typedef DWORD ZRESULT;
- typedef struct
- { int index;
- TCHAR name[MAX_PATH];
- DWORD attr;
- FILETIME atime,ctime,mtime;
- long comp_size;
- long unc_size;
- } ZIPENTRY;
- HZIP OpenZip(const TCHAR *fn, const char *password=NULL);
- HZIP OpenZip(void *z, unsigned int len, const char *password=NULL);
- HZIP OpenZipHandle(HANDLE h, const char *password);
- ZRESULT GetZipItem(HZIP hz, int index, ZIPENTRY *ze);
- ZRESULT FindZipItem(HZIP hz, const TCHAR *name, bool ic, int *index, ZIPENTRY *ze);
- ZRESULT UnzipItem(HZIP hz, int index, const TCHAR *fn);
- ZRESULT UnzipItem(HZIP hz, int index, void *z, unsigned int len);
- ZRESULT UnzipItemHandle(HZIP hz, int index, HANDLE h);
- ZRESULT SetUnzipBaseDir(HZIP hz, const TCHAR *dir);
- ZRESULT CloseZip(HZIP hz);
- unsigned int FormatZipMessage(ZRESULT code, TCHAR *buf, unsigned int len);
- #define ZR_OK 0x00000000
- #define ZR_RECENT 0x00000001
- #define ZR_GENMASK 0x0000FF00
- #define ZR_NODUPH 0x00000100
- #define ZR_NOFILE 0x00000200
- #define ZR_NOALLOC 0x00000300
- #define ZR_WRITE 0x00000400
- #define ZR_NOTFOUND 0x00000500
- #define ZR_MORE 0x00000600
- #define ZR_CORRUPT 0x00000700
- #define ZR_READ 0x00000800
- #define ZR_PASSWORD 0x00001000
- #define ZR_CALLERMASK 0x00FF0000
- #define ZR_ARGS 0x00010000
- #define ZR_NOTMMAP 0x00020000
- #define ZR_MEMSIZE 0x00030000
- #define ZR_FAILED 0x00040000
- #define ZR_ENDED 0x00050000
- #define ZR_MISSIZE 0x00060000
- #define ZR_PARTIALUNZ 0x00070000
- #define ZR_ZMODE 0x00080000
- #define ZR_BUGMASK 0xFF000000
- #define ZR_NOTINITED 0x01000000
- #define ZR_SEEK 0x02000000
- #define ZR_NOCHANGE 0x04000000
- #define ZR_FLATE 0x05000000
- ZRESULT CloseZipU(HZIP hz);
- unsigned int FormatZipMessageU(ZRESULT code, TCHAR *buf, unsigned int len);
- bool IsZipHandleU(HZIP hz);
- #ifdef _zip_H
- #undef CloseZip
- #define CloseZip(hz) (IsZipHandleU(hz)?CloseZipU(hz):CloseZipZ(hz))
- #else
- #define CloseZip CloseZipU
- #define FormatZipMessage FormatZipMessageU
- #endif
- #endif
|