Static Public メソッド
構造体 テンプレート mist::crc< BIT >

CRC を生成・検証を行うクラス [詳細]

#include <crc.h>

Static Public メソッド

static size_t generate (const unsigned char *pdata, size_t len, size_t gen_poly=crc_generator_polynominal::crc_default< BIT >::gen_poly)
 pdata[0] から pdata[len - 1] の len bytes の CRC を生成する.
static bool check (const unsigned char *pdata, size_t len, size_t crc_, size_t gen_poly=crc_generator_polynominal::crc_default< BIT >::gen_poly)
 pdata[0] から pdata[len - 1] の len bytes の CRC を検証する.
static size_t generate_implant (unsigned char *pdata, size_t len, size_t gen_poly=crc_generator_polynominal::crc_default< BIT >::gen_poly)
 pdata[0] から pdata[len - BIT / 8 - 1] の len - BIT / 8 bytes の CRC を生成し,pdata[len - BIT / 8] 以降にビッグエンディアンで CRC を埋め込む.
static bool check_implant (const unsigned char *pdata, size_t len, size_t gen_poly=crc_generator_polynominal::crc_default< BIT >::gen_poly)
 pdata[0] から pdata[len - 1] の len bytes (CRC 埋め込み済み)の CRC を検証する.

説明

template<int BIT>
struct mist::crc< BIT >

CRC を生成・検証を行うクラス

関数

template<int BIT>
static bool mist::crc< BIT >::check ( const unsigned char *  pdata,
size_t  len,
size_t  crc_,
size_t  gen_poly = crc_generator_polynominal::crc_default< BIT >::gen_poly 
)
inlinestatic

pdata[0] から pdata[len - 1] の len bytes の CRC を検証する.

デフォルトCRC-8 生成多項式 x^8 + x^2 + x^1 + 1 デフォルトCRC-16生成多項式 x^16 + x^15 + x^2 + 1 デフォルトCRC-32生成多項式 x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x^1 + 1

戻り値
true… CRCが一致した
false… CRCが一致しないため,データが改変された可能性あり
template<int BIT>
static bool mist::crc< BIT >::check_implant ( const unsigned char *  pdata,
size_t  len,
size_t  gen_poly = crc_generator_polynominal::crc_default< BIT >::gen_poly 
)
inlinestatic

pdata[0] から pdata[len - 1] の len bytes (CRC 埋め込み済み)の CRC を検証する.

デフォルトCRC-8 生成多項式 x^8 + x^2 + x^1 + 1 デフォルトCRC-16生成多項式 x^16 + x^15 + x^2 + 1 デフォルトCRC-32生成多項式 x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x^1 + 1

戻り値
true… CRCが一致した
false… CRCが一致しないため,データが改変された可能性あり
template<int BIT>
static size_t mist::crc< BIT >::generate ( const unsigned char *  pdata,
size_t  len,
size_t  gen_poly = crc_generator_polynominal::crc_default< BIT >::gen_poly 
)
inlinestatic

pdata[0] から pdata[len - 1] の len bytes の CRC を生成する.

デフォルトCRC-8 生成多項式 x^8 + x^2 + x^1 + 1 デフォルトCRC-16生成多項式 x^16 + x^15 + x^2 + 1 デフォルトCRC-32生成多項式 x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x^1 + 1

戻り値
データから生成したCRC
template<int BIT>
static size_t mist::crc< BIT >::generate_implant ( unsigned char *  pdata,
size_t  len,
size_t  gen_poly = crc_generator_polynominal::crc_default< BIT >::gen_poly 
)
inlinestatic

pdata[0] から pdata[len - BIT / 8 - 1] の len - BIT / 8 bytes の CRC を生成し,pdata[len - BIT / 8] 以降にビッグエンディアンで CRC を埋め込む.

デフォルトCRC-8 生成多項式 x^8 + x^2 + x^1 + 1 デフォルトCRC-16生成多項式 x^16 + x^15 + x^2 + 1 デフォルトCRC-32生成多項式 x^32 + x^26 + x^23 + x^22 + x^16 + x^12 + x^11 + x^10 + x^8 + x^7 + x^5 + x^4 + x^2 + x^1 + 1

戻り値
データから生成したCRC

この構造体の説明は次のファイルから生成されました:

Generated on Wed Nov 12 2014 19:44:28 for MIST by doxygen 1.8.1.2