WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
nv_store.c 文件参考
#include "nv_store.h"
#include "nv_key.h"
#include "nv_page.h"
#include "nv_nvregion.h"
#include "securec.h"
#include "nv_porting.h"
#include "common_def.h"
#include "nv.h"
nv_store.c 的引用(Include)关系图:

宏定义

#define kv_page_base(a)   ((uint8_t *)(((uint32_t)(a)) & ~(KV_PAGE_SIZE - 1)))
 
#define kv_is_pointer_in_page(x, p)
 
#define kv_is_pointer_word_aligned(x)   (((uint32_t)(x) & 0x3) == 0)
 
#define kv_bytes_to_words(x)   (((x)+3) >> 2) /* minimal number of words needed to store that many bytes */
 
#define kv_is_mem_in_page(x, y, p)
 

函数

uint16_t kv_store_get_id (kv_store_t store)
 
uint8_t kv_store_get_page_count (kv_store_t store)
 
errcode_t kv_store_get_page_handle (kv_store_t store, uint32_t page_index, kv_page_handle_t *page)
 
errcode_t kv_store_find_valid_key (kv_store_t store, kv_key_id key_id, kv_key_handle_t *key)
 
errcode_t kv_store_get_key_attr (kv_store_t store, kv_key_id key_id, uint16_t *len, kv_attributes_t *attributes)
 
errcode_t kv_store_get_backup_key_attr (kv_key_id key_id, uint16_t *len, kv_attributes_t *attributes, kv_key_handle_t *backup_key)
 
errcode_t kv_store_read_backup_key (kv_key_id key_id, kv_store_key_data_t *key_data, kv_attributes_t *attributes)
 
errcode_t kv_store_get_key (kv_store_t store, kv_key_id key_id, kv_store_key_data_t *key_data, kv_attributes_t *attributes)
 
errcode_t kv_store_get_backup_key (kv_key_id key_id, kv_store_key_data_t *key_data, kv_attributes_t *attributes, kv_page_location page_location)
 
errcode_t kv_store_get_status (kv_store_t store, nv_store_status_t *store_status)
 
errcode_t kv_store_find_write_page (kv_store_t store, uint32_t required_space, kv_page_handle_t *page, kv_page_status_t *page_status)
 

宏定义说明

◆ kv_bytes_to_words

#define kv_bytes_to_words (   x)    (((x)+3) >> 2) /* minimal number of words needed to store that many bytes */

◆ kv_is_mem_in_page

#define kv_is_mem_in_page (   x,
  y,
 
)
值:
((kv_is_pointer_in_page((x), (p))) && \
(kv_is_pointer_in_page(((uint32_t)(x) + ((uint32_t)(y) - 1)), (p))))
#define kv_is_pointer_in_page(x, p)
Definition nv_store.c:16

◆ kv_is_pointer_in_page

#define kv_is_pointer_in_page (   x,
 
)
值:
((((uint32_t)(x)) >= ((uint32_t) (p))) && \
(((uint32_t)(x)) < (((uint32_t) (p)) + KV_PAGE_SIZE)))
#define KV_PAGE_SIZE
Definition nv_config.h:21

◆ kv_is_pointer_word_aligned

#define kv_is_pointer_word_aligned (   x)    (((uint32_t)(x) & 0x3) == 0)

◆ kv_page_base

#define kv_page_base (   a)    ((uint8_t *)(((uint32_t)(a)) & ~(KV_PAGE_SIZE - 1)))

函数说明

◆ kv_store_find_valid_key()

errcode_t kv_store_find_valid_key ( kv_store_t  store,
kv_key_id  key_id,
kv_key_handle_t key 
)

◆ kv_store_find_write_page()

errcode_t kv_store_find_write_page ( kv_store_t  store,
uint32_t  required_space,
kv_page_handle_t page,
kv_page_status_t page_status 
)

◆ kv_store_get_backup_key()

errcode_t kv_store_get_backup_key ( kv_key_id  key_id,
kv_store_key_data_t key_data,
kv_attributes_t attributes,
kv_page_location  page_location 
)

◆ kv_store_get_backup_key_attr()

errcode_t kv_store_get_backup_key_attr ( kv_key_id  key_id,
uint16_t *  len,
kv_attributes_t attributes,
kv_key_handle_t backup_key 
)

◆ kv_store_get_id()

uint16_t kv_store_get_id ( kv_store_t  store)

◆ kv_store_get_key()

errcode_t kv_store_get_key ( kv_store_t  store,
kv_key_id  key_id,
kv_store_key_data_t key_data,
kv_attributes_t attributes 
)

◆ kv_store_get_key_attr()

errcode_t kv_store_get_key_attr ( kv_store_t  store,
kv_key_id  key_id,
uint16_t *  len,
kv_attributes_t attributes 
)

◆ kv_store_get_page_count()

uint8_t kv_store_get_page_count ( kv_store_t  store)

◆ kv_store_get_page_handle()

errcode_t kv_store_get_page_handle ( kv_store_t  store,
uint32_t  page_index,
kv_page_handle_t page 
)

◆ kv_store_get_status()

errcode_t kv_store_get_status ( kv_store_t  store,
nv_store_status_t store_status 
)

◆ kv_store_read_backup_key()

errcode_t kv_store_read_backup_key ( kv_key_id  key_id,
kv_store_key_data_t key_data,
kv_attributes_t attributes 
)