mgmt: Add mgmt op and events for device flags
authorAbhishek Pandit-Subedi <abhishekpandit@chromium.org>
Mon, 6 Jul 2020 20:25:13 +0000 (13:25 -0700)
committerAyush Garg <ayush.garg@samsung.com>
Mon, 12 Apr 2021 09:00:49 +0000 (14:30 +0530)
Add Get Device Flags, Set Device Flags and Device Flags Changed.

Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
lib/mgmt.h

index 7cb7c44..4f00a85 100644 (file)
@@ -664,6 +664,27 @@ struct mgmt_cp_set_default_runtime_config {
        uint8_t parameters[0]; /* mgmt_tlv */
 } __packed;
 
+#define MGMT_OP_GET_DEVICE_FLAGS       0x004F
+#define MGMT_GET_DEVICE_FLAGS_SIZE     7
+struct mgmt_cp_get_device_flags {
+       struct mgmt_addr_info addr;
+} __packed;
+struct mgmt_rp_get_device_flags {
+       struct mgmt_addr_info addr;
+       uint32_t supported_flags;
+       uint32_t current_flags;
+} __packed;
+
+#define MGMT_OP_SET_DEVICE_FLAGS       0x0050
+#define MGMT_SET_DEVICE_FLAGS_SIZE     11
+struct mgmt_cp_set_device_flags {
+       struct mgmt_addr_info addr;
+       uint32_t current_flags;
+} __packed;
+struct mgmt_rp_set_device_flags {
+       struct mgmt_addr_info addr;
+} __packed;
+
 #define MGMT_ADV_MONITOR_FEATURE_MASK_OR_PATTERNS      (1 << 0)
 
 #define MGMT_OP_READ_ADV_MONITOR_FEATURES      0x0051
@@ -929,6 +950,13 @@ struct mgmt_ev_exp_feature_changed {
        uint32_t flags;
 } __packed;
 
+#define MGMT_EV_DEVICE_FLAGS_CHANGED           0x002a
+struct mgmt_ev_device_flags_changed {
+       struct mgmt_addr_info addr;
+       uint32_t supported_flags;
+       uint32_t current_flags;
+} __packed;
+
 #define MGMT_EV_ADV_MONITOR_ADDED      0x002b
 struct mgmt_ev_adv_monitor_added {
        uint16_t monitor_handle;
@@ -1017,6 +1045,8 @@ static const char *mgmt_op[] = {
        "Set Experimental Feature",
        "Read Default System Configuration",
        "Set Default System Configuration",
+       "Get Device Flags",
+       "Set Device Flags",                             /* 0x0050 */
        "Read Advertisement Monitor Features",
        "Add Advertisement Patterns Monitor",
        "Remove Advertisement Monitor",
@@ -1063,6 +1093,7 @@ static const char *mgmt_ev[] = {
        "Extended Controller Information Changed",
        "PHY Configuration Changed",
        "Experimental Feature Changed",
+       "Device Flags Changed",
        "Advertisement Monitor Added",                  /* 0x002b */
        "Advertisement Monitor Removed",
 };