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

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

Include dependency graph for rte_nvm.c:

Go to the source code of this file.

Functions

rte_status_t rte_osadapter_nvm_register (const rte_osadapter_nvm_t *osadapter)
 Registers the OSAdapter NVM implementation.
rte_status_t rte_nvm_open (rte_nvm_storage_t *storage, const rte_nvm_config_t *config, rte_nvm_handle_t *out_handle)
 Opens (creating if necessary) a named NVM region.
rte_status_t rte_nvm_read (rte_nvm_handle_t handle, size_t offset, void *out_buffer, size_t buffer_size)
 Reads and integrity-checks data from an NVM region.
rte_status_t rte_nvm_write (rte_nvm_handle_t handle, size_t offset, const void *buffer, size_t buffer_size)
 Writes data and its integrity metadata to an NVM region.
rte_status_t rte_nvm_sync (rte_nvm_handle_t handle)
 Forces any buffered writes to durable storage.
rte_status_t rte_nvm_close (rte_nvm_handle_t handle)
 Closes an NVM region handle.

Variables

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

Detailed Description

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

Definition in file rte_nvm.c.

Function Documentation

◆ rte_osadapter_nvm_register()

rte_status_t rte_osadapter_nvm_register ( const rte_osadapter_nvm_t * adapter)

Registers the OSAdapter NVM implementation.

Global variables declarations Local function declarations Global functions

Parameters
adapterPointer to NVM 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-NVM-015: 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_nvm.c.

Variable Documentation

◆ s_osadapter

const rte_osadapter_nvm_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_nvm.c.