File "LiteZip.inc"
Path: /AndroCertif/LiteZip.inc
File size: 14.53 KB
MIME-type: text/plain
Charset: utf-8
' ========================================================================================
' LiteZip/LiteUnzip
' ========================================================================================
' LiteZip.dll and LiteUnzip.dll are two Win32 Dynamic Link libraries. The former has
' functions to create a ZIP archive (ie, compress numerous files into a ZIP file). The
' latter has functions to extract the contents of a ZIP archive.
' This project is largely based upon work by Lucian Wischik, who in turn based his work on
' gzip 1.1.4, zlib, and info-zip which are by by Jean-Loup Gailly and Mark Adler. Lucian's
' code has been reworked to be written in plain C, using only the Win32 API, and packaged
' into 2 DLLs. (Also some improvements to error-checking, some added functionality, and
' code-reduction/stream-lining was accomplished).
' ========================================================================================
' /*
' * LiteZip.h
' *
' * For creating zip files using LITEZIP.DLL.
' *
' * This file is a repackaged form of extracts from the zlib code available
' * at www.gzip.org/zlib, by Jean-Loup Gailly and Mark Adler. The original
' * copyright notice may be found in LiteZip.c. The repackaging was done
' * by Lucian Wischik to simplify and extend its use in Windows/C++. Also
' * encryption and unicode filenames have been added. Code was further
' * revamped and turned into a DLL (which supports both UNICODE and ANSI
' * C strings) by Jeff Glatt.
' */
' // An HZIP identifies a zip archive that is being created
' ========================================================================================
%TZIP_OPTION_GZIP = &H80000000
' // These are the return codes from Zip functions
%ZR_OK = 0 ' // Success
' // The following come from general system stuff (e.g. files not openable)
%ZR_NOFILE = 1 ' // Can't create/open the file
%ZR_NOALLOC = 2 ' // Failed to allocate memory
%ZR_WRITE = 3 ' // A general error writing to the file
%ZR_NOTFOUND = 4 ' // Can't find the specified file in the zip
%ZR_MORE = 5 ' // There's still more data to be unzipped
%ZR_CORRUPT = 6 ' // The zipfile is corrupt or not a zipfile
%ZR_READ = 7 ' // An error reading the file
%ZR_NOTSUPPORTED = 8 ' // The entry is in a format that can't be decompressed by this Unzip add-on
' // The following come from mistakes on the part of the caller
%ZR_ARGS = 9 ' // Bad arguments passed
%ZR_NOTMMAP = 10 ' // Tried to ZipGetMemory, but that only works on mmap zipfiles, which yours wasn't
%ZR_MEMSIZE = 11 ' // The memory-buffer size is too small
%ZR_FAILED = 12 ' // Already failed when you called this function
%ZR_ENDED = 13 ' // The zip creation has already been closed
%ZR_MISSIZE = 14 ' // The source file size turned out mistaken
%ZR_ZMODE = 15 ' // Tried to mix creating/opening a zip
' // The following come from bugs within the zip library itself
%ZR_SEEK = 16 ' // trying to seek in an unseekable file
%ZR_NOCHANGE = 17 ' // changed its mind on storage, but not allowed
%ZR_FLATE = 18 ' // An error in the de/inflation code
%ZR_PASSWORD = 19 ' // Password is incorrect
' ========================================================================================
' DWORD WINAPI ZipCreateFileA(HZIP *zipHandle, const char *fn, const char *password)
' ========================================================================================
DECLARE FUNCTION ZipCreateFile LIB "LITEZIP.DLL" ALIAS "ZipCreateFileA" ( _
BYREF hZip AS DWORD, BYREF szFilename AS ASCIIZ, BYREF szPassword AS ASCIIZ) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipCreateBuffer(HZIP *zipHandle, void *z, DWORD len, const char *password)
' ========================================================================================
DECLARE FUNCTION ZipCreateBuffer LIB "LITEZIP.DLL" ALIAS "ZipCreateBuffer" ( _
BYREF hZip AS DWORD, BYVAL lpBuffer AS DWORD, BYVAL nSize AS DWORD, BYREF szPassword AS ASCIIZ) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipCreateHandle(HZIP *zipHandle, HANDLE h, const char *password)
' ========================================================================================
DECLARE FUNCTION ZipCreateHandle LIB "LITEZIP.DLL" ALIAS "ZipCreateHandle" ( _
BYREF hZip AS DWORD, BYVAL fileHandle AS DWORD, BYREF szPassword AS ASCIIZ) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipAddFileA(HZIP tzip, const char *destname, const char *fn)
' ========================================================================================
DECLARE FUNCTION ZipAddFile LIB "LITEZIP.DLL" ALIAS "ZipAddFileA" ( _
BYVAL hZip AS DWORD, BYREF szZipname AS ASCIIZ, BYREF szFilename AS ASCIIZ) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipAddHandleA(HZIP tzip, const char *destname, HANDLE h)
' ========================================================================================
DECLARE FUNCTION ZipAddHandle LIB "LITEZIP.DLL" ALIAS "ZipAddHandleA" ( _
BYVAL hZip AS DWORD, BYREF szZipname AS ASCIIZ, BYVAL fileHandle AS DWORD) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipAddBufferA(HZIP tzip, const char *destname, const void *src, DWORD len)
' ========================================================================================
DECLARE FUNCTION ZipAddBuffer LIB "LITEZIP.DLL" ALIAS "ZipAddBufferA" ( _
BYVAL hZip AS DWORD, BYREF szZipname AS ASCIIZ, BYVAL lpBuffer AS DWORD, BYVAL nSize AS DWORD) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipAddPipeA(HZIP tzip, const char *destname, HANDLE h, DWORD len)
' ========================================================================================
DECLARE FUNCTION ZipAddPipe LIB "LITEZIP.DLL" ALIAS "ZipAddPipeA" ( _
BYVAL hZip AS DWORD, BYREF szZipname AS ASCIIZ, BYVAL fileHandle AS DWORD, BYVAL nSize AS DWORD) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipAddFolderA(HZIP tzip, const char *destname)
' ========================================================================================
DECLARE FUNCTION ZipAddFolder LIB "LITEZIP.DLL" ALIAS "ZipAddFolderA" ( _
BYVAL hZip AS DWORD, BYREF szZipname AS ASCIIZ) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipGetMemory(HZIP tzip, void **pbuf, DWORD *plen, HANDLE *base)
' ========================================================================================
DECLARE FUNCTION ZipGetMemory LIB "LITEZIP.DLL" ALIAS "ZipGetMemory" ( _
BYVAL hZip AS DWORD, BYREF bufferPtr AS DWORD, BYREF nSize AS DWORD, BYREF freeHandle AS DWORD) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipResetMemory(HZIP tzip)
' ========================================================================================
DECLARE FUNCTION ZipResetMemory LIB "LITEZIP.DLL" ALIAS "ZipResetMemory" (BYVAL hZip AS DWORD) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipClose(HZIP tzip)
' ========================================================================================
DECLARE FUNCTION ZipClose LIB "LITEZIP.DLL" ALIAS "ZipClose" (BYVAL hZip AS DWORD) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipOptions(HZIP tzip, DWORD flags)
' ========================================================================================
DECLARE FUNCTION ZipOptions LIB "LITEZIP.DLL" ALIAS "ZipOptions" ( _
BYVAL hZip AS DWORD, BYVAL flags AS DWORD) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipFormatMessageA(DWORD code, char *buf, DWORD len)
' ========================================================================================
DECLARE FUNCTION ZipFormatMessage LIB "LITEZIP.DLL" ALIAS "ZipFormatMessageA" ( _
BYVAL errornumber AS DWORD, BYREF lpBuffer AS ASCIIZ, BYVAL buffersize AS DWORD) AS DWORD
' ========================================================================================
' DWORD WINAPI ZipAddDirA(HZIP, const char *, DWORD)
' ========================================================================================
DECLARE FUNCTION ZipAddDir LIB "LITEZIP.DLL" ALIAS "ZipAddDirA" ( _
BYVAL hZip AS DWORD, BYREF szDirName AS ASCIIZ, BYVAL dwOffset AS DWORD) AS DWORD
' ========================================================================================
' /*
' * LiteUnzip.h
' *
' * For decompressing the contents of zip archives using LITEUNZIP.DLL.
' *
' * This file is a repackaged form of extracts from the zlib code available
' * at www.gzip.org/zlib, by Jean-Loup Gailly and Mark Adler. The original
' * copyright notice may be found in unzip.cpp. The repackaging was done
' * by Lucian Wischik to simplify and extend its use in Windows/C++. Also
' * encryption and unicode filenames have been added. Code was further
' * revamped and turned into a DLL by Jeff Glatt.
' */
' // An HUNZIP identifies a zip archive that has been opened
' ========================================================================================
TYPE ZIPENTRY
Index AS DWORD ' // index of this entry within the zip archive
Attributes AS DWORD ' // attributes, as in GetFileAttributes.
AccessTime AS FILETIME ' // access filetime
CreateTime AS FILETIME ' // create filetime
ModifyTime AS FILETIME ' // modify filetime
CompressedSize AS LONG ' // sizes of entry, compressed and uncompressed. These
UncompressedSize AS LONG ' // may be -1 if not yet known (e.g. being streamed in)
szName AS ASCIIZ * %MAX_PATH ' // entry name
END TYPE
' ========================================================================================
' DWORD WINAPI UnzipOpenFileA(HUNZIP *tunzip, const char *fn, const char *password)
' ========================================================================================
DECLARE FUNCTION UnzipOpenFile LIB "LITEUNZIP.DLL" ALIAS "UnzipOpenFileA" ( _
BYREF hUnzip AS DWORD, BYREF szFilename AS ASCIIZ, BYREF szPassword AS ASCIIZ) AS DWORD
' ========================================================================================
' DWORD WINAPI UnzipOpenBuffer(HUNZIP *tunzip, void *z, DWORD len, const char *password)
' ========================================================================================
DECLARE FUNCTION UnzipOpenBuffer LIB "LITEUNZIP.DLL" ALIAS "UnzipOpenBuffer" ( _
BYREF hUnzip AS DWORD, BYVAL lpBuffer AS DWORD, BYVAL nSize AS DWORD, BYREF szPassword AS ASCIIZ) AS DWORD
' ========================================================================================
' DWORD WINAPI UnzipOpenHandle(HUNZIP *tunzip, HANDLE h, const char *password)
' ========================================================================================
DECLARE FUNCTION UnzipOpenHandle LIB "LITEUNZIP.DLL" ALIAS "UnzipOpenHandle" ( _
BYREF hUnzip AS DWORD, BYVAL fileHandle AS DWORD, BYREF szPassword AS ASCIIZ) AS DWORD
' ========================================================================================
' DWORD WINAPI UnzipGetItemA(HUNZIP tunzip, ZIPENTRY *ze)
' ========================================================================================
DECLARE FUNCTION UnzipGetItem LIB "LITEUNZIP.DLL" ALIAS "UnzipGetItemA" ( _
BYVAL hUnzip AS DWORD, BYREF ze AS ZIPENTRY) AS DWORD
' ========================================================================================
' DWORD WINAPI UnzipFindItemA(HUNZIP tunzip, ZIPENTRY *ze, BOOL ic)
' ========================================================================================
DECLARE FUNCTION UnzipFindItem LIB "LITEUNZIP.DLL" ALIAS "UnzipFindItemA" ( _
BYVAL hUnzip AS DWORD, BYREF ze AS ZIPENTRY, BYREF ic AS LONG) AS DWORD
' ========================================================================================
' DWORD WINAPI UnzipItemToFileA(HUNZIP tunzip, const char *fn, ZIPENTRY *ze)
' ========================================================================================
DECLARE FUNCTION UnzipItemToFile LIB "LITEUNZIP.DLL" ALIAS "UnzipItemToFileA" ( _
BYVAL hUnzip AS DWORD, BYREF szFilename AS ASCIIZ, BYREF ze AS ZIPENTRY) AS DWORD
' ========================================================================================
' DWORD WINAPI UnzipItemToHandle(HUNZIP tunzip, HANDLE h, ZIPENTRY *ze)
' ========================================================================================
DECLARE FUNCTION UnzipItemToHandle LIB "LITEUNZIP.DLL" ALIAS "UnzipItemToHandle" ( _
BYVAL hUnzip AS DWORD, BYVAL dwHandle AS DWORD, BYREF ze AS ZIPENTRY) AS DWORD
' ========================================================================================
' DWORD WINAPI UnzipItemToBuffer(HUNZIP tunzip, void *z, DWORD len, ZIPENTRY *ze)
' ========================================================================================
DECLARE FUNCTION UnzipItemToBuffer LIB "LITEUNZIP.DLL" ALIAS "UnzipItemToBuffer" ( _
BYVAL hUnzip AS DWORD, BYVAL buffer AS DWORD, BYVAL bufSize AS DWORD, BYREF ze AS ZIPENTRY) AS DWORD
' ========================================================================================
' DWORD WINAPI UnzipSetBaseDirA(HUNZIP tunzip, const char *dir)
' ========================================================================================
DECLARE FUNCTION UnzipSetBaseDir LIB "LITEUNZIP.DLL" ALIAS "UnzipSetBaseDirA" ( _
BYVAL hUnzip AS DWORD, BYREF szDirName AS ASCIIZ) AS DWORD
' ========================================================================================
' DWORD WINAPI UnzipFormatMessageA(DWORD code, char *buf, DWORD len)
' ========================================================================================
DECLARE FUNCTION UnzipFormatMessage LIB "LITEUNZIP.DLL" ALIAS "UnzipFormatMessageA" ( _
BYVAL errornumber AS DWORD, BYREF lpBuffer AS ASCIIZ, BYVAL buffersize AS LONG) AS DWORD
' ========================================================================================
' DWORD WINAPI UnzipClose(HUNZIP tunzip)
' ========================================================================================
DECLARE FUNCTION UnzipClose LIB "LITEUNZIP.DLL" ALIAS "UnzipClose" (BYVAL hUnzip AS DWORD) AS DWORD