diff options
author | Andre Dieb Martins <andre.dieb@signove.com> | 2011-03-21 09:18:34 -0300 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2011-03-22 12:39:03 +0200 |
commit | 3f680f314b400829e9505ef02cd6e5384514c4de (patch) | |
tree | d026f1d02296c5502f6e6962d4bc3b6fbc3ac56a | |
parent | 211152987daf0c9e5ccca32f24f10c76194f99a3 (diff) | |
download | hcidump-3f680f314b400829e9505ef02cd6e5384514c4de.tar.gz |
Add parsing for Read Multiple
-rw-r--r-- | parser/att.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/parser/att.c b/parser/att.c index 124aaa7..329a0dc 100644 --- a/parser/att.c +++ b/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; |