5 #define kCrcPoly 0xEDB88320
6 UInt32 g_CrcTable
[256];
8 void MY_FAST_CALL
CrcGenerateTable(void)
11 for (i
= 0; i
< 256; i
++)
15 for (j
= 0; j
< 8; j
++)
16 r
= (r
>> 1) ^ (kCrcPoly
& ~((r
& 1) - 1));
21 UInt32 MY_FAST_CALL
CrcUpdate(UInt32 v
, const void *data
, size_t size
)
23 const Byte
*p
= (const Byte
*)data
;
24 for (; size
> 0 ; size
--, p
++)
25 v
= CRC_UPDATE_BYTE(v
, *p
);
29 UInt32 MY_FAST_CALL
CrcCalc(const void *data
, size_t size
)
31 return CrcUpdate(CRC_INIT_VAL
, data
, size
) ^ 0xFFFFFFFF;