Zephyr API Documentation  3.0.0
A Scalable Open Source RTOS
3.0.0
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
nvs.h
Go to the documentation of this file.
1/* NVS: non volatile storage in flash
2 *
3 * Copyright (c) 2018 Laczen
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7#ifndef ZEPHYR_INCLUDE_FS_NVS_H_
8#define ZEPHYR_INCLUDE_FS_NVS_H_
9
10#include <sys/types.h>
11#include <kernel.h>
12#include <device.h>
13
14#ifdef __cplusplus
15extern "C" {
16#endif
17
47struct nvs_fs {
48 off_t offset;
53 bool ready;
55 const struct device *flash_device;
57};
58
80int nvs_init(struct nvs_fs *fs, const char *dev_name);
81
90int nvs_clear(struct nvs_fs *fs);
91
106ssize_t nvs_write(struct nvs_fs *fs, uint16_t id, const void *data, size_t len);
107
118int nvs_delete(struct nvs_fs *fs, uint16_t id);
119
135ssize_t nvs_read(struct nvs_fs *fs, uint16_t id, void *data, size_t len);
136
153ssize_t nvs_read_hist(struct nvs_fs *fs, uint16_t id, void *data, size_t len, uint16_t cnt);
154
167
172#ifdef __cplusplus
173}
174#endif
175
176#endif /* ZEPHYR_INCLUDE_FS_NVS_H_ */
int nvs_init(struct nvs_fs *fs, const char *dev_name)
nvs_init
ssize_t nvs_read(struct nvs_fs *fs, uint16_t id, void *data, size_t len)
nvs_read
ssize_t nvs_write(struct nvs_fs *fs, uint16_t id, const void *data, size_t len)
nvs_write
ssize_t nvs_calc_free_space(struct nvs_fs *fs)
nvs_calc_free_space
int nvs_clear(struct nvs_fs *fs)
nvs_clear
int nvs_delete(struct nvs_fs *fs, uint16_t id)
nvs_delete
ssize_t nvs_read_hist(struct nvs_fs *fs, uint16_t id, void *data, size_t len, uint16_t cnt)
nvs_read_hist
__SIZE_TYPE__ ssize_t
Definition: types.h:28
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
__UINT16_TYPE__ uint16_t
Definition: stdint.h:59
Runtime device structure (in ROM) per driver instance.
Definition: device.h:450
Definition: flash.h:55
Definition: kernel.h:2629
Non-volatile Storage File system structure.
Definition: nvs.h:47
const struct device * flash_device
Definition: nvs.h:55
uint16_t sector_size
Definition: nvs.h:51
bool ready
Definition: nvs.h:53
const struct flash_parameters * flash_parameters
Definition: nvs.h:56
struct k_mutex nvs_lock
Definition: nvs.h:54
off_t offset
Definition: nvs.h:48
uint32_t ate_wra
Definition: nvs.h:49
uint16_t sector_count
Definition: nvs.h:52
uint32_t data_wra
Definition: nvs.h:50
static fdata_t data[2]
Definition: test_fifo_contexts.c:15