blob: 2a00af5be467c7ec30b4615fc7f64bf61bb548b3 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: eCos-2.0 */
Wolfgang Denkcf48eb92006-04-16 10:51:58 +02002/*
3 *==========================================================================
4 *
5 * crc.h
6 *
7 * Interface for the CRC algorithms.
8 *
9 *==========================================================================
Wolfgang Denkcf48eb92006-04-16 10:51:58 +020010 *==========================================================================
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 */
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020025
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
Stefan Roeseecb57f62016-03-03 09:34:12 +010039/* 16 bit CRC with polynomial x^16+x^12+x^5+1 (CRC-CCITT) */
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020040
Stefan Roeseecb57f62016-03-03 09:34:12 +010041uint16_t crc16_ccitt(uint16_t crc_start, unsigned char *s, int len);
Markus Klotzbuecherf2841d32006-03-30 13:40:55 +020042
Wolfgang Denkcf48eb92006-04-16 10:51:58 +020043#endif /* _SERVICES_CRC_CRC_H_ */