From 6a8ffecef047f369710748fd29dfa983155b409b Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Mon, 2 Sep 2013 11:44:27 -0700 Subject: [PATCH] monitor: Add support for printing UUID-128 in ATT --- monitor/l2cap.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/monitor/l2cap.c b/monitor/l2cap.c index ecdfe6ef2..4eb85920c 100644 --- a/monitor/l2cap.c +++ b/monitor/l2cap.c @@ -1536,7 +1536,11 @@ static void print_uuid(const char *label, const void *data, uint16_t size) break; case 16: str = uuid128_to_str(data); - print_field("%s: %s", label, str); + print_field("%s: %s (%8.8x-%4.4x-%4.4x-%4.4x-%8.8x%4.4x)", + label, str, + bt_get_le32(data + 12), bt_get_le16(data + 10), + bt_get_le16(data + 8), bt_get_le16(data + 6), + bt_get_le32(data + 2), bt_get_le16(data + 0)); break; default: packet_hexdump(data, size); @@ -1553,9 +1557,18 @@ static void print_handle_range(const char *label, const void *data) static void print_data_list(const char *label, uint8_t length, const void *data, uint16_t size) { - while (size > length) { - print_handle_range("Handle", data); - print_hex_field(" Data", data + 4, length - 4); + uint8_t count; + + if (length == 0) + return; + + count = size / length; + + print_field("%s: %u entr%s", label, count, count == 1 ? "y" : "ies"); + + while (size >= length) { + print_handle_range(" Handle", data); + print_uuid(" ", data + 4, length - 4); data += length; size -= length; -- 2.47.3