Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
1da177e4 LT |
2 | #ifndef _LINUX_CRC_CCITT_H |
3 | #define _LINUX_CRC_CCITT_H | |
1da177e4 LT |
4 | |
5 | #include <linux/types.h> | |
6 | ||
7 | extern u16 const crc_ccitt_table[256]; | |
0d85adb5 | 8 | extern u16 const crc_ccitt_false_table[256]; |
1da177e4 LT |
9 | |
10 | extern u16 crc_ccitt(u16 crc, const u8 *buffer, size_t len); | |
0d85adb5 | 11 | extern u16 crc_ccitt_false(u16 crc, const u8 *buffer, size_t len); |
1da177e4 LT |
12 | |
13 | static inline u16 crc_ccitt_byte(u16 crc, const u8 c) | |
14 | { | |
15 | return (crc >> 8) ^ crc_ccitt_table[(crc ^ c) & 0xff]; | |
16 | } | |
17 | ||
0d85adb5 AM |
18 | static inline u16 crc_ccitt_false_byte(u16 crc, const u8 c) |
19 | { | |
20 | return (crc << 8) ^ crc_ccitt_false_table[(crc >> 8) ^ c]; | |
21 | } | |
22 | ||
1da177e4 | 23 | #endif /* _LINUX_CRC_CCITT_H */ |