diff options
Diffstat (limited to 'include/net/bluetooth/hci.h')
-rw-r--r-- | include/net/bluetooth/hci.h | 49 |
1 files changed, 47 insertions, 2 deletions
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index 66c1cd87bfe7..fe4b06bfc150 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h | |||
@@ -117,11 +117,16 @@ enum { | |||
117 | HCI_SERVICE_CACHE, | 117 | HCI_SERVICE_CACHE, |
118 | HCI_DEBUG_KEYS, | 118 | HCI_DEBUG_KEYS, |
119 | HCI_DUT_MODE, | 119 | HCI_DUT_MODE, |
120 | HCI_FORCE_SC, | ||
121 | HCI_FORCE_STATIC_ADDR, | ||
120 | HCI_UNREGISTER, | 122 | HCI_UNREGISTER, |
121 | HCI_USER_CHANNEL, | 123 | HCI_USER_CHANNEL, |
122 | 124 | ||
123 | HCI_LE_SCAN, | 125 | HCI_LE_SCAN, |
124 | HCI_SSP_ENABLED, | 126 | HCI_SSP_ENABLED, |
127 | HCI_SC_ENABLED, | ||
128 | HCI_SC_ONLY, | ||
129 | HCI_RPA_RESOLVING, | ||
125 | HCI_HS_ENABLED, | 130 | HCI_HS_ENABLED, |
126 | HCI_LE_ENABLED, | 131 | HCI_LE_ENABLED, |
127 | HCI_ADVERTISING, | 132 | HCI_ADVERTISING, |
@@ -282,10 +287,14 @@ enum { | |||
282 | #define LMP_SYNC_TRAIN 0x04 | 287 | #define LMP_SYNC_TRAIN 0x04 |
283 | #define LMP_SYNC_SCAN 0x08 | 288 | #define LMP_SYNC_SCAN 0x08 |
284 | 289 | ||
290 | #define LMP_SC 0x01 | ||
291 | #define LMP_PING 0x02 | ||
292 | |||
285 | /* Host features */ | 293 | /* Host features */ |
286 | #define LMP_HOST_SSP 0x01 | 294 | #define LMP_HOST_SSP 0x01 |
287 | #define LMP_HOST_LE 0x02 | 295 | #define LMP_HOST_LE 0x02 |
288 | #define LMP_HOST_LE_BREDR 0x04 | 296 | #define LMP_HOST_LE_BREDR 0x04 |
297 | #define LMP_HOST_SC 0x08 | ||
289 | 298 | ||
290 | /* Connection modes */ | 299 | /* Connection modes */ |
291 | #define HCI_CM_ACTIVE 0x0000 | 300 | #define HCI_CM_ACTIVE 0x0000 |
@@ -307,6 +316,7 @@ enum { | |||
307 | #define HCI_LM_TRUSTED 0x0008 | 316 | #define HCI_LM_TRUSTED 0x0008 |
308 | #define HCI_LM_RELIABLE 0x0010 | 317 | #define HCI_LM_RELIABLE 0x0010 |
309 | #define HCI_LM_SECURE 0x0020 | 318 | #define HCI_LM_SECURE 0x0020 |
319 | #define HCI_LM_FIPS 0x0040 | ||
310 | 320 | ||
311 | /* Authentication types */ | 321 | /* Authentication types */ |
312 | #define HCI_AT_NO_BONDING 0x00 | 322 | #define HCI_AT_NO_BONDING 0x00 |
@@ -327,15 +337,21 @@ enum { | |||
327 | #define HCI_LK_LOCAL_UNIT 0x01 | 337 | #define HCI_LK_LOCAL_UNIT 0x01 |
328 | #define HCI_LK_REMOTE_UNIT 0x02 | 338 | #define HCI_LK_REMOTE_UNIT 0x02 |
329 | #define HCI_LK_DEBUG_COMBINATION 0x03 | 339 | #define HCI_LK_DEBUG_COMBINATION 0x03 |
330 | #define HCI_LK_UNAUTH_COMBINATION 0x04 | 340 | #define HCI_LK_UNAUTH_COMBINATION_P192 0x04 |
331 | #define HCI_LK_AUTH_COMBINATION 0x05 | 341 | #define HCI_LK_AUTH_COMBINATION_P192 0x05 |
332 | #define HCI_LK_CHANGED_COMBINATION 0x06 | 342 | #define HCI_LK_CHANGED_COMBINATION 0x06 |
343 | #define HCI_LK_UNAUTH_COMBINATION_P256 0x07 | ||
344 | #define HCI_LK_AUTH_COMBINATION_P256 0x08 | ||
333 | /* The spec doesn't define types for SMP keys, the _MASTER suffix is implied */ | 345 | /* The spec doesn't define types for SMP keys, the _MASTER suffix is implied */ |
334 | #define HCI_SMP_STK 0x80 | 346 | #define HCI_SMP_STK 0x80 |
335 | #define HCI_SMP_STK_SLAVE 0x81 | 347 | #define HCI_SMP_STK_SLAVE 0x81 |
336 | #define HCI_SMP_LTK 0x82 | 348 | #define HCI_SMP_LTK 0x82 |
337 | #define HCI_SMP_LTK_SLAVE 0x83 | 349 | #define HCI_SMP_LTK_SLAVE 0x83 |
338 | 350 | ||
351 | /* Long Term Key types */ | ||
352 | #define HCI_LTK_UNAUTH 0x00 | ||
353 | #define HCI_LTK_AUTH 0x01 | ||
354 | |||
339 | /* ---- HCI Error Codes ---- */ | 355 | /* ---- HCI Error Codes ---- */ |
340 | #define HCI_ERROR_AUTH_FAILURE 0x05 | 356 | #define HCI_ERROR_AUTH_FAILURE 0x05 |
341 | #define HCI_ERROR_CONNECTION_TIMEOUT 0x08 | 357 | #define HCI_ERROR_CONNECTION_TIMEOUT 0x08 |
@@ -660,6 +676,15 @@ struct hci_rp_set_csb { | |||
660 | 676 | ||
661 | #define HCI_OP_START_SYNC_TRAIN 0x0443 | 677 | #define HCI_OP_START_SYNC_TRAIN 0x0443 |
662 | 678 | ||
679 | #define HCI_OP_REMOTE_OOB_EXT_DATA_REPLY 0x0445 | ||
680 | struct hci_cp_remote_oob_ext_data_reply { | ||
681 | bdaddr_t bdaddr; | ||
682 | __u8 hash192[16]; | ||
683 | __u8 randomizer192[16]; | ||
684 | __u8 hash256[16]; | ||
685 | __u8 randomizer256[16]; | ||
686 | } __packed; | ||
687 | |||
663 | #define HCI_OP_SNIFF_MODE 0x0803 | 688 | #define HCI_OP_SNIFF_MODE 0x0803 |
664 | struct hci_cp_sniff_mode { | 689 | struct hci_cp_sniff_mode { |
665 | __le16 handle; | 690 | __le16 handle; |
@@ -933,6 +958,26 @@ struct hci_rp_write_sync_train_params { | |||
933 | __le16 sync_train_int; | 958 | __le16 sync_train_int; |
934 | } __packed; | 959 | } __packed; |
935 | 960 | ||
961 | #define HCI_OP_READ_SC_SUPPORT 0x0c79 | ||
962 | struct hci_rp_read_sc_support { | ||
963 | __u8 status; | ||
964 | __u8 support; | ||
965 | } __packed; | ||
966 | |||
967 | #define HCI_OP_WRITE_SC_SUPPORT 0x0c7a | ||
968 | struct hci_cp_write_sc_support { | ||
969 | __u8 support; | ||
970 | } __packed; | ||
971 | |||
972 | #define HCI_OP_READ_LOCAL_OOB_EXT_DATA 0x0c7d | ||
973 | struct hci_rp_read_local_oob_ext_data { | ||
974 | __u8 status; | ||
975 | __u8 hash192[16]; | ||
976 | __u8 randomizer192[16]; | ||
977 | __u8 hash256[16]; | ||
978 | __u8 randomizer256[16]; | ||
979 | } __packed; | ||
980 | |||
936 | #define HCI_OP_READ_LOCAL_VERSION 0x1001 | 981 | #define HCI_OP_READ_LOCAL_VERSION 0x1001 |
937 | struct hci_rp_read_local_version { | 982 | struct hci_rp_read_local_version { |
938 | __u8 status; | 983 | __u8 status; |