111cb4adb74403118db4ef6ebf263d94925c30f6
[platform/kernel/u-boot.git] / include / crc.h
1 /*
2  *==========================================================================
3  *
4  *      crc.h
5  *
6  *      Interface for the CRC algorithms.
7  *
8  *==========================================================================
9  * SPDX-License-Identifier:     eCos-2.0
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
41 uint16_t crc16_ccitt(uint16_t crc_start, unsigned char *s, int len);
42
43 #endif /* _SERVICES_CRC_CRC_H_ */