|
Safe API Framework 0.1.0 build 384e6ae
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
|
See rte_state_transfer.h. More...
#include "rte/redundancy/state_transfer/rte_state_transfer.h"#include "rte/oal/memory/rte_mem_util.h"Go to the source code of this file.
Functions | |
| rte_status_t | rte_state_transfer_registry_init (rte_state_transfer_registry_t *registry) |
| Initializes an empty registry. | |
| rte_status_t | rte_state_transfer_register_field (rte_state_transfer_registry_t *registry, const char *name, void *data, size_t size) |
| Registers one field. Order matters - encode()/decode() pack/unpack in registration order. | |
| rte_status_t | rte_state_transfer_register_field_ex (rte_state_transfer_registry_t *registry, const char *name, void *data, size_t size, rte_state_field_encode_fn encode_fn, rte_state_field_decode_fn decode_fn) |
| Registers one field with a custom wire encoder/decoder pair instead of this module's default raw memcpy - see rte_state_field_t's own doc for when this is needed (e.g. a field whose live struct has padding, or a wire form narrower than its live representation). | |
| size_t | rte_state_transfer_encoded_size (const rte_state_transfer_registry_t *registry) |
| Total encoded size (sum of every registered field's size) - the minimum buffer size encode()/decode() need. | |
| rte_status_t | rte_state_transfer_encode (const rte_state_transfer_registry_t *registry, uint8_t *out, size_t out_size, size_t *out_len) |
| Packs every registered field's current live value into out, in registration order, back-to-back with no padding. | |
| rte_status_t | rte_state_transfer_decode (const rte_state_transfer_registry_t *registry, const uint8_t *in, size_t in_len) |
| Inverse of encode(): overwrites every registered field's live value from in, in registration order. | |
See rte_state_transfer.h.
Definition in file rte_state_transfer.c.