summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSudha Bheemanna <b.sudha@samsung.com>2016-09-08 10:10:03 +0530
committerAmit Purwar <amit.purwar@samsung.com>2019-06-28 09:36:37 +0530
commitab4abe03b59a6ac1262b739b2f148c1fde92c630 (patch)
treee15f236291b593e00eda6472b7151f622888c48e /include
parent222edf542abbc77a957e594a88b10998bafd3ac2 (diff)
downloadlinux-rpi3-ab4abe03b59a6ac1262b739b2f148c1fde92c630.tar.gz
linux-rpi3-ab4abe03b59a6ac1262b739b2f148c1fde92c630.tar.bz2
linux-rpi3-ab4abe03b59a6ac1262b739b2f148c1fde92c630.zip
Bluetooth: Add LE device found MGMT event
This patch adds new MGMT event for LE device discovery and allows the handling of all advertisement packets in platform. Change-Id: I1927acb75eff0b60a5899898c6d7a000e1a108ef Signed-off-by: Sudha Bheemanna <b.sudha@samsung.com> Signed-off-by: Amit Purwar <amit.purwar@samsung.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/bluetooth/hci.h7
-rw-r--r--include/net/bluetooth/hci_core.h6
-rw-r--r--include/net/bluetooth/mgmt_tizen.h22
3 files changed, 35 insertions, 0 deletions
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
index 7fe16b56aab3..87f9ffc8a5b0 100644
--- a/include/net/bluetooth/hci.h
+++ b/include/net/bluetooth/hci.h
@@ -2116,6 +2116,13 @@ struct hci_ev_vendor_specific_rssi_alert {
__s8 alert_type;
__s8 rssi_dbm;
} __packed;
+
+#define LE_MULTI_ADV_STATE_CHANGE_SUB_EVENT 0x55
+struct hci_ev_vendor_specific_multi_adv_state {
+ __u8 adv_instance;
+ __u8 state_change_reason;
+ __le16 connection_handle;
+} __packed;
#endif
#define HCI_EV_LE_CONN_COMPLETE 0x01
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index 0538deae2764..2780ba9e0d67 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -1679,6 +1679,12 @@ int mgmt_le_conn_update_failed(struct hci_dev *hdev, bdaddr_t *bdaddr,
u8 link_type, u8 addr_type, u8 status);
void mgmt_hardware_error(struct hci_dev *hdev, u8 err_code);
void mgmt_tx_timeout_error(struct hci_dev *hdev);
+/* Pass adv type in the le device found */
+void mgmt_le_device_found(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
+ u8 addr_type, u8 *dev_class, s8 rssi, u32 flags, u8 *eir,
+ u16 eir_len, u8 *scan_rsp, u8 scan_rsp_len, u8 adv_type);
+void mgmt_multi_adv_state_change_evt(struct hci_dev *hdev, u8 adv_instance,
+ u8 state_change_reason, u16 connection_handle);
#endif
u8 hci_le_conn_update(struct hci_conn *conn, u16 min, u16 max, u16 latency,
diff --git a/include/net/bluetooth/mgmt_tizen.h b/include/net/bluetooth/mgmt_tizen.h
index fd5a9fe3f390..504c2d47b07d 100644
--- a/include/net/bluetooth/mgmt_tizen.h
+++ b/include/net/bluetooth/mgmt_tizen.h
@@ -211,4 +211,26 @@ struct mgmt_ev_conn_update_failed {
} __packed;
/* Add LE connection update Events */
+/* For LE device found event */
+#define MGMT_EV_LE_DEVICE_FOUND (TIZEN_EV_BASE + 0x0a)
+struct mgmt_ev_le_device_found {
+ struct mgmt_addr_info addr;
+ __s8 rssi;
+ __le32 flags;
+ __s8 adv_type;
+ __le16 eir_len;
+ __u8 eir[0];
+} __packed;
+/* LE device found event */
+
+/* For LE advertisement state changed event */
+#define MGMT_EV_MULTI_ADV_STATE_CHANGED (TIZEN_EV_BASE + 0x0b)
+struct mgmt_ev_vendor_specific_multi_adv_state_changed {
+ __u8 adv_instance;
+ __u8 state_change_reason;
+ __le16 connection_handle;
+} __packed;
+/* LE advertisement state changed event */
+
+
#endif /* __MGMT_TIZEN_H */