crc16.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * crc16.h - CRC-16 routine
  3.  *
  4.  * Implements the standard CRC-16:
  5.  *   Width 16
  6.  *   Poly  0x8005 (x^16 + x^15 + x^2 + 1)
  7.  *   Init  0
  8.  *
  9.  * Copyright (c) 2005 Ben Gardner <bgardner@wabtec.com>
  10.  *
  11.  * This source code is licensed under the GNU General Public License,
  12.  * Version 2. See the file COPYING for more details.
  13.  */
  14. #ifndef __CRC16_H
  15. #define __CRC16_H
  16. #include <linux/types.h>
  17. extern u16 const crc16_table[256];
  18. extern u16 crc16(u16 crc, const u8 *buffer, size_t len);
  19. static inline u16 crc16_byte(u16 crc, const u8 data)
  20. {
  21. return (crc >> 8) ^ crc16_table[(crc ^ data) & 0xff];
  22. }
  23. #endif /* __CRC16_H */