00001
00002
00003
00004
00006
00007
00008
00009
00010
00011
00012
00013
00014
00016
00017
00024 #if !defined(AFX_ZIPCOMPATIBILITY_H__8E8B9904_84C7_4B22_B364_A10ED0E7DAD6__INCLUDED_)
00025 #define AFX_ZIPCOMPATIBILITY_H__8E8B9904_84C7_4B22_B364_A10ED0E7DAD6__INCLUDED_
00026
00027 #if _MSC_VER > 1000
00028 #pragma once
00029 #endif // _MSC_VER > 1000
00030
00031 class CZipAutoBuffer;
00032 class CZipFileHeader;
00033
00039 namespace ZipCompatibility
00040 {
00047 enum ZipPlatforms
00048 {
00049 zcDosFat,
00050 zcAmiga,
00051 zcVaxVms,
00052 zcUnix,
00053 zcVmCms,
00054 zcAtari,
00055 zcOs2Hpfs,
00056 zcMacintosh,
00057 zcZsystem,
00058 zcCpm,
00059 zcNtfs
00060 };
00061
00068 bool IsPlatformSupported(int iCode);
00069
00070
00084 DWORD ConvertToSystem(DWORD uAttr, int iFromSystem, int iToSystem);
00085
00099 void FileNameUpdate(CZipFileHeader& header, bool bFromZip, bool bOemConversion);
00100
00107 void SlashBackslashChg(CZipAutoBuffer& buffer, bool bReplaceSlash);
00108
00112 bool IsBigEndian();
00113
00123 void ReadBytesBigEndian(void* pDestination, const char* pSource, int iCount);
00124
00134 void ReadBytesLittleEndian(void* pDestination, const char* pSource, int iCount);
00135
00145 void WriteBytesBigEndian(char* pDestination, const void* pSource, int iCount);
00146
00156 void WriteBytesLittleEndian(char* pDestination, const void* pSource, int iCount);
00157
00167 bool CompareBytesBigEndian(const char* pBuffer, const void* pBytes, int iCount);
00168
00178 bool CompareBytesLittleEndian(const char* pBuffer, const void* pBytes, int iCount);
00179
00180 };
00181
00182 #endif // !defined(AFX_ZIPCOMPATIBILITY_H__8E8B9904_84C7_4B22_B364_A10ED0E7DAD6__INCLUDED_)