Safe API Framework
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
Loading...
Searching...
No Matches
sapi_dual_frames.h
Go to the documentation of this file.
1
21#ifndef SAPI_DUAL_FRAMES_H
22#define SAPI_DUAL_FRAMES_H
23
24#include <stdint.h>
25
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
57
62typedef struct sapi_dual_frame_header_s
63{
66 uint8_t kind;
70 uint8_t reserved[3];
72
74typedef struct sapi_dual_ack_frame_s
75{
82
85typedef struct sapi_dual_state_frame_s
86{
90 uint8_t state;
97 uint16_t reserved;
109 uint64_t timestamp_ms;
111
113typedef struct sapi_dual_heartbeat_frame_s
114{
117 uint64_t timestamp_ms;
119
120#ifdef __cplusplus
121}
122#endif
123
124#endif /* SAPI_DUAL_FRAMES_H */
125
sapi_dual_frame_kind_t
Which kind of Layer-2 frame a given Layer-1 payload holds. Stored as the first byte of every sapi_dua...
@ SAPI_DUAL_FRAME_KIND_STATE
@ SAPI_DUAL_FRAME_KIND_HEARTBEAT
@ SAPI_DUAL_FRAME_KIND_ACK
@ SAPI_DUAL_FRAME_KIND_DATA
Shared enums for the sapi_dual module (ADR-020): dual-instance state negotiation and the redundant,...
SAPI_DUAL_FRAME_KIND_ACK payload.
Common 4-byte header prefixing every Layer-2 frame; kept a fixed 4 bytes (not just 1) so the fields t...
SAPI_DUAL_FRAME_KIND_HEARTBEAT payload - connection maintenance heartbeat.
SAPI_DUAL_FRAME_KIND_STATE payload - sapi_dual_negotiator_t's own periodic beacon.