From: Marcel Holtmann Date: Mon, 2 Sep 2013 18:44:27 +0000 (-0700) Subject: monitor: Add support for printing UUID-128 in ATT X-Git-Tag: android-x86-4.4-r3~7687 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=6a8ffecef047f369710748fd29dfa983155b409b;p=android-x86%2Fexternal-bluetooth-bluez.git monitor: Add support for printing UUID-128 in ATT --- 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;