- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

- データ構造
- データ構造索引
- クラス階層
- データフィールド

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`
| ) |  |
| inline static

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`
| ) |  |
| inline static

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`
| ) |  |
| inline static

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`
| ) |  |
| inline static

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

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

- crc.h