--- libelwix/inc/elwix/acrc.h 2019/12/30 18:11:16 1.7 +++ libelwix/inc/elwix/acrc.h 2024/10/10 23:53:00 1.7.36.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: acrc.h,v 1.7 2019/12/30 18:11:16 misho Exp $ +* $Id: acrc.h,v 1.7.36.1 2024/10/10 23:53:00 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004 - 2019 +Copyright 2004 - 2024 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -81,23 +81,27 @@ unsigned int crcReflect(unsigned int crcNum, unsigned unsigned int crcCalc(unsigned char * __restrict psBuf, unsigned int bufLen, unsigned char crcBits, unsigned char RevOpts, unsigned int initCRC, unsigned int xorCRC); +#define crc_32(x, l) crcCalc((x), (l), 32, REVOPTS_REVERTBYTE|REVOPTS_REVERTCRC, 0xFFFFFFFF, 0xFFFFFFFF) +#define crc_16(x, l) crcCalc((x), (l), 16, REVOPTS_REVERTBYTE|REVOPTS_REVERTCRC, 0x0, 0x0) +#define crc_16_ccitt(x, l) crcCalc((x), (l), 161, 0, 0x0, 0x0) +#define crc_16_xmodem(x, l) crcCalc((x), (l), 162, REVOPTS_REVERTBYTE|REVOPTS_REVERTCRC, 0x0, 0x0) /* - * crc16() - Checksum calculation in X/Y modem communication + * crc16_ccitt() - Checksum calculation * * @buf = Data for calculation * @bufLen = Length of data * return: Checksum */ -unsigned short crc16(unsigned char * __restrict buf, int bufLen); +unsigned short crc16_ccitt(unsigned char * __restrict buf, int bufLen); /* - * crc16_ext() - Checksum ver.2 calculation in X/Y modem communication + * crc16_xy() - Checksum calculation in X/Y modem communication * * @buf = Data for calculation * @bufLen = Length of data * return: Checksum */ -unsigned short crc16_ext(unsigned char * __restrict buf, int bufLen); +unsigned short crc16_xy(unsigned char * __restrict buf, int bufLen); /* * crcIP() - Checksum in IP communication * @@ -162,14 +166,14 @@ unsigned int crcAdler(unsigned char * __restrict psBuf #define crcEther(psBuf, bufLen) crcCalc((psBuf), (bufLen), 32, 3, 0xFFFFFFFF, 0xFFFFFFFF) /* - * crc_32() - CRC32 calculation from table + * crc32tbl() - CRC32 calculation from table * * @crc = Initial crc value * @buf = Data for calculation * @len = Length of data * return: calculated CRC32 */ -unsigned int crc_32(unsigned int crc, const unsigned char * __restrict buf, unsigned int len); +unsigned int crc32tbl(unsigned int crc, const unsigned char * __restrict buf, unsigned int len); /* * crcPelco() - Calculate Pelco D/P CRC