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_ipc.c File Reference

IPC service: validates parameters, then dispatches to the OSAdapter registered via rte_osadapter_ipc_register() (ADR-005). More...

Include dependency graph for rte_ipc.c:

Go to the source code of this file.

Functions

rte_status_t rte_osadapter_ipc_register (const rte_osadapter_ipc_t *osadapter)
 Registers the OSAdapter IPC implementation.
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.

Variables

static const rte_osadapter_ipc_t * s_osadapter = NULL
 Currently registered OSAdapter, or NULL if none (ADR-005).

Detailed Description

IPC service: validates parameters, then dispatches to the OSAdapter registered via rte_osadapter_ipc_register() (ADR-005).

Definition in file rte_ipc.c.

Function Documentation

◆ rte_osadapter_ipc_register()

rte_status_t rte_osadapter_ipc_register ( const rte_osadapter_ipc_t * adapter)

Registers the OSAdapter IPC implementation.

Global variables declarations Local function declarations Global functions

Parameters
adapterPointer to IPC operations vtable.
Returns
RTE_STATUS_OK on success, RTE_STATUS_INVALID_PARAM if adapter is NULL, or RTE_STATUS_INVALID_STATE if the setup phase is already locked (REQ-LIFECYCLE-001, ADR-026; the previous registration, if any, is kept).

REQ-OAL-IPC-014: Follows the OSAdapter-registration contract (ADR-005 section 2.1): a NULL adapter is rejected with RTE_STATUS_INVALID_PARAM; re-registering replaces the previous OSAdapter.

Definition at line 25 of file rte_ipc.c.

Variable Documentation

◆ s_osadapter

const rte_osadapter_ipc_t* s_osadapter = NULL
static

Currently registered OSAdapter, or NULL if none (ADR-005).

Local makros Local types declarations Local variables declarations

Definition at line 17 of file rte_ipc.c.