Bluetooth: Add add/remove_remote_oob_data management commands
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / net / bluetooth / hci.h
index ec6acf2f1c0bba3dfa9b6ae7f325d1b22330b824..b989a8c3e01a387fdf33d52721fa4d1966696396 100644 (file)
@@ -426,6 +426,18 @@ struct hci_rp_user_confirm_reply {
 
 #define HCI_OP_USER_CONFIRM_NEG_REPLY  0x042d
 
+#define HCI_OP_REMOTE_OOB_DATA_REPLY   0x0430
+struct hci_cp_remote_oob_data_reply {
+       bdaddr_t bdaddr;
+       __u8     hash[16];
+       __u8     randomizer[16];
+} __packed;
+
+#define HCI_OP_REMOTE_OOB_DATA_NEG_REPLY       0x0433
+struct hci_cp_remote_oob_data_neg_reply {
+       bdaddr_t bdaddr;
+} __packed;
+
 #define HCI_OP_IO_CAPABILITY_NEG_REPLY 0x0434
 struct hci_cp_io_capability_neg_reply {
        bdaddr_t bdaddr;
@@ -535,15 +547,17 @@ struct hci_cp_delete_stored_link_key {
        __u8     delete_all;
 } __packed;
 
+#define HCI_MAX_NAME_LENGTH            248
+
 #define HCI_OP_WRITE_LOCAL_NAME                0x0c13
 struct hci_cp_write_local_name {
-       __u8     name[248];
+       __u8     name[HCI_MAX_NAME_LENGTH];
 } __packed;
 
 #define HCI_OP_READ_LOCAL_NAME         0x0c14
 struct hci_rp_read_local_name {
        __u8     status;
-       __u8     name[248];
+       __u8     name[HCI_MAX_NAME_LENGTH];
 } __packed;
 
 #define HCI_OP_WRITE_CA_TIMEOUT                0x0c16
@@ -611,6 +625,13 @@ struct hci_cp_write_ssp_mode {
        __u8     mode;
 } __packed;
 
+#define HCI_OP_READ_LOCAL_OOB_DATA             0x0c57
+struct hci_rp_read_local_oob_data {
+       __u8     status;
+       __u8     hash[16];
+       __u8     randomizer[16];
+} __packed;
+
 #define HCI_OP_READ_INQ_RSP_TX_POWER   0x0c58
 
 #define HCI_OP_READ_LOCAL_VERSION      0x1001
@@ -745,7 +766,7 @@ struct hci_ev_auth_complete {
 struct hci_ev_remote_name {
        __u8     status;
        bdaddr_t bdaddr;
-       __u8     name[248];
+       __u8     name[HCI_MAX_NAME_LENGTH];
 } __packed;
 
 #define HCI_EV_ENCRYPT_CHANGE          0x08
@@ -953,6 +974,11 @@ struct hci_ev_user_confirm_req {
        __le32          passkey;
 } __packed;
 
+#define HCI_EV_REMOTE_OOB_DATA_REQUEST 0x35
+struct hci_ev_remote_oob_data_request {
+       bdaddr_t bdaddr;
+} __packed;
+
 #define HCI_EV_SIMPLE_PAIR_COMPLETE    0x36
 struct hci_ev_simple_pair_complete {
        __u8     status;