From ef6242970281932ec1bec328b62b0d957902c575 Mon Sep 17 00:00:00 2001 From: Szymon Janc Date: Fri, 29 May 2015 00:13:44 +0200 Subject: [PATCH] monitor: Decode ATT Signed Write Command Signed Write Command data is as follow: Attribute Handle (2 octets) Data (0 or more octets) Signature (12 octets). > ACL Data RX: Handle 64 flags 0x02 dlen 20 ATT: Signed Write Command (0xd2) len 15 Handle: 0x001f Data: 00 Signature: 00000000df559de6549e1757 --- monitor/l2cap.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/monitor/l2cap.c b/monitor/l2cap.c index 409f5f4e2..725a156df 100644 --- a/monitor/l2cap.c +++ b/monitor/l2cap.c @@ -2319,6 +2319,13 @@ static void att_write_command(const struct l2cap_frame *frame) print_hex_field(" Data", frame->data + 2, frame->size - 2); } +static void att_signed_write_command(const struct l2cap_frame *frame) +{ + print_field("Handle: 0x%4.4x", get_le16(frame->data)); + print_hex_field(" Data", frame->data + 2, frame->size - 2 - 12); + print_hex_field(" Signature", frame->data + frame->size - 12, 12); +} + struct att_opcode_data { uint8_t opcode; const char *str; @@ -2380,7 +2387,7 @@ static const struct att_opcode_data att_opcode_table[] = { att_handle_value_conf, 0, true }, { 0x52, "Write Command", att_write_command, 2, false }, - { 0xd2, "Signed Write Command" }, + { 0xd2, "Signed Write Command", att_signed_write_command, 14, false }, { } };