cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

crc-itu-t.h (530B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 *	crc-itu-t.h - CRC ITU-T V.41 routine
      4 *
      5 * Implements the standard CRC ITU-T V.41:
      6 *   Width 16
      7 *   Poly  0x1021 (x^16 + x^12 + x^5 + 1)
      8 *   Init  0
      9 */
     10
     11#ifndef CRC_ITU_T_H
     12#define CRC_ITU_T_H
     13
     14#include <linux/types.h>
     15
     16extern u16 const crc_itu_t_table[256];
     17
     18extern u16 crc_itu_t(u16 crc, const u8 *buffer, size_t len);
     19
     20static inline u16 crc_itu_t_byte(u16 crc, const u8 data)
     21{
     22	return (crc << 8) ^ crc_itu_t_table[((crc >> 8) ^ data) & 0xff];
     23}
     24
     25#endif /* CRC_ITU_T_H */
     26