Branch data Line data Source code
1 : : /* SPDX-License-Identifier: GPL-2.0 */ 2 : : #ifndef _LINUX_CRC_CCITT_H 3 : : #define _LINUX_CRC_CCITT_H 4 : : 5 : : #include <linux/types.h> 6 : : 7 : : extern u16 const crc_ccitt_table[256]; 8 : : extern u16 const crc_ccitt_false_table[256]; 9 : : 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); 12 : : 13 : 0 : static inline u16 crc_ccitt_byte(u16 crc, const u8 c) 14 : : { 15 : 0 : return (crc >> 8) ^ crc_ccitt_table[(crc ^ c) & 0xff]; 16 : : } 17 : : 18 : 0 : static inline u16 crc_ccitt_false_byte(u16 crc, const u8 c) 19 : : { 20 : 0 : return (crc << 8) ^ crc_ccitt_false_table[(crc >> 8) ^ c]; 21 : : } 22 : : 23 : : #endif /* _LINUX_CRC_CCITT_H */