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_task.h File Reference

OS Abstraction Layer - Task/thread scheduling service. More...

Include dependency graph for rte_task.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  rte_task_config_t
 Configuration for rte_task_create(). More...

Typedefs

typedef struct rte_task_impl_s * rte_task_handle_t
 Opaque handle to a created task, returned by rte_task_create().
typedef void(*) rte_task_entry_t(void *user_ctx)
 Task entry point, invoked cyclically at the configured period.

Functions

 RTE_DECLARE_STORAGE (rte_task_storage_t, 128U)
 Caller-owned, fixed-size storage backing one rte_task_handle_t.
rte_status_t rte_task_create (rte_task_storage_t *storage, const rte_task_config_t *config, rte_task_handle_t *out_handle)
 Creates a task in the suspended state.
rte_status_t rte_task_start (rte_task_handle_t handle)
 Starts a created task.
rte_status_t rte_task_suspend (rte_task_handle_t handle)
 Suspends a running task.
rte_status_t rte_task_destroy (rte_task_handle_t handle)
 Terminates and destroys a task.

Detailed Description

OS Abstraction Layer - Task/thread scheduling service.

Creation of periodic/cyclic safety tasks with fixed priorities, matching the cyclic processing model typical of RBC implementations. See ADR-001.

REQ-OAL-TASK-001: no dynamic allocation; caller supplies storage and a fixed-size stack/context region (osadapter-defined use). REQ-OAL-TASK-002: priorities are fixed at creation time; no dynamic priority inheritance/inversion handling is assumed by this API - that is an OSAdapter/RTOS concern.

Definition in file rte_task.h.