Safe API Framework 0.1.0 build 384e6ae
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
Loading...
Searching...
No Matches
rte_cross_comparator_config_t Struct Reference

Configuration for rte_cross_comparator_init(). More...

#include <rte_cross_comparator.h>

Data Fields

uint32_t channel_timeout_ms
rte_voter_compare_fn compare
void * compare_context
bool log_disagreements
rte_safestate_level_t safestate_level
rte_safestate_reason_t safestate_reason
void(*) on_disagreement (void *context, rte_voting_result_t result)
void * disagreement_context

Detailed Description

Configuration for rte_cross_comparator_init().

Definition at line 47 of file rte_cross_comparator.h.

Field Documentation

◆ channel_timeout_ms

uint32_t rte_cross_comparator_config_t::channel_timeout_ms

Timeout for each channel's receive operation (milliseconds).

Definition at line 49 of file rte_cross_comparator.h.

◆ compare

rte_voter_compare_fn rte_cross_comparator_config_t::compare

Optional custom comparison callback (same typedef as rte_voter); NULL -> memcmp default.

Definition at line 52 of file rte_cross_comparator.h.

◆ compare_context

void* rte_cross_comparator_config_t::compare_context

User context passed to compare().

Definition at line 54 of file rte_cross_comparator.h.

◆ log_disagreements

bool rte_cross_comparator_config_t::log_disagreements

Log a disagreement via rte_log_write() when it occurs.

Definition at line 56 of file rte_cross_comparator.h.

◆ safestate_level

rte_safestate_level_t rte_cross_comparator_config_t::safestate_level

Safe-state level entered unconditionally on a DISAGREED result, after on_disagreement (below) has already run - see this header's own "RCA/OCORA PI-API compatibility" note above rte_cross_comparator_execute(). Replaces the old bool trigger_safestate_on_disagreement (which let a caller opt OUT of transitioning at all - the Platform, not the application, now always owns this decision). Use RTE_SAFESTATE_LEVEL_SAFE as the conservative default if the caller has no stronger reaction (e.g. REBOOT) of its own.

Definition at line 66 of file rte_cross_comparator.h.

◆ safestate_reason

rte_safestate_reason_t rte_cross_comparator_config_t::safestate_reason

Diagnostic reason code passed to the safestate transition above.

Definition at line 68 of file rte_cross_comparator.h.

◆ on_disagreement

void(*) rte_cross_comparator_config_t::on_disagreement(void *context, rte_voting_result_t result)

Optional callback invoked whenever the result is not RTE_VOTING_AGREED, BEFORE the unconditional safestate transition above - the application's one chance to react (e.g. flush peer-negotiation state, raise an alarm, close its own links) before control does not return. Do this work synchronously within the callback; there is no "after" for a SAFE/REBOOT-level transition (REQ-COMMON-SAFESTATE-002).

Definition at line 76 of file rte_cross_comparator.h.

◆ disagreement_context

void* rte_cross_comparator_config_t::disagreement_context

User context passed to on_disagreement().

Definition at line 78 of file rte_cross_comparator.h.


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