98#ifndef CASESENSITIVITYDEFAULT_NO
99# if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES)
100# define CASESENSITIVITYDEFAULT_NO
106#define UNZ_BUFSIZE (16384)
109#ifndef UNZ_MAXFILENAMEINZIP
110#define UNZ_MAXFILENAMEINZIP (256)
114# define ALLOC(size) (malloc(size))
117# define TRYFREE(p) { free(p);}
120#define SIZECENTRALDIRITEM (0x2e)
121#define SIZEZIPLOCALHEADER (0x1e)
125 " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll";
192 unsigned long keys[3];
225 if (
ZERROR64(*pzlib_filefunc_def,filestream))
355 char c1=*(fileName1++);
356 char c2=*(fileName2++);
357 if ((c1>=
'a') && (c1<=
'z'))
359 if ((c2>=
'a') && (c2<=
'z'))
362 return ((c2==
'\0') ? 0 : -1);
373#ifdef CASESENSITIVITYDEFAULT_NO
374#define CASESENSITIVITYDEFAULTVALUE 2
376#define CASESENSITIVITYDEFAULTVALUE 1
379#ifndef STRCMPCASENOSENTIVEFUNCTION
380#define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal
393 const char* fileName2,
394 int iCaseSensitivity)
397 if (iCaseSensitivity==0)
400 if (iCaseSensitivity==1)
401 return strcmp(fileName1,fileName2);
406#ifndef BUFREADCOMMENT
407#define BUFREADCOMMENT (0x400)
427 uSizeFile =
ZTELL64(*pzlib_filefunc_def,filestream);
429 if (uMaxBack>uSizeFile)
430 uMaxBack = uSizeFile;
437 while (uBackRead<uMaxBack)
443 uBackRead = uMaxBack;
446 uReadPos = uSizeFile-uBackRead ;
453 if (
ZREAD64(*pzlib_filefunc_def,filestream,
buf,uReadSize)!=uReadSize)
456 for (
i=(
int)uReadSize-3; (
i--)>0;)
457 if (((*(
buf+
i))==0x50) && ((*(
buf+
i+1))==0x4b) &&
458 ((*(
buf+
i+2))==0x05) && ((*(
buf+
i+3))==0x06))
495 uSizeFile =
ZTELL64(*pzlib_filefunc_def,filestream);
497 if (uMaxBack>uSizeFile)
498 uMaxBack = uSizeFile;
505 while (uBackRead<uMaxBack)
511 uBackRead = uMaxBack;
514 uReadPos = uSizeFile-uBackRead ;
521 if (
ZREAD64(*pzlib_filefunc_def,filestream,
buf,uReadSize)!=uReadSize)
524 for (
i=(
int)uReadSize-3; (
i--)>0;)
525 if (((*(
buf+
i))==0x50) && ((*(
buf+
i+1))==0x4b) &&
526 ((*(
buf+
i+2))==0x06) && ((*(
buf+
i+3))==0x07))
571 if (uL != 0x06064b50)
574 return relativeOffset;
588 int is64bitOpenFunction)
597 uLong number_disk_with_CD;
608 us.z_filefunc.zseek32_file =
NULL;
609 us.z_filefunc.ztell32_file =
NULL;
611 if (pzlib_filefunc64_32_def==
NULL)
615 us.z_filefunc = *pzlib_filefunc64_32_def;
616 us.is64bitOpenFunction = is64bitOpenFunction;
671 if ((number_entry_CD!=
us.gi.number_entry) ||
672 (number_disk_with_CD!=0) ||
685 us.gi.size_comment = 0;
714 us.gi.number_entry = uL;
719 number_entry_CD = uL;
721 if ((number_entry_CD!=
us.gi.number_entry) ||
722 (number_disk_with_CD!=0) ||
729 us.size_central_dir = uL;
735 us.offset_central_dir = uL;
742 if ((central_pos<
us.offset_central_dir+
us.size_central_dir) &&
752 us.byte_before_the_zipfile = central_pos -
753 (
us.offset_central_dir+
us.size_central_dir);
754 us.central_pos = central_pos;
755 us.pfile_in_zip_read =
NULL;
772 if (pzlib_filefunc32_def !=
NULL)
786 if (pzlib_filefunc_def !=
NULL)
789 zlib_filefunc64_32_def_fill.
zfile_func64 = *pzlib_filefunc_def;
820 if (
s->pfile_in_zip_read!=
NULL)
862 ptm->
tm_mon = (
int)((((uDate)&0x1E0)/0x20)-1) ;
863 ptm->
tm_year = (
int)(((uDate&0x0FE00)/0x0200)+1980) ;
865 ptm->
tm_hour = (
int) ((ulDosDate &0xF800)/0x800);
866 ptm->
tm_min = (
int) ((ulDosDate&0x7E0)/0x20) ;
867 ptm->
tm_sec = (
int) (2*(ulDosDate&0x1f)) ;
876 *pfile_info_internal,
878 uLong fileNameBufferSize,
880 uLong extraFieldBufferSize,
882 uLong commentBufferSize));
887 *pfile_info_internal,
889 uLong fileNameBufferSize,
891 uLong extraFieldBufferSize,
893 uLong commentBufferSize)
906 if (
ZSEEK64(
s->z_filefunc,
s->filestream,
907 s->pos_in_central_dir+
s->byte_before_the_zipfile,
917 else if (uMagic!=0x02014b50)
976 if (
file_info.size_filename<fileNameBufferSize)
978 *(szFileName+
file_info.size_filename)=
'\0';
982 uSizeRead = fileNameBufferSize;
984 if ((
file_info.size_filename>0) && (fileNameBufferSize>0))
985 if (
ZREAD64(
s->z_filefunc,
s->filestream,szFileName,uSizeRead)!=uSizeRead)
994 if (
file_info.size_file_extra<extraFieldBufferSize)
997 uSizeRead = extraFieldBufferSize;
1007 if ((
file_info.size_file_extra>0) && (extraFieldBufferSize>0))
1008 if (
ZREAD64(
s->z_filefunc,
s->filestream,extraField,(
uLong)uSizeRead)!=uSizeRead)
1044 if (headerId == 0x0001)
1088 if (
file_info.size_file_comment<commentBufferSize)
1091 uSizeRead =
file_info.size_file_comment;
1094 uSizeRead = commentBufferSize;
1104 if ((
file_info.size_file_comment>0) && (commentBufferSize>0))
1107 lSeek+=
file_info.size_file_comment - uSizeRead;
1117 *pfile_info_internal=file_info_internal;
1131 char * szFileName,
uLong fileNameBufferSize,
1132 void *extraField,
uLong extraFieldBufferSize,
1136 szFileName,fileNameBufferSize,
1137 extraField,extraFieldBufferSize,
1143 char * szFileName,
uLong fileNameBufferSize,
1144 void *extraField,
uLong extraFieldBufferSize,
1150 szFileName,fileNameBufferSize,
1151 extraField,extraFieldBufferSize,
1157 pfile_info->
flag = file_info64.
flag;
1160 pfile_info->
crc = file_info64.
crc;
1190 s->pos_in_central_dir=
s->offset_central_dir;
1193 &
s->cur_file_info_internal,
1212 if (!
s->current_file_ok)
1214 if (
s->gi.number_entry != 0xffff)
1215 if (
s->num_file+1==
s->gi.number_entry)
1219 s->cur_file_info.size_file_extra +
s->cur_file_info.size_file_comment ;
1222 &
s->cur_file_info_internal,
1258 if (!
s->current_file_ok)
1262 num_fileSaved =
s->num_file;
1263 pos_in_central_dirSaved =
s->pos_in_central_dir;
1264 cur_file_infoSaved =
s->cur_file_info;
1265 cur_file_info_internalSaved =
s->cur_file_info_internal;
1273 szCurrentFileName,
sizeof(szCurrentFileName)-1,
1278 szFileName,iCaseSensitivity)==0)
1287 s->num_file = num_fileSaved ;
1288 s->pos_in_central_dir = pos_in_central_dirSaved ;
1289 s->cur_file_info = cur_file_infoSaved;
1290 s->cur_file_info_internal = cur_file_info_internalSaved;
1320 if (!
s->current_file_ok)
1358 &
s->cur_file_info_internal,
1370 if (file_pos ==
NULL)
1391 ZPOS64_T * poffset_local_extrafield,
1392 uInt * psize_local_extrafield)
1395 uLong size_filename;
1396 uLong size_extra_field;
1400 *poffset_local_extrafield = 0;
1401 *psize_local_extrafield = 0;
1403 if (
ZSEEK64(
s->z_filefunc,
s->filestream,
s->cur_file_info_internal.offset_curfile +
1412 else if (uMagic!=0x04034b50)
1427 else if ((
err==
UNZ_OK) && (uData!=
s->cur_file_info.compression_method))
1430 if ((
err==
UNZ_OK) && (
s->cur_file_info.compression_method!=0) &&
1432 (
s->cur_file_info.compression_method!=
Z_BZIP2ED) &&
1434 (
s->cur_file_info.compression_method!=
Z_DEFLATED))
1442 else if ((
err==
UNZ_OK) && (uData!=
s->cur_file_info.crc) && ((
uFlags & 8)==0))
1447 else if (uData != 0xFFFFFFFF && (
err==
UNZ_OK) && (uData!=
s->cur_file_info.compressed_size) && ((
uFlags & 8)==0))
1452 else if (uData != 0xFFFFFFFF && (
err==
UNZ_OK) && (uData!=
s->cur_file_info.uncompressed_size) && ((
uFlags & 8)==0))
1457 else if ((
err==
UNZ_OK) && (size_filename!=
s->cur_file_info.size_filename))
1460 *piSizeVar += (
uInt)size_filename;
1464 *poffset_local_extrafield=
s->cur_file_info_internal.offset_curfile +
1466 *psize_local_extrafield = (
uInt)size_extra_field;
1468 *piSizeVar += (
uInt)size_extra_field;
1485 uInt size_local_extrafield;
1496 if (!
s->current_file_ok)
1499 if (
s->pfile_in_zip_read !=
NULL)
1506 if (pfile_in_zip_read_info==
NULL)
1513 pfile_in_zip_read_info->
raw=raw;
1517 TRYFREE(pfile_in_zip_read_info);
1524 *
method = (
int)
s->cur_file_info.compression_method;
1529 switch (
s->cur_file_info.flag & 0x06)
1531 case 6 : *
level = 1;
break;
1532 case 4 : *
level = 2;
break;
1533 case 2 : *
level = 9;
break;
1537 if ((
s->cur_file_info.compression_method!=0) &&
1539 (
s->cur_file_info.compression_method!=
Z_BZIP2ED) &&
1541 (
s->cur_file_info.compression_method!=
Z_DEFLATED))
1545 pfile_in_zip_read_info->
crc32_wait=
s->cur_file_info.crc;
1546 pfile_in_zip_read_info->
crc32=0;
1555 if ((
s->cur_file_info.compression_method==
Z_BZIP2ED) && (!raw))
1558 pfile_in_zip_read_info->bstream.bzalloc = (
void *(*) (
void *,
int,
int))0;
1559 pfile_in_zip_read_info->bstream.bzfree = (
free_func)0;
1560 pfile_in_zip_read_info->bstream.opaque = (
voidpf)0;
1561 pfile_in_zip_read_info->bstream.state = (
voidpf)0;
1569 err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0);
1575 TRYFREE(pfile_in_zip_read_info);
1579 pfile_in_zip_read_info->
raw=1;
1582 else if ((
s->cur_file_info.compression_method==
Z_DEFLATED) && (!raw))
1596 TRYFREE(pfile_in_zip_read_info);
1608 s->cur_file_info.compressed_size ;
1610 s->cur_file_info.uncompressed_size ;
1619 s->pfile_in_zip_read = pfile_in_zip_read_info;
1628 if (
ZSEEK64(
s->z_filefunc,
s->filestream,
1629 s->pfile_in_zip_read->pos_in_zipfile +
1630 s->pfile_in_zip_read->byte_before_the_zipfile,
1636 for (
i = 0;
i<12;
i++)
1639 s->pfile_in_zip_read->pos_in_zipfile+=12;
1672 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1673 if (pfile_in_zip_read_info==
NULL)
1700 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1702 if (pfile_in_zip_read_info==
NULL)
1716 (!(pfile_in_zip_read_info->
raw)))
1722 (pfile_in_zip_read_info->
raw))
1746 uReadThis)!=uReadThis)
1754 for(
i=0;
i<uReadThis;
i++)
1785 for (
i=0;
i<uDoCopy;
i++)
1805 uLong uTotalOutBefore,uTotalOutAfter;
1806 const Bytef *bufBefore;
1809 pfile_in_zip_read_info->bstream.next_in = (
char*)pfile_in_zip_read_info->
stream.
next_in;
1810 pfile_in_zip_read_info->bstream.avail_in = pfile_in_zip_read_info->
stream.
avail_in;
1811 pfile_in_zip_read_info->bstream.total_in_lo32 = pfile_in_zip_read_info->
stream.
total_in;
1812 pfile_in_zip_read_info->bstream.total_in_hi32 = 0;
1813 pfile_in_zip_read_info->bstream.next_out = (
char*)pfile_in_zip_read_info->
stream.
next_out;
1814 pfile_in_zip_read_info->bstream.avail_out = pfile_in_zip_read_info->
stream.
avail_out;
1815 pfile_in_zip_read_info->bstream.total_out_lo32 = pfile_in_zip_read_info->
stream.
total_out;
1816 pfile_in_zip_read_info->bstream.total_out_hi32 = 0;
1818 uTotalOutBefore = pfile_in_zip_read_info->bstream.total_out_lo32;
1819 bufBefore = (
const Bytef *)pfile_in_zip_read_info->bstream.next_out;
1821 err=BZ2_bzDecompress(&pfile_in_zip_read_info->bstream);
1823 uTotalOutAfter = pfile_in_zip_read_info->bstream.total_out_lo32;
1824 uOutThis = uTotalOutAfter-uTotalOutBefore;
1828 pfile_in_zip_read_info->
crc32 =
crc32(pfile_in_zip_read_info->
crc32,bufBefore, (
uInt)(uOutThis));
1830 iRead += (
uInt)(uTotalOutAfter - uTotalOutBefore);
1832 pfile_in_zip_read_info->
stream.
next_in = (
Bytef*)pfile_in_zip_read_info->bstream.next_in;
1833 pfile_in_zip_read_info->
stream.
avail_in = pfile_in_zip_read_info->bstream.avail_in;
1834 pfile_in_zip_read_info->
stream.
total_in = pfile_in_zip_read_info->bstream.total_in_lo32;
1835 pfile_in_zip_read_info->
stream.
next_out = (
Bytef*)pfile_in_zip_read_info->bstream.next_out;
1836 pfile_in_zip_read_info->
stream.
avail_out = pfile_in_zip_read_info->bstream.avail_out;
1837 pfile_in_zip_read_info->
stream.
total_out = pfile_in_zip_read_info->bstream.total_out_lo32;
1839 if (
err==BZ_STREAM_END)
1840 return (iRead==0) ?
UNZ_EOF : iRead;
1847 ZPOS64_T uTotalOutBefore,uTotalOutAfter;
1848 const Bytef *bufBefore;
1868 if (uTotalOutAfter<uTotalOutBefore)
1869 uTotalOutAfter += 1LL << 32;
1870 uOutThis = uTotalOutAfter-uTotalOutBefore;
1874 pfile_in_zip_read_info->
crc32 =
1875 crc32(pfile_in_zip_read_info->
crc32,bufBefore,
1881 iRead += (
uInt)(uTotalOutAfter - uTotalOutBefore);
1906 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1908 if (pfile_in_zip_read_info==
NULL)
1922 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1924 if (pfile_in_zip_read_info==
NULL)
1941 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1943 if (pfile_in_zip_read_info==
NULL)
1976 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1978 if (pfile_in_zip_read_info==
NULL)
1985 return (
int)size_to_read;
1987 if (
len>size_to_read)
1988 read_now = (
uInt)size_to_read;
2004 buf,read_now)!=read_now)
2007 return (
int)read_now;
2023 pfile_in_zip_read_info=
s->pfile_in_zip_read;
2025 if (pfile_in_zip_read_info==
NULL)
2030 (!pfile_in_zip_read_info->
raw))
2032 if (pfile_in_zip_read_info->
crc32 != pfile_in_zip_read_info->
crc32_wait)
2043 BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream);
2048 TRYFREE(pfile_in_zip_read_info);
2050 s->pfile_in_zip_read=
NULL;
2069 uReadThis = uSizeBuf;
2070 if (uReadThis>
s->gi.size_comment)
2071 uReadThis =
s->gi.size_comment;
2085 return (
int)uReadThis;
2096 if (!
s->current_file_ok)
2098 if (
s->gi.number_entry != 0 &&
s->gi.number_entry != 0xffff)
2099 if (
s->num_file==
s->gi.number_entry)
2101 return s->pos_in_central_dir;
2111 return (
uLong)offset64;
2123 s->pos_in_central_dir =
pos;
2124 s->num_file =
s->gi.number_entry;
2126 &
s->cur_file_info_internal,
const z_crc_t FAR *ZEXPORT get_crc_table()
int strcmp(const char *String1, const char *String2)
ACPI_SIZE strlen(const char *String)
while(CdLookupNextInitialFileDirent(IrpContext, Fcb, FileContext))
#define crc32(crc, buf, len)
int inflate(z_streamp strm, int flush)
int inflateEnd(z_streamp strm)
void(* free_func)(voidpf opaque, voidpf address)
voidpf(* alloc_func)(voidpf opaque, uInt items, uInt size)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLint GLint GLint GLint GLint x
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def *p_filefunc64_32, const zlib_filefunc_def *p_filefunc32)
void fill_fopen64_filefunc(zlib_filefunc64_def *pzlib_filefunc_def)
#define ZERROR64(filefunc, filestream)
#define ZLIB_FILEFUNC_MODE_EXISTING
#define ZOPEN64(filefunc, filename, mode)
#define ZLIB_FILEFUNC_SEEK_CUR
#define ZSEEK64(filefunc, filestream, pos, mode)
#define ZLIB_FILEFUNC_SEEK_SET
#define ZREAD64(filefunc, filestream, buf, size)
#define ZCLOSE64(filefunc, filestream)
#define ZTELL64(filefunc, filestream)
#define ZLIB_FILEFUNC_SEEK_END
#define ZLIB_FILEFUNC_MODE_READ
unsigned long long int ZPOS64_T
static const WCHAR szComment[]
static unsigned(__cdecl *hash_bstr)(bstr_t s)
static void init_keys(void)
#define inflateInit2(strm, windowBits)
#define zdecode(pkeys, pcrc_32_tab, c)
ZPOS64_T byte_before_the_zipfile
ZPOS64_T rest_read_uncompressed
ZPOS64_T offset_local_extrafield
ZPOS64_T rest_read_compressed
zlib_filefunc64_32_def z_filefunc
uInt size_local_extrafield
ZPOS64_T pos_local_extrafield
ZPOS64_T pos_in_zip_directory
zlib_filefunc64_32_def z_filefunc
unz_file_info64 cur_file_info
ZPOS64_T pos_in_central_dir
unz_file_info64_internal cur_file_info_internal
file_in_zip64_read_info_s * pfile_in_zip_read
ZPOS64_T offset_central_dir
ZPOS64_T size_central_dir
ZPOS64_T byte_before_the_zipfile
ZPOS64_T uncompressed_size
uLong pos_in_zip_directory
seek_file_func zseek32_file
zlib_filefunc64_def zfile_func64
tell_file_func ztell32_file
int ZEXPORT unzGetLocalExtrafield(unzFile file, voidp buf, unsigned len)
int ZEXPORT unzOpenCurrentFilePassword(unzFile file, const char *password)
int ZEXPORT unzSetOffset(unzFile file, uLong pos)
z_off_t ZEXPORT unztell(unzFile file)
uLong ZEXPORT unzGetOffset(unzFile file)
#define CASESENSITIVITYDEFAULTVALUE
int ZEXPORT unzLocateFile(unzFile file, const char *szFileName, int iCaseSensitivity)
int ZEXPORT unzGetFilePos(unzFile file, unz_file_pos *file_pos)
#define STRCMPCASENOSENTIVEFUNCTION
int ZEXPORT unzStringFileNameCompare(const char *fileName1, const char *fileName2, int iCaseSensitivity)
ZPOS64_T ZEXPORT unztell64(unzFile file)
int unz64local_getByte(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream, int *pi)
unzFile ZEXPORT unzOpen2_64(const void *path, zlib_filefunc64_def *pzlib_filefunc_def)
#define SIZEZIPLOCALHEADER
int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos *file_pos)
void unz64local_DosDateToTmuDate(ZPOS64_T ulDosDate, tm_unz *ptm)
unzFile ZEXPORT unzOpen(const char *path)
ZPOS64_T unz64local_SearchCentralDir(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream)
int ZEXPORT unzGetCurrentFileInfo64(unzFile file, unz_file_info64 *pfile_info, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize)
int ZEXPORT unzGoToFirstFile(unzFile file)
int ZEXPORT unzeof(unzFile file)
ZPOS64_T unz64local_SearchCentralDir64(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream)
int ZEXPORT unzOpenCurrentFile2(unzFile file, int *method, int *level, int raw)
int ZEXPORT unzOpenCurrentFile3(unzFile file, int *method, int *level, int raw, const char *password)
ZPOS64_T ZEXPORT unzGetOffset64(unzFile file)
int ZEXPORT unzOpenCurrentFile(unzFile file)
int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos *file_pos)
int ZEXPORT unzGoToFilePos(unzFile file, unz_file_pos *file_pos)
int ZEXPORT unzReadCurrentFile(unzFile file, voidp buf, unsigned len)
int ZEXPORT unzGetGlobalInfo64(unzFile file, unz_global_info64 *pglobal_info)
int unz64local_CheckCurrentFileCoherencyHeader(unz64_s *s, uInt *piSizeVar, ZPOS64_T *poffset_local_extrafield, uInt *psize_local_extrafield)
int unz64local_getLong64(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX)
unzFile ZEXPORT unzOpen2(const char *path, zlib_filefunc_def *pzlib_filefunc32_def)
int unz64local_getLong(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream, uLong *pX)
#define UNZ_MAXFILENAMEINZIP
int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos)
int ZEXPORT unzGetGlobalInfo(unzFile file, unz_global_info *pglobal_info32)
ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64(unzFile file)
unzFile ZEXPORT unzOpen64(const void *path)
int unz64local_getShort(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream, uLong *pX)
int unz64local_GetCurrentFileInfoInternal(unzFile file, unz_file_info64 *pfile_info, unz_file_info64_internal *pfile_info_internal, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize)
int ZEXPORT unzCloseCurrentFile(unzFile file)
int ZEXPORT unzGetCurrentFileInfo(unzFile file, unz_file_info *pfile_info, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize)
int ZEXPORT unzGoToNextFile(unzFile file)
#define SIZECENTRALDIRITEM
int ZEXPORT unzGetGlobalComment(unzFile file, char *szComment, uLong uSizeBuf)
int strcmpcasenosensitive_internal(const char *fileName1, const char *fileName2)
const char unz_copyright[]
unzFile unzOpenInternal(const void *path, zlib_filefunc64_32_def *pzlib_filefunc64_32_def, int is64bitOpenFunction)
struct unz_file_info64_internal_s unz_file_info64_internal
int ZEXPORT unzClose(unzFile file)
#define UNZ_INTERNALERROR
#define UNZ_END_OF_LIST_OF_FILE