Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!mips!gate.ready.com!gate.ready.com!glenn From: glenn@ready.com (Glenn Kasten) Newsgroups: comp.sources.wanted Subject: Re: CRC-16 source code wanted Message-ID: <1991Apr23.225034.17488@ready.eng.ready.com> Date: 23 Apr 91 22:50:34 GMT References: <461@frcs.UUCP> Sender: glenn@ready.eng.ready.com (Glenn Kasten) Reply-To: glenn@ready.com (Glenn Kasten) Distribution: comp Organization: Ready Systems Lines: 30 In article <461@frcs.UUCP>, paul@frcs.UUCP (Paul Nash) writes: |> |> I am looking for C source code to implement the CRC-16 algorithm. /* CRC-16 cyclic redundancy check algorithm */ void crc16(data_buffer, nbytes, crc_buffer) char *data_buffer, crc_buffer[2]; unsigned nbytes; { unsigned crc = (crc_buffer[0] & 0xFF) | ((crc_buffer[1] & 0xFF) << 8); unsigned i, bit; for (i = 0; i < nbytes; ++i) { crc ^= data_buffer[i] & 0xFF; for (bit = 0; bit < 8; ++bit) crc = crc & 1 ? (crc >> 1) ^ 0120001 : crc >> 1; } crc_buffer[1] = crc >> 8; crc_buffer[0] = crc; } -- Glenn Kasten Ready Systems 470 Potrero Ave. Sunnyvale CA 94086 glenn@ready.com (408) 522-7357 -- Glenn Kasten Ready Systems 470 Potrero Ave. Sunnyvale CA 94086 glenn@ready.com (408) 522-7357