|
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 |