local_rpa);
if (peer_addr_type & BLE_ADDR_TYPE_ID_BIT)
- btm_ble_refresh_peer_resolvable_private_addr(address_with_type.bda,
- peer_rpa, BLE_ADDR_RANDOM);
+ btm_ble_refresh_peer_resolvable_private_addr(
+ address_with_type.bda, peer_rpa, tBTM_SEC_BLE::BTM_BLE_ADDR_RRA);
btm_ble_update_mode_operation(role, &address_with_type.bda, HCI_SUCCESS);
if (role == HCI_ROLE_SLAVE)
}
switch (p_dev_rec->ble.active_addr_type) {
- case BTM_BLE_ADDR_PSEUDO:
+ case tBTM_SEC_BLE::BTM_BLE_ADDR_PSEUDO:
conn_addr = p_dev_rec->bd_addr;
*p_addr_type = p_dev_rec->ble.ble_addr_type;
break;
- case BTM_BLE_ADDR_RRA:
+ case tBTM_SEC_BLE::BTM_BLE_ADDR_RRA:
conn_addr = p_dev_rec->ble.cur_rand_addr;
*p_addr_type = BLE_ADDR_RANDOM;
break;
- case BTM_BLE_ADDR_STATIC:
+ case tBTM_SEC_BLE::BTM_BLE_ADDR_STATIC:
conn_addr = p_dev_rec->ble.identity_addr;
*p_addr_type = p_dev_rec->ble.identity_addr_type;
break;
return false;
}
- if (rra_type == BTM_BLE_ADDR_PSEUDO) {
+ if (rra_type == tBTM_SEC_BLE::BTM_BLE_ADDR_PSEUDO) {
/* use identity address, resolvable_private_addr is empty */
if (rpa.IsEmpty()) {
p_acl->active_remote_addr_type = p_sec_rec->ble.identity_addr_type;
p_dev_rec->role_master = (role == HCI_ROLE_MASTER) ? true : false;
if (!addr_matched) {
- p_dev_rec->ble.active_addr_type = BTM_BLE_ADDR_PSEUDO;
+ p_dev_rec->ble.active_addr_type = tBTM_SEC_BLE::BTM_BLE_ADDR_PSEUDO;
}
if (!addr_matched && p_dev_rec->ble.ble_addr_type == BLE_ADDR_RANDOM) {
p_dev_rec->ble.cur_rand_addr = bda;
* connection address.
*
******************************************************************************/
-void btm_ble_refresh_peer_resolvable_private_addr(const RawAddress& pseudo_bda,
- const RawAddress& rpa,
- uint8_t rra_type) {
+void btm_ble_refresh_peer_resolvable_private_addr(
+ const RawAddress& pseudo_bda, const RawAddress& rpa,
+ tBTM_SEC_BLE::tADDRESS_TYPE rra_type) {
tBTM_SEC_DEV_REC* p_sec_rec = btm_find_dev(pseudo_bda);
if (p_sec_rec == nullptr) {
LOG_WARN("%s No matching known device in record", __func__);
p_sec_rec->ble.cur_rand_addr = rpa;
- if (rra_type == BTM_BLE_ADDR_PSEUDO) {
- p_sec_rec->ble.active_addr_type =
- rpa.IsEmpty() ? BTM_BLE_ADDR_STATIC : BTM_BLE_ADDR_RRA;
+ if (rra_type == tBTM_SEC_BLE::BTM_BLE_ADDR_PSEUDO) {
+ p_sec_rec->ble.active_addr_type = rpa.IsEmpty()
+ ? tBTM_SEC_BLE::BTM_BLE_ADDR_STATIC
+ : tBTM_SEC_BLE::BTM_BLE_ADDR_RRA;
} else {
p_sec_rec->ble.active_addr_type = rra_type;
}
}
}
}
-
if (match_rec) {
LOG(INFO) << __func__ << ": matched and resolved random address";
match = true;
- match_rec->ble.active_addr_type = BTM_BLE_ADDR_RRA;
+ match_rec->ble.active_addr_type = tBTM_SEC_BLE::BTM_BLE_ADDR_RRA;
match_rec->ble.cur_rand_addr = bda;
if (!btm_ble_init_pseudo_addr(match_rec, bda)) {
/* assign the original address to be the current report address */
btm_ble_refresh_local_resolvable_private_addr(bda, local_rpa);
if (peer_addr_type & BLE_ADDR_TYPE_ID_BIT)
- btm_ble_refresh_peer_resolvable_private_addr(bda, peer_rpa,
- BLE_ADDR_RANDOM);
+ btm_ble_refresh_peer_resolvable_private_addr(
+ bda, peer_rpa, tBTM_SEC_BLE::BTM_BLE_ADDR_RRA);
}
} else {
// Log for non HCI success case
if (!match && BTM_BLE_IS_RESOLVE_BDA(bda)) {
tBTM_SEC_DEV_REC* match_rec = btm_ble_resolve_random_addr(bda);
if (match_rec) {
- match_rec->ble.active_addr_type = BTM_BLE_ADDR_RRA;
+ match_rec->ble.active_addr_type = tBTM_SEC_BLE::BTM_BLE_ADDR_RRA;
match_rec->ble.cur_rand_addr = bda;
if (btm_ble_init_pseudo_addr(match_rec, bda)) {
extern bool btm_random_pseudo_to_identity_addr(RawAddress* random_pseudo,
uint8_t* p_identity_addr_type);
extern void btm_ble_refresh_peer_resolvable_private_addr(
- const RawAddress& pseudo_bda, const RawAddress& rra, uint8_t rra_type);
+ const RawAddress& pseudo_bda, const RawAddress& rra,
+ tBTM_SEC_BLE::tADDRESS_TYPE type);
extern void btm_ble_read_resolving_list_entry_complete(uint8_t* p,
uint16_t evt_len);
extern void btm_ble_remove_resolving_list_entry_complete(uint8_t* p,
*
******************************************************************************/
void btm_ble_read_resolving_list_entry_complete(uint8_t* p, uint16_t evt_len) {
- uint8_t status, rra_type = BTM_BLE_ADDR_PSEUDO;
+ uint8_t status;
+ tBTM_SEC_BLE::tADDRESS_TYPE rra_type =
+ tBTM_SEC_BLE::tADDRESS_TYPE::BTM_BLE_ADDR_PSEUDO;
RawAddress rra, pseudo_bda;
STREAM_TO_UINT8(status, p);
uint8_t in_controller_list; /* in controller resolving list or not */
uint8_t resolving_list_index;
RawAddress cur_rand_addr; /* current random address */
- uint8_t active_addr_type;
-#define BTM_BLE_ADDR_PSEUDO 0 /* address index device record */
-#define BTM_BLE_ADDR_RRA 1 /* cur_rand_addr */
-#define BTM_BLE_ADDR_STATIC 2 /* static_addr */
+
+ typedef enum : uint8_t {
+ BTM_BLE_ADDR_PSEUDO = 0,
+ BTM_BLE_ADDR_RRA = 1,
+ BTM_BLE_ADDR_STATIC = 2,
+ } tADDRESS_TYPE;
+ tADDRESS_TYPE active_addr_type;
tBTM_LE_KEY_TYPE key_type; /* bit mask of valid key types in record */
tBTM_SEC_BLE_KEYS keys; /* LE device security info in slave rode */