6#ifndef CAFFEINE_SAL_UTL_KV_H
7#define CAFFEINE_SAL_UTL_KV_H
19#define CFN_SAL_UTL_TYPE_KEY_VALUE CFN_SAL_TYPE('K', 'V', 'S')
48 cfn_hal_error_code_t (*
get)(
66 uint32_t peripheral_id,
74 CFN_HAL_POPULATE_DRIVER(
90 return CFN_HAL_ERROR_BAD_PARAM;
92 driver->base.vmt = (
const struct cfn_hal_api_base_s *) driver->api;
100 return CFN_HAL_ERROR_BAD_PARAM;
110 return CFN_HAL_ERROR_BAD_PARAM;
112 driver->config = config;
119 if (!driver || !config || !driver->config)
121 return CFN_HAL_ERROR_BAD_PARAM;
123 *config = *(driver->config);
124 return CFN_HAL_ERROR_OK;
133 return CFN_HAL_ERROR_BAD_PARAM;
135 driver->cb = callback;
136 driver->cb_user_arg = user_arg;
137 return cfn_hal_base_callback_register(
142 cfn_hal_power_state_t state)
146 return CFN_HAL_ERROR_BAD_PARAM;
156 return CFN_HAL_ERROR_BAD_PARAM;
166 return CFN_HAL_ERROR_BAD_PARAM;
172 uint32_t *event_mask)
176 return CFN_HAL_ERROR_BAD_PARAM;
186 return CFN_HAL_ERROR_BAD_PARAM;
196 return CFN_HAL_ERROR_BAD_PARAM;
202 uint32_t *error_mask)
206 return CFN_HAL_ERROR_BAD_PARAM;
218 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
226 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
233 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
240 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
249 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
Core definitions and macros for Caffeine SAL.
#define CFN_SAL_CREATE_DRIVER_TYPE(prefix, config_type, api_type, phy_type, cb_type)
Definition cfn_sal.h:38
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_get(cfn_sal_utl_key_value_t *driver, const char *key, void *val_buf, size_t max_len, size_t *actual_len)
Definition cfn_sal_utl_kv.h:223
cfn_hal_error_code_t cfn_sal_utl_key_value_construct(cfn_sal_utl_key_value_t *driver, const cfn_sal_utl_key_value_config_t *config, const cfn_sal_phy_t *phy, void *dependency, cfn_sal_utl_key_value_callback_t callback, void *user_arg)
CFN_HAL_VMT_CHECK(struct cfn_sal_utl_key_value_api_s)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_error_disable(cfn_sal_utl_key_value_t *driver, uint32_t error_mask)
Definition cfn_sal_utl_kv.h:191
struct cfn_sal_utl_key_value_s cfn_sal_utl_key_value_t
Definition cfn_sal_utl_kv.h:31
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_callback_register(cfn_sal_utl_key_value_t *driver, cfn_sal_utl_key_value_callback_t callback, void *user_arg)
Definition cfn_sal_utl_kv.h:127
CFN_HAL_INLINE void cfn_sal_utl_key_value_populate(cfn_sal_utl_key_value_t *driver, uint32_t peripheral_id, void *dependency, const cfn_sal_utl_key_value_api_t *api, const cfn_sal_phy_t *phy, const cfn_sal_utl_key_value_config_t *config, cfn_sal_utl_key_value_callback_t callback, void *user_arg)
Definition cfn_sal_utl_kv.h:65
#define CFN_SAL_UTL_TYPE_KEY_VALUE
Definition cfn_sal_utl_kv.h:19
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_get_info(cfn_sal_utl_key_value_t *driver, size_t *used_bytes, size_t *total_bytes)
Definition cfn_sal_utl_kv.h:245
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_clear(cfn_sal_utl_key_value_t *driver)
Definition cfn_sal_utl_kv.h:238
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_event_get(cfn_sal_utl_key_value_t *driver, uint32_t *event_mask)
Definition cfn_sal_utl_kv.h:171
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_set(cfn_sal_utl_key_value_t *driver, const char *key, const void *val, size_t len)
Definition cfn_sal_utl_kv.h:213
cfn_hal_error_code_t cfn_sal_utl_key_value_destruct(cfn_sal_utl_key_value_t *driver)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_config_set(cfn_sal_utl_key_value_t *driver, const cfn_sal_utl_key_value_config_t *config)
Definition cfn_sal_utl_kv.h:105
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_deinit(cfn_sal_utl_key_value_t *driver)
Definition cfn_sal_utl_kv.h:96
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_init(cfn_sal_utl_key_value_t *driver)
Definition cfn_sal_utl_kv.h:86
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_event_enable(cfn_sal_utl_key_value_t *driver, uint32_t event_mask)
Definition cfn_sal_utl_kv.h:151
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_power_state_set(cfn_sal_utl_key_value_t *driver, cfn_hal_power_state_t state)
Definition cfn_sal_utl_kv.h:141
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_error_enable(cfn_sal_utl_key_value_t *driver, uint32_t error_mask)
Definition cfn_sal_utl_kv.h:181
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_error_get(cfn_sal_utl_key_value_t *driver, uint32_t *error_mask)
Definition cfn_sal_utl_kv.h:201
void(* cfn_sal_utl_key_value_callback_t)(cfn_sal_utl_key_value_t *driver, uint32_t event, uint32_t error, void *user_arg)
Definition cfn_sal_utl_kv.h:34
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_config_get(cfn_sal_utl_key_value_t *driver, cfn_sal_utl_key_value_config_t *config)
Definition cfn_sal_utl_kv.h:116
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_del(cfn_sal_utl_key_value_t *driver, const char *key)
Definition cfn_sal_utl_kv.h:231
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_key_value_event_disable(cfn_sal_utl_key_value_t *driver, uint32_t event_mask)
Definition cfn_sal_utl_kv.h:161
Generic physical mapping for services.
Definition cfn_sal_types.h:26
Key-Value Store Virtual Method Table (VMT).
Definition cfn_sal_utl_kv.h:43
cfn_hal_error_code_t(* clear)(cfn_sal_utl_key_value_t *driver)
Definition cfn_sal_utl_kv.h:51
cfn_hal_error_code_t(* get)(cfn_sal_utl_key_value_t *driver, const char *key, void *val_buf, size_t max_len, size_t *actual_len)
Definition cfn_sal_utl_kv.h:48
cfn_hal_error_code_t(* del)(cfn_sal_utl_key_value_t *driver, const char *key)
Definition cfn_sal_utl_kv.h:50
cfn_hal_error_code_t(* get_info)(cfn_sal_utl_key_value_t *driver, size_t *used_bytes, size_t *total_bytes)
Definition cfn_sal_utl_kv.h:52
cfn_hal_error_code_t(* set)(cfn_sal_utl_key_value_t *driver, const char *key, const void *val, size_t len)
Definition cfn_sal_utl_kv.h:47
cfn_hal_api_base_t base
Definition cfn_sal_utl_kv.h:44
Definition cfn_sal_utl_kv.h:26
const char * partition_name
Definition cfn_sal_utl_kv.h:27
void * custom
Definition cfn_sal_utl_kv.h:28