/* Copyright (C) Magna Carta Software, Inc. 1990. All Rights Reserved C TELECOMM TOOLKIT v1.0 CRCCCITT.C -- ROUTINES TO HANDLE CRC-CCITT CALCULATION. */ #if !defined(TYPES_DEFINED) typedef unsigned char BYTE; typedef unsigned short WORD; #define TYPES_DEFINED #endif #define CRC_CCITT 0X1021 WORD crc_ccitt(WORD crc, WORD ch) { WORD i; ch <<= 8; for (i=8; i > 0; i--) { if ((ch ^ crc) & 0X8000) crc = (crc << 1) ^ CRC_CCITT; else crc <<= 1; ch <<=1; } return (crc); }