Nexus Embedded Platform 0.1.0
Statically assembled reusable embedded mechanisms
Loading...
Searching...
No Matches
nx_storage_port_t Struct Reference

Synchronous settled persistent Flash port. More...

#include <storage.h>

Data Fields

void * ctx
size_t size
size_t erase_size
size_t program_size
nx_storage_status_t(* read )(void *, size_t, void *, size_t)
nx_storage_status_t(* program )(void *, size_t, const void *, size_t)
nx_storage_status_t(* erase )(void *, size_t, size_t)
nx_storage_status_t(* sync )(void *)

Detailed Description

Synchronous settled persistent Flash port.

Note
Task-only; caller serializes every operation. Offsets are byte-relative to the supplied region. program changes only 1 to 0 in complete aligned program units; erase uses complete uniform erase units. sync makes earlier successful writes durable. Errors can change a subset of addressed units, but never retain caller buffers after returning. RAM is a model, not a persistent implementation. Product owns the region/layout and power policy.

Definition at line 38 of file storage.h.

Field Documentation

◆ ctx

void* nx_storage_port_t::ctx

Definition at line 39 of file storage.h.

◆ erase

nx_storage_status_t(* nx_storage_port_t::erase) (void *, size_t, size_t)

Definition at line 45 of file storage.h.

◆ erase_size

size_t nx_storage_port_t::erase_size

Definition at line 41 of file storage.h.

◆ program

nx_storage_status_t(* nx_storage_port_t::program) (void *, size_t, const void *, size_t)

Definition at line 44 of file storage.h.

◆ program_size

size_t nx_storage_port_t::program_size

Definition at line 42 of file storage.h.

◆ read

nx_storage_status_t(* nx_storage_port_t::read) (void *, size_t, void *, size_t)

Definition at line 43 of file storage.h.

◆ size

size_t nx_storage_port_t::size

Definition at line 40 of file storage.h.

◆ sync

nx_storage_status_t(* nx_storage_port_t::sync) (void *)

Definition at line 46 of file storage.h.


The documentation for this struct was generated from the following file:
  • components/storage/include/nexus/components/storage.h