shared/ad: Add defines for possible flags
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 5 Jun 2020 17:37:42 +0000 (10:37 -0700)
committerAyush Garg <ayush.garg@samsung.com>
Mon, 12 Apr 2021 09:00:49 +0000 (14:30 +0530)
This adds defines for limited disverable, general discoveral and BR/EDR
not supported.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
src/advertising.c
src/shared/ad.h

index 696418d5c352d31a5ea56fd1c421617e617976cb..3687544cefcb6bee7ffe0e451c2e8ad52bb29dc5 100644 (file)
@@ -668,7 +668,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;
@@ -695,8 +695,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;
 
@@ -1060,7 +1060,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;
                }
index a31df0fe51948a2f04f4a385c64a40f0668f1105..19aa1d035c1771a560e1ad5e34105bbfe3569a32 100755 (executable)
 #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;