SmartSnippets DA1459x SDK
Macros | Typedefs | Functions
ble_storage.h File Reference

BLE persistent storage API. More...

#include <stdbool.h>
#include <stdint.h>
#include "ble_common.h"

Go to the source code of this file.

Macros

#define BLE_STORAGE_KEY_SRV(handle)   (BLE_STORAGE_KEYCAT_SRV | (handle & 0xFFFF))
 
#define BLE_STORAGE_KEY_CLI(handle)   (BLE_STORAGE_KEYCAT_CLI | (handle & 0xFFFF))
 
#define BLE_STORAGE_KEY_APP(app_id, val_id)   (BLE_STORAGE_KEYCAT_APP | ((app_id & 0xFF) << 16) | (val_id & 0xFFFF))
 

Typedefs

typedef void(* ble_storage_free_cb_t) (void *ptr)
 Callback to free buffer stored in storage. More...
 
typedef uint32_t ble_storage_key_t
 Storage key (for indexing values in storage) More...
 

Functions

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. More...
 
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. More...
 
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. More...
 
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. More...
 
ble_error_t ble_storage_get_i8 (uint16_t conn_idx, ble_storage_key_t key, int8_t *value)
 Get int8 value from storage. More...
 
ble_error_t ble_storage_get_u8 (uint16_t conn_idx, ble_storage_key_t key, uint8_t *value)
 Get uint8 value from storage. More...
 
ble_error_t ble_storage_get_i16 (uint16_t conn_idx, ble_storage_key_t key, int16_t *value)
 Get int16 value from storage. More...
 
ble_error_t ble_storage_get_u16 (uint16_t conn_idx, ble_storage_key_t key, uint16_t *value)
 Get uint16 value from storage. More...
 
ble_error_t ble_storage_get_i32 (uint16_t conn_idx, ble_storage_key_t key, int32_t *value)
 Get int32 value from storage. More...
 
ble_error_t ble_storage_get_u32 (uint16_t conn_idx, ble_storage_key_t key, uint32_t *value)
 Get uint32 value from storage. More...
 
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. More...
 
ble_error_t ble_storage_remove (uint16_t conn_idx, ble_storage_key_t key)
 Remove value from storage. More...
 
ble_error_t ble_storage_remove_all (ble_storage_key_t key)
 Remove value from storage. More...
 

Detailed Description

BLE persistent storage API.

Copyright (C) 2015-2018 Renesas Electronics Corporation and/or its affiliates. All rights reserved. Confidential Information.

This software ("Software") is supplied by Renesas Electronics Corporation and/or its affiliates ("Renesas"). Renesas grants you a personal, non-exclusive, non-transferable, revocable, non-sub-licensable right and license to use the Software, solely if used in or together with Renesas products. You may make copies of this Software, provided this copyright notice and disclaimer ("Notice") is included in all such copies. Renesas reserves the right to change or discontinue the Software at any time without notice.

THE SOFTWARE IS PROVIDED "AS IS". RENESAS DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED UNDER LAW, IN NO EVENT SHALL RENESAS BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE, EVEN IF RENESAS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. USE OF THIS SOFTWARE MAY BE SUBJECT TO TERMS AND CONDITIONS CONTAINED IN AN ADDITIONAL AGREEMENT BETWEEN YOU AND RENESAS. IN CASE OF CONFLICT BETWEEN THE TERMS OF THIS NOTICE AND ANY SUCH ADDITIONAL LICENSE AGREEMENT, THE TERMS OF THE AGREEMENT SHALL TAKE PRECEDENCE. BY CONTINUING TO USE THIS SOFTWARE, YOU AGREE TO THE TERMS OF THIS NOTICE.IF YOU DO NOT AGREE TO THESE TERMS, YOU ARE NOT PERMITTED TO USE THIS SOFTWARE.