Zephyr API Documentation  3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches

Non-volatile Storage APIs. More...

Functions

int nvs_mount (struct nvs_fs *fs)
 Mount an NVS file system onto the flash device specified in fs.
 
int nvs_clear (struct nvs_fs *fs)
 Clear the NVS file system from flash.
 
ssize_t nvs_write (struct nvs_fs *fs, uint16_t id, const void *data, size_t len)
 Write an entry to the file system.
 
int nvs_delete (struct nvs_fs *fs, uint16_t id)
 Delete an entry from the file system.
 
ssize_t nvs_read (struct nvs_fs *fs, uint16_t id, void *data, size_t len)
 Read an entry from the file system.
 
ssize_t nvs_read_hist (struct nvs_fs *fs, uint16_t id, void *data, size_t len, uint16_t cnt)
 Read a history entry from the file system.
 
ssize_t nvs_calc_free_space (struct nvs_fs *fs)
 Calculate the available free space in the file system.
 

Detailed Description

Non-volatile Storage APIs.

Function Documentation

◆ nvs_calc_free_space()

ssize_t nvs_calc_free_space ( struct nvs_fs fs)

#include <zephyr/fs/nvs.h>

Calculate the available free space in the file system.

Parameters
fsPointer to file system
Returns
Number of bytes free. On success, it will be equal to the number of bytes that can still be written to the file system. Calculating the free space is a time consuming operation, especially on spi flash. On error, returns negative value of errno.h defined error codes.

◆ nvs_clear()

int nvs_clear ( struct nvs_fs fs)

#include <zephyr/fs/nvs.h>

Clear the NVS file system from flash.

Parameters
fsPointer to file system
Return values
0Success
-ERRNOerrno code if error

◆ nvs_delete()

int nvs_delete ( struct nvs_fs fs,
uint16_t  id 
)

#include <zephyr/fs/nvs.h>

Delete an entry from the file system.

Parameters
fsPointer to file system
idId of the entry to be deleted
Return values
0Success
-ERRNOerrno code if error

◆ nvs_mount()

int nvs_mount ( struct nvs_fs fs)

#include <zephyr/fs/nvs.h>

Mount an NVS file system onto the flash device specified in fs.

Parameters
fsPointer to file system
Return values
0Success
-ERRNOerrno code if error

◆ nvs_read()

ssize_t nvs_read ( struct nvs_fs fs,
uint16_t  id,
void *  data,
size_t  len 
)

#include <zephyr/fs/nvs.h>

Read an entry from the file system.

Parameters
fsPointer to file system
idId of the entry to be read
dataPointer to data buffer
lenNumber of bytes to be read
Returns
Number of bytes read. On success, it will be equal to the number of bytes requested to be read. When the return value is larger than the number of bytes requested to read this indicates not all bytes were read, and more data is available. On error, returns negative value of errno.h defined error codes.

◆ nvs_read_hist()

ssize_t nvs_read_hist ( struct nvs_fs fs,
uint16_t  id,
void *  data,
size_t  len,
uint16_t  cnt 
)

#include <zephyr/fs/nvs.h>

Read a history entry from the file system.

Parameters
fsPointer to file system
idId of the entry to be read
dataPointer to data buffer
lenNumber of bytes to be read
cntHistory counter: 0: latest entry, 1: one before latest ...
Returns
Number of bytes read. On success, it will be equal to the number of bytes requested to be read. When the return value is larger than the number of bytes requested to read this indicates not all bytes were read, and more data is available. On error, returns negative value of errno.h defined error codes.

◆ nvs_write()

ssize_t nvs_write ( struct nvs_fs fs,
uint16_t  id,
const void *  data,
size_t  len 
)

#include <zephyr/fs/nvs.h>

Write an entry to the file system.

Note
When len parameter is equal to 0 then entry is effectively removed (it is equivalent to calling of nvs_delete). Any calls to nvs_read for entries with data of length 0 will return error.
It is not possible to distinguish between deleted entry and entry with data of length 0.
Parameters
fsPointer to file system
idId of the entry to be written
dataPointer to the data to be written
lenNumber of bytes to be written
Returns
Number of bytes written. On success, it will be equal to the number of bytes requested to be written. When a rewrite of the same data already stored is attempted, nothing is written to flash, thus 0 is returned. On error, returns negative value of errno.h defined error codes.