crc.h
Go to the documentation of this file.
00001 // -*- C++ -*-
00018 #ifndef COIL_CRC_H
00019 #define COIL_CRC_H
00020 
00021 #include <sys/types.h>
00022 
00023 namespace coil
00024 {
00025   /*
00026    * @if jp
00027    *
00028    * @brief CRC-16 計算関数
00029    *
00030    * CRC種類: CRC-CCITT
00031    * CRC多項式:  x^16 + x^12 + x^5 + 1 (0x1021)
00032    * 初期値:  0xFFFF
00033    * 出力XOR: 0x0000
00034    * 入力ビット反転: なし
00035    * 出力ビット反転: なし
00036    * ビットシフト: 左
00037    *
00038    * @param str データストリーム
00039    * @param len データ長
00040    *
00041    * @return 計算結果
00042    *
00043    * @else
00044    *
00045    * @brief CRC-16 calculation function
00046    *
00047    * CRC type: CRC-CCITT
00048    * CRC generator polynomial:  x^16 + x^12 + x^5 + 1 (0x1021)
00049    * Initial value: 0xFFFF
00050    * Output XOR: 0x0000
00051    * Input bit inversion: None
00052    * Output bit inversion: None
00053    * Bit shift: left
00054    *
00055    * @param str Data stream
00056    * @param len Data length
00057    *
00058    * @return Result calculation
00059    *
00060    * @endif
00061    */
00062   unsigned short crc16(const char* str, size_t len);
00063   
00103   unsigned long crc32(const char* str, size_t len);
00104 }; //namespace coil
00105 
00106 #endif // COIL_CRC_H


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Thu Aug 27 2015 14:16:37