SmartSnippets DA1459x SDK
ble_storage.h
Go to the documentation of this file.
1 
39 #ifndef BLE_STORAGE_H_
40 #define BLE_STORAGE_H_
41 
42 #include <stdbool.h>
43 #include <stdint.h>
44 #include "ble_common.h"
45 
46 /* Storage key categories - should not be used directly */
47 #define BLE_STORAGE_KEYCAT_SRV (0x00000000)
48 #define BLE_STORAGE_KEYCAT_CLI (0x10000000)
49 #define BLE_STORAGE_KEYCAT_APP (0x20000000)
50 
52 #define BLE_STORAGE_KEY_SRV(handle) (BLE_STORAGE_KEYCAT_SRV | (handle & 0xFFFF))
53 
55 #define BLE_STORAGE_KEY_CLI(handle) (BLE_STORAGE_KEYCAT_CLI | (handle & 0xFFFF))
56 
58 #define BLE_STORAGE_KEY_APP(app_id, val_id) (BLE_STORAGE_KEYCAT_APP | ((app_id & 0xFF) << 16) | (val_id & 0xFFFF))
59 
66 typedef void (* ble_storage_free_cb_t) (void *ptr);
67 
76 typedef uint32_t ble_storage_key_t;
77 
93 ble_error_t ble_storage_put_i32(uint16_t conn_idx, ble_storage_key_t key, int32_t value, bool persistent);
94 
110 ble_error_t ble_storage_put_u32(uint16_t conn_idx, ble_storage_key_t key, uint32_t value, bool persistent);
111 
135 ble_error_t ble_storage_put_buffer(uint16_t conn_idx, ble_storage_key_t key, uint16_t length, void *ptr,
136  ble_storage_free_cb_t free_cb, bool persistent);
137 
153 ble_error_t ble_storage_put_buffer_copy(uint16_t conn_idx, ble_storage_key_t key, uint16_t length, void *ptr,
154  ble_storage_free_cb_t free_cb, bool persistent);
155 
169 ble_error_t ble_storage_get_i8(uint16_t conn_idx, ble_storage_key_t key, int8_t *value);
170 
184 ble_error_t ble_storage_get_u8(uint16_t conn_idx, ble_storage_key_t key, uint8_t *value);
185 
199 ble_error_t ble_storage_get_i16(uint16_t conn_idx, ble_storage_key_t key, int16_t *value);
200 
214 ble_error_t ble_storage_get_u16(uint16_t conn_idx, ble_storage_key_t key, uint16_t *value);
215 
229 ble_error_t ble_storage_get_i32(uint16_t conn_idx, ble_storage_key_t key, int32_t *value);
230 
244 ble_error_t ble_storage_get_u32(uint16_t conn_idx, ble_storage_key_t key, uint32_t *value);
245 
260 ble_error_t ble_storage_get_buffer(uint16_t conn_idx, ble_storage_key_t key, uint16_t *length, void **ptr);
261 
271 ble_error_t ble_storage_remove(uint16_t conn_idx, ble_storage_key_t key);
272 
284 
285 #endif /* BLE_STORAGE_H_ */
286 
ble_storage_get_u16
ble_error_t ble_storage_get_u16(uint16_t conn_idx, ble_storage_key_t key, uint16_t *value)
Get uint16 value from storage.
ble_storage_put_buffer_copy
ble_error_t ble_storage_put_buffer_copy(uint16_t conn_idx, ble_storage_key_t key, uint16_t length, void *ptr, ble_storage_free_cb_t free_cb, bool persistent)
Store copy of data buffer in storage.
ble_storage_put_u32
ble_error_t ble_storage_put_u32(uint16_t conn_idx, ble_storage_key_t key, uint32_t value, bool persistent)
Store unsigned integer value in storage.
ble_storage_remove
ble_error_t ble_storage_remove(uint16_t conn_idx, ble_storage_key_t key)
Remove value from storage.
ble_storage_get_i8
ble_error_t ble_storage_get_i8(uint16_t conn_idx, ble_storage_key_t key, int8_t *value)
Get int8 value from storage.
ble_storage_put_buffer
ble_error_t ble_storage_put_buffer(uint16_t conn_idx, ble_storage_key_t key, uint16_t length, void *ptr, ble_storage_free_cb_t free_cb, bool persistent)
Store data buffer in storage.
ble_storage_put_i32
ble_error_t ble_storage_put_i32(uint16_t conn_idx, ble_storage_key_t key, int32_t value, bool persistent)
Store signed integer value in storage.
ble_storage_key_t
uint32_t ble_storage_key_t
Storage key (for indexing values in storage)
Definition: ble_storage.h:76
ble_storage_free_cb_t
void(* ble_storage_free_cb_t)(void *ptr)
Callback to free buffer stored in storage.
Definition: ble_storage.h:66
ble_storage_get_i32
ble_error_t ble_storage_get_i32(uint16_t conn_idx, ble_storage_key_t key, int32_t *value)
Get int32 value from storage.
ble_storage_get_buffer
ble_error_t ble_storage_get_buffer(uint16_t conn_idx, ble_storage_key_t key, uint16_t *length, void **ptr)
Get buffer value from storage.
ble_storage_get_i16
ble_error_t ble_storage_get_i16(uint16_t conn_idx, ble_storage_key_t key, int16_t *value)
Get int16 value from storage.
ble_error_t
ble_error_t
Definition: ble_common.h:53
ble_common.h
Common definitions for BLE API.
ble_storage_remove_all
ble_error_t ble_storage_remove_all(ble_storage_key_t key)
Remove value from storage.
ble_storage_get_u32
ble_error_t ble_storage_get_u32(uint16_t conn_idx, ble_storage_key_t key, uint32_t *value)
Get uint32 value from storage.
ble_storage_get_u8
ble_error_t ble_storage_get_u8(uint16_t conn_idx, ble_storage_key_t key, uint8_t *value)
Get uint8 value from storage.