#ifndef _CRC32STATIC_H_ #define _CRC32STATIC_H_ #include "Common.h" class CCrc32Static { public: CCrc32Static(); virtual ~CCrc32Static(); static unsigned long StringCrc32(const char *szString, unsigned long &dwCrc32); static unsigned long FileCrc32Streams(const char *szFilename, unsigned long &dwCrc32); static unsigned long FileCrc32Win32(const char *szFilename, unsigned long &dwCrc32); static unsigned long FileCrc32Filemap(const char *szFilename, unsigned long &dwCrc32); static unsigned long FileCrc32Assembly(const char *szFilename, unsigned long &dwCrc32); protected: static bool GetFileSizeQW(const HANDLE hFile, __int64 &qwSize); static inline void CalcCrc32(const unsigned char byte, unsigned long &dwCrc32); static unsigned long s_arrdwCrc32Table[256]; }; #endif