Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
CRC computation function. More...
Go to the source code of this file.
Macros | |
#define | CRC8_CCITT_INITIAL_VALUE 0xFF |
#define | CRC8_ROHC_INITIAL_VALUE 0xFF |
#define | CRC24_PGP_INITIAL_VALUE 0x00B704CEU |
#define | CRC24_FINAL_VALUE_MASK 0x00FFFFFFU |
Enumerations | |
enum | crc_type { CRC4 , CRC4_TI , CRC7_BE , CRC8 , CRC8_CCITT , CRC8_ROHC , CRC16 , CRC16_ANSI , CRC16_CCITT , CRC16_ITU_T , CRC24_PGP , CRC32_C , CRC32_IEEE } |
CRC algorithm enumeration. More... | |
Functions | |
uint16_t | crc16 (uint16_t poly, uint16_t seed, const uint8_t *src, size_t len) |
Generic function for computing a CRC-16 without input or output reflection. | |
uint16_t | crc16_reflect (uint16_t poly, uint16_t seed, const uint8_t *src, size_t len) |
Generic function for computing a CRC-16 with input and output reflection. | |
uint8_t | crc8 (const uint8_t *src, size_t len, uint8_t polynomial, uint8_t initial_value, bool reversed) |
Generic function for computing CRC 8. | |
uint16_t | crc16_ccitt (uint16_t seed, const uint8_t *src, size_t len) |
Compute the checksum of a buffer with polynomial 0x1021, reflecting input and output. | |
uint16_t | crc16_itu_t (uint16_t seed, const uint8_t *src, size_t len) |
Compute the checksum of a buffer with polynomial 0x1021, no reflection of input or output. | |
static uint16_t | crc16_ansi (const uint8_t *src, size_t len) |
Compute the ANSI (or Modbus) variant of CRC-16. | |
uint32_t | crc32_ieee (const uint8_t *data, size_t len) |
Generate IEEE conform CRC32 checksum. | |
uint32_t | crc32_ieee_update (uint32_t crc, const uint8_t *data, size_t len) |
Update an IEEE conforming CRC32 checksum. | |
uint32_t | crc32_c (uint32_t crc, const uint8_t *data, size_t len, bool first_pkt, bool last_pkt) |
Calculate CRC32C (Castagnoli) checksum. | |
uint8_t | crc8_ccitt (uint8_t initial_value, const void *buf, size_t len) |
Compute CCITT variant of CRC 8. | |
uint8_t | crc8_rohc (uint8_t initial_value, const void *buf, size_t len) |
Compute ROHC variant of CRC 8. | |
uint8_t | crc7_be (uint8_t seed, const uint8_t *src, size_t len) |
Compute the CRC-7 checksum of a buffer. | |
uint8_t | crc4_ti (uint8_t seed, const uint8_t *src, size_t len) |
Compute the CRC-4 checksum of a buffer. | |
uint8_t | crc4 (const uint8_t *src, size_t len, uint8_t polynomial, uint8_t initial_value, bool reversed) |
Generic function for computing CRC 4. | |
uint32_t | crc24_pgp (const uint8_t *data, size_t len) |
Generate an OpenPGP CRC-24 checksum as defined in RFC 4880 section 6.1. | |
uint32_t | crc24_pgp_update (uint32_t crc, const uint8_t *data, size_t len) |
Update an OpenPGP CRC-24 checksum. | |
static uint32_t | crc_by_type (enum crc_type type, const uint8_t *src, size_t len, uint32_t seed, uint32_t poly, bool reflect, bool first, bool last) |
Compute a CRC checksum, in a generic way. | |
CRC computation function.
#define CRC24_FINAL_VALUE_MASK 0x00FFFFFFU |
#define CRC24_PGP_INITIAL_VALUE 0x00B704CEU |
#define CRC8_CCITT_INITIAL_VALUE 0xFF |
#define CRC8_ROHC_INITIAL_VALUE 0xFF |