1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_CRC_CCITT_H
3 #define _LINUX_CRC_CCITT_H
5 #include <linux/types.h>
7 extern u16
const crc_ccitt_table
[256];
8 extern u16
const crc_ccitt_false_table
[256];
10 extern u16
crc_ccitt(u16 crc
, const u8
*buffer
, size_t len
);
11 extern u16
crc_ccitt_false(u16 crc
, const u8
*buffer
, size_t len
);
13 static inline u16
crc_ccitt_byte(u16 crc
, const u8 c
)
15 return (crc
>> 8) ^ crc_ccitt_table
[(crc
^ c
) & 0xff];
18 static inline u16
crc_ccitt_false_byte(u16 crc
, const u8 c
)
20 return (crc
<< 8) ^ crc_ccitt_false_table
[(crc
>> 8) ^ c
];
23 #endif /* _LINUX_CRC_CCITT_H */