Skip to content

Commit ac7d245

Browse files
mcchou-crCommit Bot
authored andcommitted
FROMGIT: Bluetooth: Add definitions for advertisement monitor features
This adds support for Advertisement Monitor API. Here are the commands and events added. - Read Advertisement Monitor Feature command - Add Advertisement Pattern Monitor command - Remove Advertisement Monitor command - Advertisement Monitor Added event - Advertisement Monitor Removed event Signed-off-by: Miao-chen Chou <mcchou@chromium.org> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> (cherry picked from commit 7fceb17 git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git master) BUG=b:155229103 TEST=built Signed-off-by: Miao-chen Chou <mcchou@chromium.org> Change-Id: I39a32a5b2272dcc022b17c24f5d78e069cc53482 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2296252 Reviewed-by: Sean Paul <seanpaul@chromium.org> Reviewed-by: Alain Michaud <alainm@chromium.org>
1 parent a491774 commit ac7d245

File tree

1 file changed

+49
-0
lines changed

1 file changed

+49
-0
lines changed

include/net/bluetooth/mgmt.h

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -684,6 +684,45 @@ struct mgmt_rp_set_device_flags {
684684
struct mgmt_addr_info addr;
685685
} __packed;
686686

687+
#define MGMT_ADV_MONITOR_FEATURE_MASK_OR_PATTERNS BIT(0)
688+
689+
#define MGMT_OP_READ_ADV_MONITOR_FEATURES 0x0051
690+
#define MGMT_READ_ADV_MONITOR_FEATURES_SIZE 0
691+
struct mgmt_rp_read_adv_monitor_features {
692+
__le32 supported_features;
693+
__le32 enabled_features;
694+
__le16 max_num_handles;
695+
__u8 max_num_patterns;
696+
__le16 num_handles;
697+
__le16 handles[];
698+
} __packed;
699+
700+
struct mgmt_adv_pattern {
701+
__u8 ad_type;
702+
__u8 offset;
703+
__u8 length;
704+
__u8 value[31];
705+
} __packed;
706+
707+
#define MGMT_OP_ADD_ADV_PATTERNS_MONITOR 0x0052
708+
struct mgmt_cp_add_adv_patterns_monitor {
709+
__u8 pattern_count;
710+
struct mgmt_adv_pattern patterns[];
711+
} __packed;
712+
#define MGMT_ADD_ADV_PATTERNS_MONITOR_SIZE 1
713+
struct mgmt_rp_add_adv_patterns_monitor {
714+
__le16 monitor_handle;
715+
} __packed;
716+
717+
#define MGMT_OP_REMOVE_ADV_MONITOR 0x0053
718+
struct mgmt_cp_remove_adv_monitor {
719+
__le16 monitor_handle;
720+
} __packed;
721+
#define MGMT_REMOVE_ADV_MONITOR_SIZE 2
722+
struct mgmt_rp_remove_adv_monitor {
723+
__le16 monitor_handle;
724+
} __packed;
725+
687726
#define MGMT_EV_CMD_COMPLETE 0x0001
688727
struct mgmt_ev_cmd_complete {
689728
__le16 opcode;
@@ -917,3 +956,13 @@ struct mgmt_ev_device_flags_changed {
917956
__le32 supported_flags;
918957
__le32 current_flags;
919958
} __packed;
959+
960+
#define MGMT_EV_ADV_MONITOR_ADDED 0x002b
961+
struct mgmt_ev_adv_monitor_added {
962+
__le16 monitor_handle;
963+
} __packed;
964+
965+
#define MGMT_EV_ADV_MONITOR_REMOVED 0x002c
966+
struct mgmt_ev_adv_monitor_removed {
967+
__le16 monitor_handle;
968+
} __packed;

0 commit comments

Comments
 (0)