From f0c49c016508b5e2a3319f1375129d8f339cbc25 Mon Sep 17 00:00:00 2001 From: Andre Dieb Martins Date: Mon, 21 Mar 2011 09:18:34 -0300 Subject: [PATCH] hcidump: Add parsing for Read Multiple --- tools/parser/att.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tools/parser/att.c b/tools/parser/att.c index 124aaa7fa..329a0dcc9 100644 --- a/tools/parser/att.c +++ b/tools/parser/att.c @@ -435,6 +435,28 @@ static void att_read_blob_resp_dump(int level, struct frame *frm) printf("\n"); } +static void att_read_multi_req_dump(int level, struct frame *frm) +{ + p_indent(level, frm); + printf("Handles\n"); + + while (frm->len > 0) { + p_indent(level, frm); + printf("handle 0x%4.4x\n", btohs(htons(get_u16(frm)))); + } +} + +static void att_read_multi_resp_dump(int level, struct frame *frm) +{ + p_indent(level, frm); + printf("values"); + + while (frm->len > 0) { + printf(" 0x%2.2x", get_u8(frm)); + } + printf("\n"); +} + static void att_read_by_group_resp_dump(int level, struct frame *frm) { uint8_t length = get_u8(frm); @@ -522,6 +544,12 @@ void att_dump(int level, struct frame *frm) case ATT_OP_READ_BLOB_RESP: att_read_blob_resp_dump(level + 1, frm); break; + case ATT_OP_READ_MULTI_REQ: + att_read_multi_req_dump(level + 1, frm); + break; + case ATT_OP_READ_MULTI_RESP: + att_read_multi_resp_dump(level + 1, frm); + break; case ATT_OP_READ_BY_GROUP_RESP: att_read_by_group_resp_dump(level + 1, frm); break; -- 2.47.3