8#ifndef ZEPHYR_INCLUDE_FS_BM_ZMS_H_
9#define ZEPHYR_INCLUDE_FS_BM_ZMS_H_
12#include <zephyr/sys/atomic.h>
14#include <bm/storage/bm_storage.h>
117#if CONFIG_BM_ZMS_LOOKUP_CACHE
119 uint64_t lookup_cache[CONFIG_BM_ZMS_LOOKUP_CACHE_SIZE];
bm_zms_evt_type
Definition bm_zms.h:34
@ BM_ZMS_EVT_MOUNT
Definition bm_zms.h:38
@ BM_ZMS_EVT_CLEAR
Definition bm_zms.h:44
@ BM_ZMS_EVT_WRITE
Definition bm_zms.h:40
@ BM_ZMS_EVT_NONE
Definition bm_zms.h:36
@ BM_ZMS_EVT_DELETE
Definition bm_zms.h:42
void(* bm_zms_evt_handler_t)(const struct bm_zms_evt *evt)
Bare Metal ZMS event handler function prototype.
Definition bm_zms.h:81
int bm_zms_mount(struct bm_zms_fs *fs, const struct bm_zms_fs_config *config)
Mount a BM_ZMS file system.
ssize_t bm_zms_calc_free_space(struct bm_zms_fs *fs)
Calculate the available free space in the file system.
int bm_zms_clear(struct bm_zms_fs *fs)
Clear the BM_ZMS file system from device. The BM_ZMS file system must be re-mounted after this operat...
ssize_t bm_zms_active_sector_free_space(struct bm_zms_fs *fs)
Tells how much contiguous free space remains in the currently active BM_ZMS sector.
ssize_t bm_zms_read_hist(struct bm_zms_fs *fs, uint32_t id, void *data, size_t len, uint32_t cnt)
Read a history entry from the file system.
ssize_t bm_zms_write(struct bm_zms_fs *fs, uint32_t id, const void *data, size_t len)
Write an entry to the file system.
ssize_t bm_zms_get_data_length(struct bm_zms_fs *fs, uint32_t id)
Gets the length of the data that is stored in an entry with a given id
ssize_t bm_zms_read(struct bm_zms_fs *fs, uint32_t id, void *data, size_t len)
Read an entry from the file system.
int bm_zms_delete(struct bm_zms_fs *fs, uint32_t id)
Delete an entry from the file system.
Backend API.
Definition bm_storage.h:118
Information about the non-volatile memory.
Definition bm_storage.h:83
Storage instance.
Definition bm_storage.h:133
uint32_t id
Definition bm_zms.h:65
int result
Definition bm_zms.h:61
enum bm_zms_evt_type evt_type
Definition bm_zms.h:50
A BM_ZMS event.
Definition bm_zms.h:48
uint32_t sector_count
Definition bm_zms.h:132
bm_zms_evt_handler_t evt_handler
Definition bm_zms.h:134
off_t offset
Definition bm_zms.h:126
const struct bm_storage_api * storage_api
Definition bm_zms.h:136
uint32_t sector_size
Definition bm_zms.h:130
atomic_t ongoing_writes
Definition bm_zms.h:114
struct bm_storage zms_bm_storage
Definition bm_zms.h:110
uint64_t ate_wra
Definition bm_zms.h:92
uint64_t data_wra
Definition bm_zms.h:96
bm_zms_evt_handler_t evt_handler
Definition bm_zms.h:116
uint64_t ate_ra
Definition bm_zms.h:94
size_t ate_size
Definition bm_zms.h:108
off_t offset
Definition bm_zms.h:86
const struct bm_storage_info * nvm_info
Definition bm_zms.h:112
uint8_t sector_cycle
Definition bm_zms.h:104
uint32_t sector_count
Definition bm_zms.h:102
uint32_t sector_size
Definition bm_zms.h:100
struct bm_zms_init_flags init_flags
Definition bm_zms.h:106
volatile bool initialized
Definition bm_zms.h:71
volatile bool initializing
Definition bm_zms.h:73