summaryrefslogtreecommitdiff
path: root/monitor
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2022-06-16 17:30:31 -0700
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2022-06-16 17:49:01 -0700
commitc53cb7be2d61e7bdf26c20f61f94d572068d5c6b (patch)
treefa611645cc514a0559d0a5d627807ce49a4595b9 /monitor
parentafc8c8f56fa2376137cd093bb5a8c63dc408d94f (diff)
downloadbluez-c53cb7be2d61e7bdf26c20f61f94d572068d5c6b.tar.gz
monitor/att: Print attribute information on ATT_REQ_RSP
This prints the attribute information on ATT_REQ_RSP to make it easier to identify to which handle the response is for: > ACL Data RX: Handle 42 flags 0x02 dlen 9 Channel: 65 len 5 sdu 3 [PSM 39 mode Enhanced Credit (0x81)] {chan 1} ATT: Read Response (0x0b) len 2 Value: 0300 Handle: 0x0030 Type: Source ASE (0x2bc5) ASE ID: 3 State: Idle (0x00)
Diffstat (limited to 'monitor')
-rw-r--r--monitor/att.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/monitor/att.c b/monitor/att.c
index de70a9dc4..34babac6b 100644
--- a/monitor/att.c
+++ b/monitor/att.c
@@ -1290,17 +1290,12 @@ static struct gatt_db_attribute *get_attribute(const struct l2cap_frame *frame,
return gatt_db_get_attribute(db, handle);
}
-static void print_handle(const struct l2cap_frame *frame, uint16_t handle,
- bool rsp)
+static void print_attribute(struct gatt_db_attribute *attr)
{
- struct gatt_db_attribute *attr;
+ uint16_t handle = gatt_db_attribute_get_handle(attr);
const bt_uuid_t *uuid;
char label[21];
- attr = get_attribute(frame, handle, rsp);
- if (!attr)
- goto done;
-
uuid = gatt_db_attribute_get_type(attr);
if (!uuid)
goto done;
@@ -1323,6 +1318,20 @@ done:
print_field("Handle: 0x%4.4x", handle);
}
+static void print_handle(const struct l2cap_frame *frame, uint16_t handle,
+ bool rsp)
+{
+ struct gatt_db_attribute *attr;
+
+ attr = get_attribute(frame, handle, rsp);
+ if (!attr) {
+ print_field("Handle: 0x%4.4x", handle);
+ return;
+ }
+
+ print_attribute(attr);
+}
+
static void att_read_req(const struct l2cap_frame *frame)
{
const struct bt_l2cap_att_read_req *pdu = frame->data;
@@ -1393,6 +1402,8 @@ static void att_read_rsp(const struct l2cap_frame *frame)
if (!read)
return;
+ print_attribute(read->attr);
+
read->func(frame);
free(read);