|
Safe API Framework 0.1.0 build 384e6ae
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
|
OS Abstraction Layer - Inter-process/inter-task communication service. More...
Go to the source code of this file.
Data Structures | |
| struct | rte_ipc_config_t |
| Configuration for rte_ipc_create(). More... | |
Typedefs | |
| typedef struct rte_ipc_impl_s * | rte_ipc_handle_t |
| Opaque handle to a created IPC channel, returned by rte_ipc_create(). | |
Functions | |
| RTE_DECLARE_STORAGE (rte_ipc_storage_t, 64U) | |
| Caller-owned, fixed-size storage backing one rte_ipc_handle_t. | |
| rte_status_t | rte_ipc_create (rte_ipc_storage_t *storage, const rte_ipc_config_t *config, rte_ipc_handle_t *out_handle) |
| Creates a bounded message channel. | |
| rte_status_t | rte_ipc_send (rte_ipc_handle_t handle, const void *message, size_t message_size, rte_duration_ms_t timeout_ms) |
| Sends one message, blocking at most timeout_ms. | |
| rte_status_t | rte_ipc_receive (rte_ipc_handle_t handle, void *out_message, size_t buffer_size, rte_duration_ms_t timeout_ms) |
| Receives one message, blocking at most timeout_ms. | |
| rte_status_t | rte_ipc_destroy (rte_ipc_handle_t handle) |
| Destroys a message channel. | |
OS Abstraction Layer - Inter-process/inter-task communication service.
Bounded message queues/channels between safety tasks. Intended as the transport underneath a future L1 safety communication layer (sequence numbers, timeouts, authentication per EN 50159) - those defenses are out of scope here; this service only guarantees bounded, non-corrupting transport of fixed-size messages. See ADR-001.
REQ-OAL-IPC-001: queues are bounded and statically sized at creation; no unbounded growth. REQ-OAL-IPC-002: send/receive shall accept an explicit timeout and shall never block indefinitely by default.
Definition in file rte_ipc.h.