|
Safe API Framework
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
|
| Cdual_poll_result_t | Result of one dual_channel_poll_link_once() attempt |
| Csapi_appmanager_checkpoint_config_t | Optional built-in checkpoint rendezvous configuration (ADR-019/ADR-034) |
| Csapi_appmanager_config_t | Application manager configuration |
| Csapi_appmanager_operations_t | Application lifecycle operations |
| Csapi_appmanager_state_t | Application manager runtime state |
| Csapi_buffer_t | Mutable, bounds-tracked view over caller-owned storage |
| Csapi_channel_config_t | Configuration for sapi_channel_init() |
| Csapi_channel_health_t | Health statistics for one vital channel |
| Csapi_channel_service_backend_t | Backend implementation for named channel operations |
| Csapi_channel_service_storage_t | Caller-owned storage for one named channel service instance |
| Csapi_channel_storage_t | Storage for one vital channel instance (opaque to caller) |
| Csapi_checkpoint_config_t | Checkpoint configuration |
| Csapi_checksum_manager_t | |
| Csapi_checksum_result_t | Checksum result for validation |
| Csapi_checksum_stats_t | Checksum statistics for monitoring |
| Csapi_clocksync_backend_t | Backend vtable: an integrator's implementation of clock synchronization for a specific mechanism (PTP/GPS/NTP/custom). Any slot may be NULL if unsupported by the backend (-> SAPI_STATUS_NOT_SUPPORTED) |
| Csapi_const_buffer_t | Read-only view of a buffer's currently valid bytes. Grants no write access to the underlying storage |
| Csapi_cross_comparator_config_t | Configuration for sapi_cross_comparator_init() |
| Csapi_cross_comparator_storage_t | Storage for one cross-comparator instance (opaque to caller). No dynamic memory |
| Csapi_dual_ack_frame_t | SAPI_DUAL_FRAME_KIND_ACK payload |
| Csapi_dual_channel_config_t | Configuration for sapi_dual_channel_init() |
| Csapi_dual_channel_t | One sapi_dual_channel_t instance's state. Caller-owned storage; every field is private - reach it only through the functions below |
| Csapi_dual_frame_header_t | Common 4-byte header prefixing every Layer-2 frame; kept a fixed 4 bytes (not just 1) so the fields that follow in sapi_dual_ack_frame_t/sapi_dual_state_frame_t stay naturally aligned |
| Csapi_dual_heartbeat_frame_t | SAPI_DUAL_FRAME_KIND_HEARTBEAT payload - connection maintenance heartbeat |
| Csapi_dual_msgchannel_config_t | Configuration for sapi_dual_msgchannel_init() |
| Csapi_dual_msgchannel_t | One sapi_dual_msgchannel_t instance's state. Caller-owned storage (REQ-DUAL-MSGCHANNEL-001); opaque in practice, exposed here (not via SAFEAPI_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 |
| Csapi_dual_negotiator_config_t | Configuration for sapi_dual_negotiator_init() |
| Csapi_dual_negotiator_t | One sapi_dual_negotiator_t instance's state. Caller-owned storage; every field is private - reach it only through the functions below |
| Csapi_dual_state_frame_t | SAPI_DUAL_FRAME_KIND_STATE payload - sapi_dual_negotiator_t's own periodic beacon |
| Csapi_ipc_backend_t | Backend vtable: an integrator's implementation of the IPC service for a specific OS/RTOS (ADR-005). Any slot may be NULL if unsupported by the backend (-> SAPI_STATUS_NOT_SUPPORTED) |
| Csapi_ipc_config_t | Configuration for sapi_ipc_create() |
| Csapi_ipc_pubsub_subscriber_config_t | Configuration for a subscriber |
| Csapi_ipc_pubsub_topic_config_t | Configuration for a pub-sub topic |
| Csapi_ipc_rr_client_config_t | Configuration for request-reply client |
| Csapi_ipc_rr_request_t | Incoming request with context for sending reply |
| Csapi_ipc_rr_server_config_t | Configuration for request-reply server |
| Csapi_log_backend_t | Backend vtable: an integrator's implementation of the logging sink (ADR-005). Unlike every other OAL service, an unregistered backend is not an error here: sapi_log_write() with no backend registered silently does nothing, consistent with REQ-OAL-LOG-001 (logging must never affect caller control flow) |
| Csapi_log_fields_t | Bounded builder for sapi_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 sapi_string_concat()/sapi_string_append_u32() chain every time (MISRA C:2012 Rule 17.1 rules out a printf-style variadic here) |
| Csapi_log_level_name_t | One canonical level spelling <-> value pair for sapi_log_level_from_string() |
| Csapi_mem_pool_backend_t | Backend vtable: an integrator's implementation of the memory pool service (ADR-005). Any slot may be NULL if unsupported by the backend (-> SAPI_STATUS_NOT_SUPPORTED) |
| Csapi_mem_pool_config_t | Configuration for sapi_mem_pool_create() |
| Csapi_mutex_backend_t | Backend vtable: an integrator's implementation of the mutex service for a specific OS/RTOS/BSP target (ADR-033). Any slot may be NULL if that operation is unsupported by the backend, in which case the corresponding sapi_mutex_* call returns SAPI_STATUS_NOT_SUPPORTED |
| Csapi_netlink_backend_t | Backend vtable: an integrator's implementation of the network link service for a specific transport/target (ADR-005). Any slot may be NULL if unsupported by the backend (-> SAPI_STATUS_NOT_SUPPORTED) |
| Csapi_netlink_config_t | Configuration for sapi_netlink_open() |
| Csapi_nvm_backend_t | Backend vtable: an integrator's implementation of the NVM service for a specific storage medium (ADR-005). Any slot may be NULL if unsupported by the backend (-> SAPI_STATUS_NOT_SUPPORTED) |
| Csapi_nvm_config_t | Configuration for sapi_nvm_open() |
| Csapi_platform_backend_t | Backend vtable: an integrator's implementation of the real-time platform bring-up for a specific target (ADR-005) |
| Csapi_reboot_backend_t | Backend vtable: an integrator's implementation of the reboot mechanism for a specific target (ADR-005) |
| Csapi_safe_ptr_t | A 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 |
| Csapi_safechannel_config_t | Configuration for sapi_safechannel_open() |
| C[union].as | |
| Csapi_safechannel_dual_config_t | Configuration specific to SAPI_SAFECHANNEL_TYPE_DUAL_REDUNDANT |
| Csapi_safechannel_endpoint_t | One remote endpoint to open internally - replaces a caller- supplied sapi_netlink_handle_t (ADR-022 section 2.2) |
| Csapi_safechannel_t | Caller-owned storage for one sapi_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 SAPI_SAFECHANNEL_MAX_LINKS opened netlink links plus whichever of sapi_dual_channel_t/sapi_channel_t is in use |
| C[union].impl | |
| C[struct].impl.vital | |
| Csapi_safechannel_vital_config_t | Configuration specific to SAPI_SAFECHANNEL_TYPE_VITAL_VOTED |
| Csapi_string_t | Bounded string: buf.length is the string length, not counting a NUL |
| Csapi_task_backend_t | Backend vtable: an integrator's implementation of the task scheduling service for a specific OS/RTOS (ADR-005). Any slot may be NULL if unsupported by the backend (-> SAPI_STATUS_NOT_SUPPORTED) |
| Csapi_task_config_t | Configuration for sapi_task_create() |
| Csapi_timer_backend_t | Backend vtable: an integrator's implementation of the timer service for a specific OS/RTOS/BSP target (ADR-005). Any slot may be NULL if that operation is unsupported by the backend, in which case the corresponding sapi_timer_* call returns SAPI_STATUS_NOT_SUPPORTED |
| Csapi_timer_config_t | Configuration for sapi_timer_create() |
| Csapi_vital_message_t | Vital channel message with integrated CRC-64 |
| Csapi_voter_config_t | Configuration for sapi_voter_init() |
| Csapi_voter_storage_t | Storage for one voter instance (opaque to caller). No dynamic memory |
| Csapi_watchdog_config_t | Watchdog configuration |
| Csapi_watchdog_status_t | Watchdog health/status information |
| Csapi_watchdog_t | Watchdog handle (opaque) |