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_channel_config_t Struct Reference

Configuration for sapi_dual_channel_init(). More...

#include <sapi_dual_channel.h>

Data Fields

sapi_netlink_handle_t links [SAPI_DUAL_CHANNEL_MAX_LINKS]
uint32_t link_count
uint32_t sender_id
uint32_t expected_peer_id
sapi_duration_ms_t ack_timeout_ms
sapi_dual_channel_status_callback_t status_callback
void * status_callback_ctx

Detailed Description

Configuration for sapi_dual_channel_init().

Definition at line 113 of file sapi_dual_channel.h.

Field Documentation

◆ links

sapi_netlink_handle_t sapi_dual_channel_config_t::links[SAPI_DUAL_CHANNEL_MAX_LINKS]

Already-open links, config->link_count of them, each with config->link_count == the number of entries actually populated here (1..SAPI_DUAL_CHANNEL_MAX_LINKS). Every link must have been opened with message_size == sizeof(sapi_vital_message_t) (sapi_dual_msgchannel.h). Ownership (closing them) stays with the caller.

Definition at line 121 of file sapi_dual_channel.h.

◆ link_count

uint32_t sapi_dual_channel_config_t::link_count

Number of entries populated in links[]; 1..SAPI_DUAL_CHANNEL_MAX_LINKS.

Definition at line 123 of file sapi_dual_channel.h.

◆ sender_id

uint32_t sapi_dual_channel_config_t::sender_id

This instance's own EN 50159 sender identifier, shared by every redundant link (they connect the same two logical endpoints).

Definition at line 126 of file sapi_dual_channel.h.

◆ expected_peer_id

uint32_t sapi_dual_channel_config_t::expected_peer_id

Expected sender_id of the peer at the other end of every link.

Definition at line 128 of file sapi_dual_channel.h.

◆ ack_timeout_ms

sapi_duration_ms_t sapi_dual_channel_config_t::ack_timeout_ms

Per-link budget sapi_dual_channel_send() waits for that link's own ACK before counting it down for this round (ADR-020 section 2).

Definition at line 131 of file sapi_dual_channel.h.

◆ status_callback

sapi_dual_channel_status_callback_t sapi_dual_channel_config_t::status_callback

Optional; NULL = no callback.

Definition at line 133 of file sapi_dual_channel.h.

◆ status_callback_ctx

void* sapi_dual_channel_config_t::status_callback_ctx

Opaque context passed back to status_callback. Ignored if status_callback is NULL.

Definition at line 136 of file sapi_dual_channel.h.


The documentation for this struct was generated from the following file: