kernel::hil::nonvolatile_storage

Trait NonvolatileStorage

Source
pub trait NonvolatileStorage<'a> {
    // Required methods
    fn set_client(&self, client: &'a dyn NonvolatileStorageClient);
    fn read(
        &self,
        buffer: &'static mut [u8],
        address: usize,
        length: usize,
    ) -> Result<(), ErrorCode>;
    fn write(
        &self,
        buffer: &'static mut [u8],
        address: usize,
        length: usize,
    ) -> Result<(), ErrorCode>;
}
Expand description

Simple interface for reading and writing nonvolatile memory. It is expected that drivers for nonvolatile memory would implement this trait.

Required Methods§

Source

fn set_client(&self, client: &'a dyn NonvolatileStorageClient)

Source

fn read( &self, buffer: &'static mut [u8], address: usize, length: usize, ) -> Result<(), ErrorCode>

Read length bytes starting at address address in to the provided buffer. The buffer must be at least length bytes long. The address must be in the address space of the physical storage.

Source

fn write( &self, buffer: &'static mut [u8], address: usize, length: usize, ) -> Result<(), ErrorCode>

Write length bytes starting at address address from the provided buffer. The buffer must be at least length bytes long. This address must be in the address space of the physical storage.

Implementors§