uint16_t hci_handle;
uint16_t link_policy;
uint16_t link_super_tout;
- uint16_t lmp_subversion;
- uint16_t manufacturer;
uint16_t pkt_types_mask;
tBLE_ADDR_TYPE active_remote_addr_type;
tBLE_ADDR_TYPE conn_addr_type;
public:
bool is_encrypted = false;
uint8_t link_role;
- uint8_t lmp_version;
uint8_t switch_role_failed_attempts;
struct {
}
if (status == HCI_SUCCESS) {
- p_acl_cb->lmp_version = lmp_version;
- p_acl_cb->manufacturer = manufacturer;
- p_acl_cb->lmp_subversion = lmp_subversion;
-
+ p_acl_cb->remote_version_info.lmp_version = lmp_version;
+ p_acl_cb->remote_version_info.manufacturer = manufacturer;
+ p_acl_cb->remote_version_info.lmp_subversion = lmp_subversion;
+ p_acl_cb->remote_version_info.valid = true;
bluetooth::common::LogRemoteVersionInfo(handle, status, lmp_version,
manufacturer, lmp_subversion);
} else {
}
}
- if (lmp_version) *lmp_version = p_acl->lmp_version;
+ if (!p_acl->remote_version_info.valid) {
+ LOG_WARN("Remote version information is invalid");
+ return false;
+ }
+
+ if (lmp_version) *lmp_version = p_acl->remote_version_info.lmp_version;
- if (manufacturer) *manufacturer = p_acl->manufacturer;
+ if (manufacturer) *manufacturer = p_acl->remote_version_info.manufacturer;
- if (lmp_sub_version) *lmp_sub_version = p_acl->lmp_subversion;
+ if (lmp_sub_version)
+ *lmp_sub_version = p_acl->remote_version_info.lmp_subversion;
return true;
}