Skip Navigation Links
Skip Navigation LinksHome > ZipArchive > How to Use > API Documentation
The ZipArchive Library
ZipCompatibility Namespace Reference

Enumerations

enum  InternalFileAttributes {
  attROnly = 0x01 , attHidd = 0x02 , attSys = 0x04 , attDir = 0x10 ,
  attArch = 0x20
}
enum  ZipPlatforms {
  zcDosFat , zcAmiga , zcVaxVms , zcUnix ,
  zcVmCms , zcAtari , zcOs2Hpfs , zcMacintosh ,
  zcZsystem , zcCpm , zcTops20 , zcNtfs ,
  zcQDos , zcAcorn , ZcMvs , zcVfat ,
  zcAtheOS , zcBeOS , zcTandem , zcTheos ,
  zcMacDarwin , zcLast
}

Functions

ZIP_API void ConvertBufferToString (CZipString &szString, const CZipAutoBuffer &buffer, UINT uCodePage)
ZIP_API void ConvertStringToBuffer (LPCTSTR lpszString, CZipAutoBuffer &buffer, UINT uCodePage)
ZIP_API DWORD ConvertToSystem (DWORD uAttr, int iFromSystem, int iToSystem)
ZIP_API DWORD GetAsInternalAttributes (DWORD uAttr, int iFromSystem)
ZIP_API UINT GetDefaultCommentCodePage ()
ZIP_API UINT GetDefaultCommentCodePage (int iPlatform)
ZIP_API UINT GetDefaultNameCodePage ()
ZIP_API UINT GetDefaultNameCodePage (int iPlatform)
ZIP_API UINT GetDefaultPasswordCodePage (int iPlatform)
ZIP_API bool IsPlatformSupported (int iCode)
ZIP_API void NormalizePathSeparators (CZipString &szFileName)
ZIP_API void SlashBackslashChg (CZipString &szFileName, bool bReplaceSlash)

Detailed Description

Includes functions that provide support for the proper conversion of attributes and filenames between different system platforms.

Enumeration Type Documentation

◆ InternalFileAttributes

Platform independent attributes.

Enumerator
attROnly 

Read-only attribute.

attHidd 

Hidden attribute.

attSys 

System attribute.

attDir 

Directory attribute.

attArch 

Archived attribute.

◆ ZipPlatforms

The codes of the compatibility of the file attribute information.

See also
CZipArchive::GetSystemCompatibility
CZipFileHeader::GetSystemCompatibility
ZipPlatform::GetSystemID
Enumerator
zcDosFat 

MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems).

zcAmiga 

Amiga.

zcVaxVms 

VAX/VMS.

zcUnix 

Unix / Linux.

zcVmCms 

VM/CMS.

zcAtari 

Atari ST.

zcOs2Hpfs 

OS/2 H.P.F.S.

zcMacintosh 

Macintosh.

zcZsystem 

Z-System.

zcCpm 

CP/M.

zcTops20 

TOPS-20 (value of 10 used by PKZIP for NTFS).

zcNtfs 

Windows NTFS (value of 11 used for NTFS by WinZip and WinRar).

zcQDos 

SMS/QDOS.

zcAcorn 

Acorn RISC OS.

ZcMvs 

MVS.

zcVfat 

Win32 VFAT.

zcAtheOS 

AtheOS.

zcBeOS 

BeOS.

zcTandem 

Tandem NSK.

zcTheos 

Theos.

zcMacDarwin 

macOS (Darwin)

zcLast 

For the internal use.

Function Documentation

◆ ConvertBufferToString()

ZIP_API void ZipCompatibility::ConvertBufferToString ( CZipString & szString,
const CZipAutoBuffer & buffer,
UINT uCodePage )

Converts the string stored in buffer using the given code page.

Parameters
bufferThe buffer to convert the string from.
szStringThe string to receive the result.
uCodePageThe code page used in conversion.

◆ ConvertStringToBuffer()

ZIP_API void ZipCompatibility::ConvertStringToBuffer ( LPCTSTR lpszString,
CZipAutoBuffer & buffer,
UINT uCodePage )

Converts the lpszString using the given code page.

Parameters
lpszStringThe string to convert from.
bufferThe buffer to receive the result.
uCodePageThe code page used in conversion.

◆ ConvertToSystem()

ZIP_API DWORD ZipCompatibility::ConvertToSystem ( DWORD uAttr,
int iFromSystem,
int iToSystem )

Converts the system attributes between different system platforms.

Parameters
uAttrThe attributes to convert.
iFromSystemThe system code to convert uAttr from.
iToSystemThe system code to convert uAttr to.
Returns
The converted attributes.
See also
ZipPlatforms

◆ GetAsInternalAttributes()

ZIP_API DWORD ZipCompatibility::GetAsInternalAttributes ( DWORD uAttr,
int iFromSystem )

Converts external file attributes to internal ZIP attributes.

Parameters
uAttrThe external file attributes.
iFromSystemThe source system platform code.
Returns
The internal ZIP attributes.

◆ GetDefaultCommentCodePage() [1/2]

ZIP_API UINT ZipCompatibility::GetDefaultCommentCodePage ( )

Returns the default comment code page for the current platform.

Returns
The default comment code page.

◆ GetDefaultCommentCodePage() [2/2]

ZIP_API UINT ZipCompatibility::GetDefaultCommentCodePage ( int iPlatform)

Returns the default comment code page.

Parameters
iPlatformOne of the ZipCompatibility::ZipPlatforms values.
Returns
The default comment code page.

◆ GetDefaultNameCodePage() [1/2]

ZIP_API UINT ZipCompatibility::GetDefaultNameCodePage ( )

Returns the default filename code page for the current platform.

Returns
The default filename code page.

◆ GetDefaultNameCodePage() [2/2]

ZIP_API UINT ZipCompatibility::GetDefaultNameCodePage ( int iPlatform)

Returns the default filename code page for the given platform.

Parameters
iPlatformOne of the ZipCompatibility::ZipPlatforms values.
Returns
The default filename code page.

◆ GetDefaultPasswordCodePage()

ZIP_API UINT ZipCompatibility::GetDefaultPasswordCodePage ( int iPlatform)

Returns the default password code page.

Parameters
iPlatformOne of the ZipCompatibility::ZipPlatforms values.
Returns
The default password code page.

◆ IsPlatformSupported()

ZIP_API bool ZipCompatibility::IsPlatformSupported ( int iCode)

Checks whether the system with the given code is supported by the ZipArchive Library.

Parameters
iCodeOne of the ZipPlatforms values to check.
Returns
true, if supported; false otherwise.

◆ NormalizePathSeparators()

ZIP_API void ZipCompatibility::NormalizePathSeparators ( CZipString & szFileName)

Normalizes path separators to the default character used by the current platform.

Parameters
szFileNameThe filename to have the path separators normalized.

◆ SlashBackslashChg()

ZIP_API void ZipCompatibility::SlashBackslashChg ( CZipString & szFileName,
bool bReplaceSlash )

Changes the path separators from slash to backslash or vice-versa in szFileName.

Parameters
szFileNameThe filename to have the path separators changed.
bReplaceSlashIf true, changes slash to backslash. If false, changes backslash to slash.
Back To Top Up