|
Safe Communication Framework 0.1.0 build feea4f9
ERTMS/ETCS safe communication (Subset-037 EuroRadio, Subset-098 RBC/RBC), CENELEC EN 50128 SIL 4 oriented
|
Application Layer Entity (ALE) — NON-VITAL, runs in the Gateway. More...
#include <stdbool.h>#include <stdint.h>#include "safecomm/status.h"#include "safecomm/config/config.h"Go to the source code of this file.
Data Structures | |
| struct | safecomm_ale_peer_t |
| One routed peer: external bearer <-> the A/B endpoint pair. More... | |
| struct | safecomm_ale_t |
| An ALE instance. Caller-allocated, opaque. More... | |
Macros | |
| #define | SAFECOMM_ALE_MAX_PEERS 64U |
| Max concurrent peer connections one ALE instance tracks. | |
Functions | |
| safecomm_status_t | safecomm_ale_from_config (const safecomm_config_t *cfg, safecomm_ale_t *out) |
| Build an ALE from a loaded config (ale.* keys) + its peer map. | |
| const safecomm_ale_peer_t * | safecomm_ale_lookup (const safecomm_ale_t *ale, uint32_t peer_id) |
| Resolve a peer id to its A/B endpoint pair. | |
Application Layer Entity (ALE) — NON-VITAL, runs in the Gateway.
The ALE is the concentration / routing point between the outside world and the vital A/B channels (ADR-002):
Because the ALE cannot forge an authenticated message, it stays outside the safety case: a fault here can drop or misroute a connection (the SFM's supervision timer then fires safe-side) but cannot inject a false MA or handover message.
REQ-SC-ALE-001..012 — see docs/requirements/SRS.md.
Definition in file ale.h.
| #define SAFECOMM_ALE_MAX_PEERS 64U |
| safecomm_status_t safecomm_ale_from_config | ( | const safecomm_config_t * | cfg, |
| safecomm_ale_t * | out ) |
Build an ALE from a loaded config (ale.* keys) + its peer map.
| cfg | loaded configuration (ale.listen_host, ale.listen_port, ale.peer_map_file). Non-NULL. |
| out | receives the ALE. Non-NULL. |
| const safecomm_ale_peer_t * safecomm_ale_lookup | ( | const safecomm_ale_t * | ale, |
| uint32_t | peer_id ) |