2020-07-06 20:26:05

by Abhishek Pandit-Subedi

[permalink] [raw]
Subject: [BlueZ PATCH v7 1/6] mgmt: Add mgmt op and events for device flags

Add Get Device Flags, Set Device Flags and Device Flags Changed.

---

Changes in v7: None
Changes in v6: None
Changes in v5:
- Use device_flags mgmt op

Changes in v4: None
Changes in v3: None
Changes in v2: None

lib/mgmt.h | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

diff --git a/lib/mgmt.h b/lib/mgmt.h
index fad1f3dfe..525c4dd62 100644
--- a/lib/mgmt.h
+++ b/lib/mgmt.h
@@ -654,6 +654,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
@@ -919,6 +940,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;
@@ -1007,6 +1035,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",
@@ -1053,6 +1083,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",
};
--
2.27.0.212.ge8ba1cc988-goog