13#ifndef INFUSE_SDK_INCLUDE_INFUSE_FS_KV_STORE_H_
14#define INFUSE_SDK_INCLUDE_INFUSE_FS_KV_STORE_H_
20#include <zephyr/sys/slist.h>
161#define KV_STORE_WRITE(key, data) kv_store_write(key, data, sizeof(*data))
186#define KV_STORE_READ(key, data) kv_store_read(key, data, sizeof(*data))
200 size_t fallback_len);
211#define KV_STORE_READ_FALLBACK(key, data, fallback) \
212 kv_store_read_fallback(key, data, sizeof(*data), fallback, sizeof(*fallback))
int kv_store_external_read_only(uint16_t key)
Check whether a given keys data is valid to update externally.
bool kv_store_key_exists(uint16_t key)
Check whether a given key exists in the store.
void * kv_store_fs(void)
Get filesystem used by KV store.
int kv_store_external_write_only(uint16_t key)
Check whether a given keys data is valid to return externally.
ssize_t kv_store_delete(uint16_t key)
Delete a value from the KV store.
int kv_store_reset(void)
Reset key-value storage.
ssize_t kv_store_read(uint16_t key, void *data, size_t max_data_len)
Read a value from the KV store.
bool kv_store_key_enabled(uint16_t key)
Check whether a given key is valid for reading/writing.
ssize_t kv_store_write(uint16_t key, const void *data, size_t data_len)
Write a value to the KV store.
ssize_t kv_store_read_fallback(uint16_t key, void *data, size_t max_data_len, const void *fallback, size_t fallback_len)
Read a key from the KV store, with a fallback if it doesn't exist.
uint32_t kv_store_reflect_crc(void)
Get the current KV store reflect CRC.
void kv_store_register_callback(struct kv_store_cb *cb)
Register to be notified of KV store events.
KV store callback structure.
Definition kv_store.h:33
void(* value_changed)(uint16_t key, const void *data, size_t data_len, void *user_ctx)
The value for a key has changed.
Definition kv_store.h:44
void * user_ctx
Definition kv_store.h:47
sys_snode_t node
Definition kv_store.h:49