Wirepas SDK
wms_secure_storage.h
Go to the documentation of this file.
1 /* Copyright 2024 Wirepas Ltd. All Rights Reserved.
2  *
3  * See file LICENSE.txt for full license details.
4  *
5  */
6 
20 #ifndef APP_LIB_SECURE_STORAGE_H_
21 #define APP_LIB_SECURE_STORAGE_H_
22 
23 #include <stdlib.h>
24 #include <stdint.h>
25 #include <stdbool.h>
26 
27 #include "wms_app.h"
28 #include "wms_memory_area.h"
29 
31 #define APP_LIB_SECURE_STORAGE_NAME 0x74be4415
32 
33 
34 #define APP_LIB_SECURE_STORAGE_VERSION 0x200
35 
37 typedef enum
38 {
46 
51 
53 typedef enum
54 {
60 
85  uint32_t flags);
86 
106  void * to, size_t * max_amount);
107 
131  const void * from,
132  size_t amount,
133  uint32_t flags);
134 
147 
151 typedef struct
152 {
158 
159 #endif /* APP_LIB_SECURE_STORAGE_H_ */
APP_LIB_SECURE_STORAGE_RECORD_FLAG_NO_ENCRYPT
@ APP_LIB_SECURE_STORAGE_RECORD_FLAG_NO_ENCRYPT
Definition: wms_secure_storage.h:56
app_lib_secure_storage_t::writeRecord
app_lib_secure_storage_write_record_f writeRecord
Definition: wms_secure_storage.h:155
APP_LIB_SECURE_STORAGE_CMD_NO_INIT
@ APP_LIB_SECURE_STORAGE_CMD_NO_INIT
Definition: wms_secure_storage.h:42
app_lib_mem_area_id_t
uint32_t app_lib_mem_area_id_t
Memory Area id definition.
Definition: wms_memory_area.h:63
app_lib_secure_storage_t::initArea
app_lib_secure_storage_init_area_f initArea
Definition: wms_secure_storage.h:153
wms_app.h
app_lib_secure_storage_record_tag_t
uint32_t app_lib_secure_storage_record_tag_t
Secure storage record tag definition.
Definition: wms_secure_storage.h:50
app_lib_secure_storage_t::readRecord
app_lib_secure_storage_read_record_f readRecord
Definition: wms_secure_storage.h:154
APP_LIB_SECURE_STORAGE_CMD_INIT
@ APP_LIB_SECURE_STORAGE_CMD_INIT
Definition: wms_secure_storage.h:40
app_lib_secure_storage_delete_record_f
app_lib_mem_area_res_e(* app_lib_secure_storage_delete_record_f)(app_lib_mem_area_id_t id, app_lib_secure_storage_record_tag_t tag)
Delete a record in the secure storage area.
Definition: wms_secure_storage.h:145
app_lib_secure_storage_command_e
app_lib_secure_storage_command_e
Secure storage initialization command.
Definition: wms_secure_storage.h:37
app_lib_secure_storage_t
List of library functions.
Definition: wms_secure_storage.h:151
app_lib_secure_storage_read_record_f
app_lib_mem_area_res_e(* app_lib_secure_storage_read_record_f)(app_lib_mem_area_id_t id, app_lib_secure_storage_record_tag_t tag, void *to, size_t *max_amount)
Read a record from the secure storage area.
Definition: wms_secure_storage.h:104
app_lib_secure_storage_init_area_f
app_lib_mem_area_res_e(* app_lib_secure_storage_init_area_f)(app_lib_mem_area_id_t id, app_lib_secure_storage_command_e cmd, uint32_t flags)
Initialize secure storage area or check if already initialized.
Definition: wms_secure_storage.h:83
APP_LIB_SECURE_STORAGE_CMD_ERASE
@ APP_LIB_SECURE_STORAGE_CMD_ERASE
Definition: wms_secure_storage.h:44
wms_memory_area.h
app_lib_secure_storage_record_flags_e
app_lib_secure_storage_record_flags_e
Secure storage record option flags.
Definition: wms_secure_storage.h:53
APP_LIB_SECURE_STORAGE_RECORD_FLAG_NO_AUTH
@ APP_LIB_SECURE_STORAGE_RECORD_FLAG_NO_AUTH
Definition: wms_secure_storage.h:58
app_lib_secure_storage_t::deleteRecord
app_lib_secure_storage_delete_record_f deleteRecord
Definition: wms_secure_storage.h:156
app_lib_mem_area_res_e
app_lib_mem_area_res_e
memory area operations result
Definition: wms_memory_area.h:36
app_lib_secure_storage_write_record_f
app_lib_mem_area_res_e(* app_lib_secure_storage_write_record_f)(app_lib_mem_area_id_t id, app_lib_secure_storage_record_tag_t tag, const void *from, size_t amount, uint32_t flags)
Write a record to the secure storage area, overwriting any previous version with the same record tag.
Definition: wms_secure_storage.h:128