Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//
// MODULE: CRCCOMPUTE.CPP
//
// PURPOSE: CRC Calculator
//
// PROJECT: Generic Troubleshooter DLL for Microsoft AnswerPoint
//
// COMPANY: Saltmine Creative, Inc. (206)-284-7511 [email protected]
//
// AUTHOR: Roman Mach (based on existing CRC designs)
//
// ORIGINAL DATE: 8/7/97
//
// NOTES:
// 1.
//
// Version Date By Comments
//--------------------------------------------------------------------
// V0.2 8/7/97 RM Local Version for Memphis
// V0.3 04/09/98 JM/OK+ Local Version for NT5
//
#include "stdafx.h"
#include "crc.h"
void CCRC::BuildCrcTable() { DWORD dwX; int y; DWORD dwAccum; for (dwX = 0; dwX < 256; dwX++) { dwAccum = dwX << 24; for (y = 0; y < 8; y++) { if (dwAccum & 0x80000000) dwAccum = (dwAccum << 1) ^ POLYNOMIAL; else dwAccum <<= 1; } dwCrcTable[dwX] = dwAccum; } return; }
DWORD CCRC::ComputeCRC(LPCSTR sznBuffer, DWORD dwBufSize, DWORD dwAccum) { DWORD dwX; DWORD dwY; // DWORD dwAccum = 0xFFFFFFFF;
for (dwX = 0; dwX < dwBufSize; dwX++) { dwY = ((dwAccum >> 24) ^ *sznBuffer++) & 0xFF; dwAccum = (dwAccum << 8) ^ dwCrcTable[dwY]; } return dwAccum; }
|