aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/bluetooth/hci.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/bluetooth/hci.h')
-rw-r--r--include/net/bluetooth/hci.h49
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
680struct 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
664struct hci_cp_sniff_mode { 689struct 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
962struct hci_rp_read_sc_support {
963 __u8 status;
964 __u8 support;
965} __packed;
966
967#define HCI_OP_WRITE_SC_SUPPORT 0x0c7a
968struct hci_cp_write_sc_support {
969 __u8 support;
970} __packed;
971
972#define HCI_OP_READ_LOCAL_OOB_EXT_DATA 0x0c7d
973struct 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
937struct hci_rp_read_local_version { 982struct hci_rp_read_local_version {
938 __u8 status; 983 __u8 status;