40 lines
1.2 KiB
C
40 lines
1.2 KiB
C
/*
|
|
* Copyright (c) 2018 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#if defined(BFLB_BLE)
|
|
#include "addr.h"
|
|
#endif
|
|
|
|
/* Max settings key length (with all components) */
|
|
#define BT_SETTINGS_KEY_MAX 36
|
|
|
|
/* Base64-encoded string buffer size of in_size bytes */
|
|
#define BT_SETTINGS_SIZE(in_size) ((((((in_size)-1) / 3) * 4) + 4) + 1)
|
|
|
|
/* Helpers for keys containing a bdaddr */
|
|
void bt_settings_encode_key(char *path, size_t path_size, const char *subsys,
|
|
bt_addr_le_t *addr, const char *key);
|
|
int bt_settings_decode_key(const char *key, bt_addr_le_t *addr);
|
|
|
|
void bt_settings_save_id(void);
|
|
|
|
int bt_settings_init(void);
|
|
|
|
#if defined(BFLB_BLE)
|
|
#define NV_LOCAL_NAME "LOCAL_NAME"
|
|
#define NV_LOCAL_ID_ADDR "LOCAL_ID_ADDR"
|
|
#define NV_LOCAL_IRK "LOCAL_IRK"
|
|
#define NV_KEY_POOL "KEY_POOL"
|
|
#define NV_IMG_info "IMG_INFO"
|
|
|
|
int bt_settings_get_bin(const char *key, u8_t *value, size_t exp_len, size_t *real_len);
|
|
int bt_settings_set_bin(const char *key, const u8_t *value, size_t length);
|
|
int settings_delete(const char *key);
|
|
int settings_save_one(const char *key, const u8_t *value, size_t length);
|
|
void bt_settings_save_name(void);
|
|
void bt_local_info_load(void);
|
|
#endif
|