root/include/linux/crc16.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. crc16_byte

   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  *      crc16.h - CRC-16 routine
   4  *
   5  * Implements the standard CRC-16:
   6  *   Width 16
   7  *   Poly  0x8005 (x^16 + x^15 + x^2 + 1)
   8  *   Init  0
   9  *
  10  * Copyright (c) 2005 Ben Gardner <bgardner@wabtec.com>
  11  */
  12 
  13 #ifndef __CRC16_H
  14 #define __CRC16_H
  15 
  16 #include <linux/types.h>
  17 
  18 extern u16 const crc16_table[256];
  19 
  20 extern u16 crc16(u16 crc, const u8 *buffer, size_t len);
  21 
  22 static inline u16 crc16_byte(u16 crc, const u8 data)
  23 {
  24         return (crc >> 8) ^ crc16_table[(crc ^ data) & 0xff];
  25 }
  26 
  27 #endif /* __CRC16_H */
  28 

/* [<][>][^][v][top][bottom][index][help] */