@@ -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:
@@ -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 */
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(-)