monitor: Add parsing Service Data of UUID 128
authorŁukasz Rymanowski <lukasz.rymanowski@codecoup.pl>
Sat, 29 Jul 2023 00:45:52 +0000 (02:45 +0200)
committerAyush Garg <ayush.garg@samsung.com>
Fri, 5 Jan 2024 13:34:03 +0000 (19:04 +0530)
In the advertising report, instead of deciding EIR 0x21 into this:

Unknown EIR field 0x21: 3a048f2ba97ea6ae1b49c619e973a4a701480d130d

We can do bit better

        Service Data UUID 128: Vendor specific
          Data: 01480d130d
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
monitor/packet.c

index 5566c3c..551827d 100755 (executable)
@@ -3996,6 +3996,18 @@ static void print_eir(const uint8_t *eir, uint8_t eir_len, bool le)
                        print_service_data(data, data_len);
                        break;
 
+               case BT_EIR_SERVICE_DATA128:
+                       if (data_len <= 16)
+                               break;
+
+                       print_field("Service Data UUID 128: %s ",
+                                               bt_uuid128_to_str(&data[0]));
+
+                       if (data_len > 16)
+                               print_hex_field("  Data", &data[16],
+                                                               data_len - 16);
+
+                       break;
                case BT_EIR_RANDOM_ADDRESS:
                        if (data_len < 6)
                                break;