1/* SPDX-License-Identifier: eCos-2.0 */ 2/* 3 *========================================================================== 4 * 5 * crc.h 6 * 7 * Interface for the CRC algorithms. 8 * 9 *========================================================================== 10 *========================================================================== 11 *#####DESCRIPTIONBEGIN#### 12 * 13 * Author(s): Andrew Lunn 14 * Contributors: Andrew Lunn 15 * Date: 2002-08-06 16 * Purpose: 17 * Description: 18 * 19 * This code is part of eCos (tm). 20 * 21 *####DESCRIPTIONEND#### 22 * 23 *========================================================================== 24 */ 25 26#ifndef _SERVICES_CRC_CRC_H_ 27#define _SERVICES_CRC_CRC_H_ 28 29#include <linux/types.h> 30 31#ifndef __externC 32# ifdef __cplusplus 33# define __externC extern "C" 34# else 35# define __externC extern 36# endif 37#endif 38 39/* 16 bit CRC with polynomial x^16+x^12+x^5+1 (CRC-CCITT) */ 40 41uint16_t crc16_ccitt(uint16_t crc_start, unsigned char *s, int len); 42 43#endif /* _SERVICES_CRC_CRC_H_ */ 44