diff mbox series

[BlueZ,v1,2/2] eir: Use Broadcast Name as Device.Name

Message ID 20250421210602.746957-2-luiz.dentz@gmail.com
State New
Headers show
Series [BlueZ,v1,1/2] btmon: Decode Broadcast Name | expand

Commit Message

Luiz Augusto von Dentz April 21, 2025, 9:06 p.m. UTC
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

This makes use of Broadcast Name advertising data field as device name
so it can be identified by upper layer.
---
 src/eir.c | 3 ++-
 src/eir.h | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/src/eir.c b/src/eir.c
index 3e3ee2863058..28b09653cbae 100644
--- a/src/eir.c
+++ b/src/eir.c
@@ -293,6 +293,7 @@  void eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len)
 
 		case EIR_NAME_SHORT:
 		case EIR_NAME_COMPLETE:
+		case EIR_BC_NAME:
 			/* Some vendors put a NUL byte terminator into
 			 * the name */
 			while (data_len > 0 && data[data_len - 1] == '\0')
@@ -301,7 +302,7 @@  void eir_parse(struct eir_data *eir, const uint8_t *eir_data, uint8_t eir_len)
 			g_free(eir->name);
 
 			eir->name = name2utf8(data, data_len);
-			eir->name_complete = eir_data[1] == EIR_NAME_COMPLETE;
+			eir->name_complete = eir_data[1] != EIR_NAME_SHORT;
 			break;
 
 		case EIR_TX_POWER:
diff --git a/src/eir.h b/src/eir.h
index f34291952823..2fe8cddf783d 100644
--- a/src/eir.h
+++ b/src/eir.h
@@ -39,6 +39,7 @@ 
 #define EIR_SVC_DATA128             0x21  /* LE: Service data, 128-bit UUID */
 #define EIR_TRANSPORT_DISCOVERY     0x26  /* Transport Discovery Service */
 #define EIR_CSIP_RSI                0x2e  /* Resolvable Set Identifier */
+#define EIR_BC_NAME                 0x30  /* Broadcast Name */
 #define EIR_MANUFACTURER_DATA       0xFF  /* Manufacturer Specific Data */
 
 /* Flags Descriptions */