Add Get Device Flags, Set Device Flags and Device Flags Changed.
---
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
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
While we are preparing for reviewing the patches, we found the following
issue/warning.
Test Result:
checkbuild Failed
Outputs:
ar: `u' modifier ignored since `D' is the default (see `U')
ar: `u' modifier ignored since `D' is the default (see `U')
ar: `u' modifier ignored since `D' is the default (see `U')
ar: `u' modifier ignored since `D' is the default (see `U')
ar: `u' modifier ignored since `D' is the default (see `U')
src/device.c:1348:6: error: no previous declaration for ‘device_get_wake_support’ [-Werror=missing-declarations]
1348 | bool device_get_wake_support(struct btd_device *device)
| ^~~~~~~~~~~~~~~~~~~~~~~
src/device.c:1366:6: error: no previous declaration for ‘device_get_wake_allowed’ [-Werror=missing-declarations]
1366 | bool device_get_wake_allowed(struct btd_device *device)
| ^~~~~~~~~~~~~~~~~~~~~~~
src/device.c: In function ‘btd_device_flags_changed’:
src/device.c:6742:6: error: unused variable ‘i’ [-Werror=unused-variable]
6742 | int i;
| ^
cc1: all warnings being treated as errors
make[1]: *** [Makefile:9223: src/bluetoothd-device.o] Error 1
make: *** [Makefile:4010: all] Error 2
---
Regards,
Linux Bluetooth