C2A_Core
crc.h
[詳解]
1 
5 #ifndef CRC_H_
6 #define CRC_H_
7 
8 #include <stddef.h> // for size_t
9 #include <stdint.h>
10 
23 uint16_t CRC_calc_crc_16_ibm_right(uint16_t crc, const uint8_t* c, size_t n, int rev_flag);
24 
37 uint16_t CRC_calc_crc_16_ccitt_left(uint16_t crc, const uint8_t* c, size_t n, int rev_flag);
38 
51 uint16_t CRC_calc_crc_16_ccitt_right(uint16_t crc, const uint8_t* c, size_t n, int rev_flag);
52 
62 void CRC_make_crc_8_table(uint8_t* table, uint8_t crc_poly, uint8_t shift);
63 void CRC_make_crc_16_table(uint16_t* table, uint16_t crc_poly, uint8_t shift);
64 void CRC_make_crc_32_table(uint32_t* table, uint32_t crc_poly, uint8_t shift);
65 
66 // 使わないと思いますがデバッグ用に
67 // uint16_t CRC_calc_crc_16_right(uint16_t crc, uint16_t crc_poly, const uint8_t* c, size_t n, int rev_flag);
68 // uint16_t CRC_calc_crc_16_left(uint16_t crc, uint16_t crc_poly, const uint8_t* c, size_t n, int rev_flag);
69 
70 #endif
void CRC_make_crc_8_table(uint8_t *table, uint8_t crc_poly, uint8_t shift)
crc用のテーブル作成
Definition: crc.c:152
uint16_t CRC_calc_crc_16_ccitt_left(uint16_t crc, const uint8_t *c, size_t n, int rev_flag)
CRC-16-CCITT
Definition: crc.c:126
uint16_t CRC_calc_crc_16_ibm_right(uint16_t crc, const uint8_t *c, size_t n, int rev_flag)
CRC-16-IBM
Definition: crc.c:113
void CRC_make_crc_16_table(uint16_t *table, uint16_t crc_poly, uint8_t shift)
Definition: crc.c:176
uint16_t CRC_calc_crc_16_ccitt_right(uint16_t crc, const uint8_t *c, size_t n, int rev_flag)
CRC-16-CCITT
Definition: crc.c:139
void CRC_make_crc_32_table(uint32_t *table, uint32_t crc_poly, uint8_t shift)
Definition: crc.c:201
C89 環境用 stdint.h