|
Safe API Framework
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
|
Checksum and CRC utilities for data integrity in redundant systems. More...
#include <stdint.h>#include <stddef.h>#include "safeapi/utils/status/sapi_status.h"#include "safeapi/utils/types/sapi_types.h"Go to the source code of this file.
Data Structures | |
| struct | sapi_checksum_result_t |
| Checksum result for validation. More... | |
| Vital channel message with integrated CRC-64. More... | |
| struct | sapi_checksum_stats_t |
| Checksum statistics for monitoring. More... | |
Typedefs | |
| typedef uint64_t | sapi_crc64_t |
| CRC-64 checksum value (64-bit). | |
Enumerations | |
| enum | sapi_crc64_polynomial_t { SAPI_CRC64_ERTMS , SAPI_CRC64_ISO , SAPI_CRC64_XZ } |
| CRC-64 polynomial selection. More... | |
Functions | |
| sapi_status_t | sapi_checksum_crc64_init (sapi_crc64_polynomial_t polynomial) |
| Initialize CRC-64 lookup tables for chosen polynomial. | |
| sapi_crc64_t | sapi_checksum_crc64 (const uint8_t *data, size_t size) |
| Compute CRC-64 for data buffer. | |
| sapi_status_t | sapi_checksum_crc64_verify (const uint8_t *data, size_t size, sapi_crc64_t expected_crc, sapi_checksum_result_t *result_out) |
| Verify CRC-64 of data against stored value. | |
| sapi_crc64_polynomial_t | sapi_checksum_crc64_get_polynomial (void) |
| Get current CRC-64 polynomial in use. | |
| sapi_status_t | sapi_checksum_vital_message_create (sapi_vital_message_t *msg_out, uint32_t sender_id, uint32_t sequence, const uint8_t *payload, size_t payload_size) |
| Create vital channel message with CRC. | |
| sapi_status_t | sapi_checksum_vital_message_verify (const sapi_vital_message_t *msg, uint32_t expected_sequence, uint8_t *payload_out, size_t payload_max_size, uint8_t *payload_size_out) |
| Verify vital channel message and extract payload. | |
| sapi_status_t | sapi_checksum_get_stats (sapi_checksum_stats_t *stats_out) |
| Get checksum statistics. | |
| sapi_status_t | sapi_checksum_reset_stats (void) |
| Reset checksum statistics. | |
Checksum and CRC utilities for data integrity in redundant systems.
Provides CRC-64 data integrity checking for:
Implements ERTMS-compliant CRC-64-CCITT polynomial for railway safety systems.
Definition in file sapi_checksum.h.