Safe API Framework
Layered API framework for safety-related applications (ERTMS RBC reference targeting CENELEC EN 50128 SIL 4)
Loading...
Searching...
No Matches
sapi_ipc.c File Reference

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

Include dependency graph for sapi_ipc.c:

Go to the source code of this file.

Functions

sapi_status_t sapi_ipc_register_backend (const sapi_ipc_backend_t *backend)
 Registers the backend implementation used by every sapi_ipc_* call (ADR-005 section 2.1). Call once at startup.
sapi_status_t sapi_ipc_create (sapi_ipc_storage_t *storage, const sapi_ipc_config_t *config, sapi_ipc_handle_t *out_handle)
 Creates a bounded message channel.
sapi_status_t sapi_ipc_send (sapi_ipc_handle_t handle, const void *message, size_t message_size, sapi_duration_ms_t timeout_ms)
 Sends one message, blocking at most timeout_ms.
sapi_status_t sapi_ipc_receive (sapi_ipc_handle_t handle, void *out_message, size_t buffer_size, sapi_duration_ms_t timeout_ms)
 Receives one message, blocking at most timeout_ms.
sapi_status_t sapi_ipc_destroy (sapi_ipc_handle_t handle)
 Destroys a message channel.

Variables

static const sapi_ipc_backend_ts_backend = NULL
 Currently registered backend, or NULL if none (ADR-005).

Detailed Description

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

Definition in file sapi_ipc.c.

Variable Documentation

◆ s_backend

const sapi_ipc_backend_t* s_backend = NULL
static

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

Local makros Local types declarations Local variables declarations

Definition at line 17 of file sapi_ipc.c.