57 STORAGE_KEY_SVC_CHANGED_CCC = 0xF0000000,
107 #if (dg_configBLE_PERIPHERAL == 1)
108 bool security_req_pending:1;
113 #if (dg_configBLE_SECURE_CONNECTIONS == 1)
124 #if (dg_configBLE_2MBIT_PHY == 1)
131 key_ltk_t *remote_ltk;
134 key_csrk_t *remote_csrk;
138 queue_t pending_events;
141 uint8_t discon_reason;
144 typedef void (* device_cb_t) (device_t *dev,
void *ud);
146 typedef bool (* device_match_cb_t) (
const device_t *dev,
void *ud);
148 device_t *find_device_by_addr(
const bd_address_t *addr,
bool create);
150 device_t *find_device_by_conn_idx(uint16_t conn_idx);
152 device_t *find_device(device_match_cb_t cb,
void *ud);
154 void storage_init(
void);
156 void storage_cleanup(
void);
158 void storage_acquire(
void);
160 void storage_release(
void);
162 void storage_mark_dirty(
bool flush_now);
164 void device_foreach(device_cb_t cb,
void *ud);
166 void device_move_front(device_t *dev);
168 void device_remove(device_t *dev);
170 void device_remove_pairing(device_t *dev);
172 void app_value_put(device_t *dev,
ble_storage_key_t key, uint16_t length,
void *ptr,
175 bool app_value_get(device_t *dev,
ble_storage_key_t key, uint16_t *length,
void **ptr);
179 void app_value_remove_np(device_t *dev);
181 void pending_events_put_handle(device_t *dev, uint16_t handle);
183 void pending_events_remove_handle(device_t *dev, uint16_t handle);
185 bool pending_events_has_handle(
const device_t *dev, uint16_t handle);
187 void pending_events_clear_handles(device_t *dev);