Bluetooth: Add LE SecMgr and mgmtops support
Enabled ECB Block encoding for Low Energy pairing
Implemented missing components of MGMTOPS interface
Differentiated as needed between BR/EDR pairing and LE pairing
Signed-off-by: Brian Gix <bgix@codeaurora.org>
Conflicts:
net/bluetooth/mgmt.c
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
index 3466efa..9fda323 100644
--- a/include/net/bluetooth/hci.h
+++ b/include/net/bluetooth/hci.h
@@ -897,7 +897,20 @@
__u8 le_max_pkt;
} __packed;
+#define HCI_OP_LE_SET_SCAN_PARAMETERS 0x200b
+struct hci_cp_le_set_scan_parameters {
+ __u8 type;
+ __le16 interval;
+ __le16 window;
+ __u8 own_bdaddr_type;
+ __u8 filter;
+} __packed;
+
#define HCI_OP_LE_SET_SCAN_ENABLE 0x200c
+struct hci_cp_le_set_scan_enable {
+ __u8 enable;
+ __u8 filter_dup;
+} __packed;
#define HCI_OP_LE_CREATE_CONN 0x200d
struct hci_cp_le_create_conn {
@@ -928,6 +941,16 @@
__le16 max_ce_len;
} __packed;
+#define HCI_OP_LE_ENCRYPT 0x2017
+struct hci_cp_le_encrypt {
+ __u8 key[16];
+ __u8 data[16];
+} __packed;
+struct hci_cp_le_encrypt_reply {
+ __u8 status;
+ __u8 encrypted[16];
+} __packed;
+
#define HCI_OP_LE_START_ENC 0x2019
struct hci_cp_le_start_enc {
__le16 handle;
@@ -1209,6 +1232,11 @@
__le32 passkey;
} __packed;
+#define HCI_EV_USER_PASSKEY_REQUEST 0x34
+struct hci_ev_user_passkey_request {
+ bdaddr_t bdaddr;
+} __packed;
+
#define HCI_EV_REMOTE_OOB_DATA_REQUEST 0x35
struct hci_ev_remote_oob_data_request {
bdaddr_t bdaddr;
@@ -1220,6 +1248,12 @@
bdaddr_t bdaddr;
} __packed;
+#define HCI_EV_USER_PASSKEY_NOTIFICATION 0x3b
+struct hci_ev_user_passkey_notification {
+ bdaddr_t bdaddr;
+ __le32 passkey;
+} __packed;
+
#define HCI_EV_REMOTE_HOST_FEATURES 0x3d
struct hci_ev_remote_host_features {
bdaddr_t bdaddr;