LCOV - code coverage report
Current view: top level - include/linux - crc16.h (source / functions) Hit Total Coverage
Test: landlock.info Lines: 2 2 100.0 %
Date: 2021-04-22 12:43:58 Functions: 0 0 -

          Line data    Source code
       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       98100 : static inline u16 crc16_byte(u16 crc, const u8 data)
      23             : {
      24       98100 :         return (crc >> 8) ^ crc16_table[(crc ^ data) & 0xff];
      25             : }
      26             : 
      27             : #endif /* __CRC16_H */
      28             : 

Generated by: LCOV version 1.14