From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> 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 --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 */ -- 2.49.0