From: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> This adds defines for limited disverable, general discoveral and BR/EDR not supported. --- src/advertising.c | 9 +++++---- src/shared/ad.h | 5 +++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/advertising.c b/src/advertising.c index 829c481f6..4c91586c2 100644 --- a/src/advertising.c +++ b/src/advertising.c @@ -673,7 +673,7 @@ static bool set_flags(struct btd_adv_client *client, uint8_t flags) /* Set BR/EDR Not Supported for LE only */ if (!btd_adapter_get_bredr(client->manager->adapter)) - flags |= 0x04; + flags |= BT_AD_FLAG_NO_BREDR; if (!bt_ad_add_flags(client->data, &flags, 1)) return false; @@ -700,8 +700,8 @@ static bool parse_discoverable(DBusMessageIter *iter, if (discoverable) { /* Set BR/EDR Not Supported if adapter is no discoverable */ if (!btd_adapter_get_discoverable(client->manager->adapter)) - flags = 0x04; - flags |= 0x02; + flags = BT_AD_FLAG_NO_BREDR; + flags |= BT_AD_FLAG_GENERAL; } else flags = 0x00; @@ -1065,7 +1065,8 @@ static DBusMessage *parse_advertisement(struct btd_adv_client *client) } /* Set Limited Discoverable if DiscoverableTimeout is set */ - if (client->disc_to_id && !set_flags(client, 0x01)) { + if (client->disc_to_id && + !set_flags(client, BT_AD_FLAG_LIMITED)) { error("Failed to set Limited Discoverable Flag"); goto fail; } diff --git a/src/shared/ad.h b/src/shared/ad.h index a31df0fe5..19aa1d035 100644 --- a/src/shared/ad.h +++ b/src/shared/ad.h @@ -71,6 +71,11 @@ #define BT_AD_3D_INFO_DATA 0x3d #define BT_AD_MANUFACTURER_DATA 0xff +/* Low Energy Advertising Flags */ +#define BT_AD_FLAG_LIMITED 0x01 /* Limited Discoverable */ +#define BT_AD_FLAG_GENERAL 0x02 /* General Discoverable */ +#define BT_AD_FLAG_NO_BREDR 0x04 /* BR/EDR not supported */ + typedef void (*bt_ad_func_t)(void *data, void *user_data); struct bt_ad; -- 2.25.3