"L. Spiro Engine"
|
00001 00016 #ifndef __LSSTD_CRC_H__ 00017 #define __LSSTD_CRC_H__ 00018 00019 #include "../LSSTDStandardLib.h" 00020 00021 namespace lsstd { 00022 00029 class CCrc { 00030 public : 00031 // == Functions. 00039 static LSUINT32 LSE_CALL GetCrc( const LSUINT8 * _pui8Data, LSUINTPTR _uiptrLen ); 00040 00048 static LSUINT32 LSE_CALL GetAltCrc( const LSUINT8 * _pui8Data, LSUINTPTR _uiptrLen ); 00049 00050 00051 protected : 00052 // == Members. 00056 static LSUINT32 m_ui32StdTable[256]; 00057 00061 static LSUINT32 m_ui32AltTable[256]; 00062 00066 static LSBOOL m_bInit; 00067 00068 00069 // == Functions. 00073 static LSVOID LSE_CALL Init(); 00074 00081 static LSVOID LSE_CALL Init( LSUINT32 * _pui32Table, LSUINT32 _ui32Key ); 00082 00090 static LSVOID LSE_CALL GetCrc( LSUINT32 * _pui32Table, LSUINT8 _ui8Val, LSUINT32 &_ui32Crc ); 00091 }; 00092 00093 } // namespace lsstd 00094 00095 #endif // __LSSTD_CRC_H__