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
Data Structures
Here are the data structures with brief descriptions:
 Capp_context_t
 Cchannel_registry_entry_t
 Cchannel_registry_t
 Cchannel_wrapper_t
 Ccmd_reply_t
 Cdual_poll_result_tResult of one dual_channel_poll_link_once() attempt
 Cfifo_channel_config_t
 Cflow_channel_state_t
 Cmulti_site_config_t
 Cmulti_site_voter_t
 Cmulti_transport_channel_t
  C[union].impl
 Crte_appmanager_checkpoint_config_tOptional built-in checkpoint rendezvous configuration (ADR-019/ADR-034)
 Crte_appmanager_config_tApplication manager configuration
 Crte_appmanager_operations_tApplication lifecycle operations
 Crte_appmanager_state_tApplication manager runtime state
 Crte_buffer_tMutable, bounds-tracked view over caller-owned storage
 Crte_channel_config_tConfiguration for rte_channel_init()
 Crte_channel_def_t
 Crte_channel_health_tHealth statistics for one vital channel
 Crte_channel_service_storage_tCaller-owned storage for one named channel service instance
 Crte_channel_storage_tStorage for one vital channel instance (opaque to caller)
 Crte_checkpoint_config_tCheckpoint configuration
 Crte_checksum_manager_t
 Crte_checksum_result_tChecksum result for validation
 Crte_checksum_stats_tChecksum statistics for monitoring
 Crte_const_buffer_tRead-only view of a buffer's currently valid bytes. Grants no write access to the underlying storage
 Crte_cross_comparator_config_tConfiguration for rte_cross_comparator_init()
 Crte_cross_comparator_storage_tStorage for one cross-comparator instance (opaque to caller). No dynamic memory
 Crte_dual_ack_frame_tRTE_DUAL_FRAME_KIND_ACK payload
 Crte_dual_channel_config_tConfiguration for rte_dual_channel_init()
 Crte_dual_channel_tOne rte_dual_channel_t instance's state. Caller-owned storage; every field is private - reach it only through the functions below
 Crte_dual_frame_header_tCommon 4-byte header prefixing every Layer-2 frame; kept a fixed 4 bytes (not just 1) so the fields that follow in rte_dual_ack_frame_t/rte_dual_state_frame_t stay naturally aligned
 Crte_dual_heartbeat_frame_tRTE_DUAL_FRAME_KIND_HEARTBEAT payload - connection maintenance heartbeat
 Crte_dual_msgchannel_config_tConfiguration for rte_dual_msgchannel_init()
 Crte_dual_msgchannel_tOne rte_dual_msgchannel_t instance's state. Caller-owned storage (REQ-DUAL-MSGCHANNEL-001); opaque in practice, exposed here (not via RTE_DECLARE_STORAGE) only because its size is already small and fixed - callers must still treat every field as private and only reach it through the functions below
 Crte_dual_negotiator_config_tConfiguration for rte_dual_negotiator_init()
 Crte_dual_negotiator_tOne rte_dual_negotiator_t instance's state. Caller-owned storage; every field is private - reach it only through the functions below
 Crte_dual_state_frame_tRTE_DUAL_FRAME_KIND_STATE payload - rte_dual_negotiator_t's own periodic beacon
 Crte_election_candidate_tOne candidate's info for one rte_election_execute() call. The caller builds this array fresh each call from whatever transport it uses to learn about the other replicas - this module does not retain it between calls except via the state recomputed into rte_election_t itself
 Crte_election_config_tConfiguration for rte_election_init()
 Crte_election_tOne rte_election_t instance's state. Caller-owned storage; every field is private - reach it only through the functions below
 Crte_flow_attr_tFlow attributes (OCORA PI API Annex A.1 leaves fl_attr's content as "to be defined" - this is this framework's own concrete, deliberately minimal choice of static+dynamic attributes, not a claim of OCORA-authored content)
 Crte_flow_config_tConfiguration for rte_flow_open()
 Crte_ipc_config_tConfiguration for rte_ipc_create()
 Crte_ipc_pubsub_subscriber_config_tConfiguration for a subscriber
 Crte_ipc_pubsub_topic_config_tConfiguration for a pub-sub topic
 Crte_ipc_rr_client_config_tConfiguration for request-reply client
 Crte_ipc_rr_request_tIncoming request with context for sending reply
 Crte_ipc_rr_server_config_tConfiguration for request-reply server
 Crte_log_fields_tBounded builder for rte_log_write_event()'s extra_fields (or info) argument: accumulates space-separated key=value pairs, each typed at the call site, so a caller adding a couple of variable values does not hand-roll a rte_string_concat()/rte_string_append_u32() chain every time (MISRA C:2012 Rule 17.1 rules out a printf-style variadic here)
 Crte_log_level_name_tOne canonical level spelling <-> value pair for rte_log_level_from_string()
 Crte_mem_pool_config_tConfiguration for rte_mem_pool_create()
 Crte_netlink_config_tConfiguration for rte_netlink_open()
 Crte_nvm_config_tConfiguration for rte_nvm_open()
 Crte_os_socket_ops_tVtable of low-level OS socket operations implemented by an OSAdapter
 Crte_osadapter_bundle_tComprehensive bundle of all OSAdapter vtables for a platform
 Crte_osadapter_channel_service_tOSAdapter implementation for named channel operations
 Crte_osadapter_clocksync_tOSAdapter clock synchronization operations vtable
 Crte_osadapter_flow_tOSAdapter Flow operations vtable
 Crte_osadapter_fsou_tOSAdapter FSOU operations vtable
 Crte_osadapter_ipc_tOSAdapter IPC operations vtable
 Crte_osadapter_log_tOSAdapter logging operations vtable
 Crte_osadapter_memory_tOSAdapter memory pool operations vtable
 Crte_osadapter_mutex_tOSAdapter mutex operations vtable
 Crte_osadapter_netlink_tOSAdapter network link operations vtable
 Crte_osadapter_nvm_tOSAdapter NVM operations vtable
 Crte_osadapter_platform_tOSAdapter platform operations vtable
 Crte_osadapter_random_tOSAdapter random operations vtable
 Crte_osadapter_reboot_tOSAdapter reboot operations vtable
 Crte_osadapter_task_tOSAdapter task scheduling operations vtable
 Crte_osadapter_timer_tOSAdapter timer operations vtable
 Crte_protocol_adapter_ops_tOperations vtable implemented by a concrete ProtocolAdapter
 Crte_protocol_config_tConfiguration passed to open a protocol adapter instance
 Crte_protocol_tcp_state_t
 Crte_protocol_udp_state_t
 Crte_redundancy_config_t
 Crte_safe_ptr_tA bounds-checked, canary-protected wrapper around one raw memory region. Opaque to callers in spirit (every field is manipulated only through the functions below) but a plain struct, not a handle, so it can be embedded directly in a caller's own statically-allocated storage - no dynamic allocation, matching CLAUDE.md
 Crte_safechannel_config_tConfiguration for rte_safechannel_open()
  C[union].as
 Crte_safechannel_dual_config_tConfiguration specific to RTE_SAFECHANNEL_TYPE_DUAL_REDUNDANT
 Crte_safechannel_endpoint_tOne remote endpoint to open internally - replaces a caller- supplied rte_netlink_handle_t (ADR-022 section 2.2)
 Crte_safechannel_tCaller-owned storage for one rte_safechannel_t instance. Every field is private - reach it only through the functions below. No dynamic allocation (REQ-SAFECHANNEL-002): sized to hold up to RTE_SAFECHANNEL_MAX_LINKS opened netlink links plus whichever of rte_dual_channel_t/rte_channel_t is in use
  C[union].impl
   C[struct].impl.vital
 Crte_safechannel_vital_config_tConfiguration specific to RTE_SAFECHANNEL_TYPE_VITAL_VOTED
 Crte_site_role_change_t
 Crte_site_role_config_t
 Crte_site_role_decision_t
 Crte_site_role_input_t
 Crte_site_role_local_t
 Crte_site_role_sibling_t
 Crte_site_role_status_t
 Crte_site_role_t
 Crte_state_field_t
 Crte_state_transfer_registry_t
 Crte_string_tBounded string: buf.length is the string length, not counting a NUL
 Crte_task_config_tConfiguration for rte_task_create()
 Crte_timer_config_tConfiguration for rte_timer_create()
 Crte_vital_message_tVital channel message with integrated CRC-64
 Crte_voter_config_tConfiguration for rte_voter_init()
 Crte_voter_storage_tStorage for one voter instance (opaque to caller). No dynamic memory
 Crte_watchdog_config_tWatchdog configuration
 Crte_watchdog_status_tWatchdog health/status information
 Crte_watchdog_tWatchdog handle (opaque)
 Cservice_stats_t
 Cshared_state_t
 Cshm_channel_config_t
 Cshm_queue_t
 Csignal_query_tQuery message: Train asks for signal state
 Csignal_reply_tReply message: Signal state and limits
 Csite_channels_t
 Csite_context_t
 Csite_stats_t
 Cstandby_status_t
 Ctcp_channel_config_t
 Ctcp_channel_t
 Ctrack_status_tTrack status event (published to all subscribers)
 Ctrain_command_t
 Ctrain_db_entry_t
 Ctrain_message_t
 Ctrain_state_t
 Cudp_channel_config_t