diff options
Diffstat (limited to 'include/net/bluetooth/mgmt.h')
-rw-r--r-- | include/net/bluetooth/mgmt.h | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/include/net/bluetooth/mgmt.h b/include/net/bluetooth/mgmt.h index 518c5c84e39a..2e46251e8aec 100644 --- a/include/net/bluetooth/mgmt.h +++ b/include/net/bluetooth/mgmt.h | |||
@@ -94,6 +94,8 @@ struct mgmt_rp_read_index_list { | |||
94 | #define MGMT_SETTING_HS 0x00000100 | 94 | #define MGMT_SETTING_HS 0x00000100 |
95 | #define MGMT_SETTING_LE 0x00000200 | 95 | #define MGMT_SETTING_LE 0x00000200 |
96 | #define MGMT_SETTING_ADVERTISING 0x00000400 | 96 | #define MGMT_SETTING_ADVERTISING 0x00000400 |
97 | #define MGMT_SETTING_SECURE_CONN 0x00000800 | ||
98 | #define MGMT_SETTING_DEBUG_KEYS 0x00001000 | ||
97 | 99 | ||
98 | #define MGMT_OP_READ_INFO 0x0004 | 100 | #define MGMT_OP_READ_INFO 0x0004 |
99 | #define MGMT_READ_INFO_SIZE 0 | 101 | #define MGMT_READ_INFO_SIZE 0 |
@@ -180,7 +182,7 @@ struct mgmt_cp_load_link_keys { | |||
180 | 182 | ||
181 | struct mgmt_ltk_info { | 183 | struct mgmt_ltk_info { |
182 | struct mgmt_addr_info addr; | 184 | struct mgmt_addr_info addr; |
183 | __u8 authenticated; | 185 | __u8 type; |
184 | __u8 master; | 186 | __u8 master; |
185 | __u8 enc_size; | 187 | __u8 enc_size; |
186 | __le16 ediv; | 188 | __le16 ediv; |
@@ -294,6 +296,12 @@ struct mgmt_rp_read_local_oob_data { | |||
294 | __u8 hash[16]; | 296 | __u8 hash[16]; |
295 | __u8 randomizer[16]; | 297 | __u8 randomizer[16]; |
296 | } __packed; | 298 | } __packed; |
299 | struct mgmt_rp_read_local_oob_ext_data { | ||
300 | __u8 hash192[16]; | ||
301 | __u8 randomizer192[16]; | ||
302 | __u8 hash256[16]; | ||
303 | __u8 randomizer256[16]; | ||
304 | } __packed; | ||
297 | 305 | ||
298 | #define MGMT_OP_ADD_REMOTE_OOB_DATA 0x0021 | 306 | #define MGMT_OP_ADD_REMOTE_OOB_DATA 0x0021 |
299 | struct mgmt_cp_add_remote_oob_data { | 307 | struct mgmt_cp_add_remote_oob_data { |
@@ -302,6 +310,14 @@ struct mgmt_cp_add_remote_oob_data { | |||
302 | __u8 randomizer[16]; | 310 | __u8 randomizer[16]; |
303 | } __packed; | 311 | } __packed; |
304 | #define MGMT_ADD_REMOTE_OOB_DATA_SIZE (MGMT_ADDR_INFO_SIZE + 32) | 312 | #define MGMT_ADD_REMOTE_OOB_DATA_SIZE (MGMT_ADDR_INFO_SIZE + 32) |
313 | struct mgmt_cp_add_remote_oob_ext_data { | ||
314 | struct mgmt_addr_info addr; | ||
315 | __u8 hash192[16]; | ||
316 | __u8 randomizer192[16]; | ||
317 | __u8 hash256[16]; | ||
318 | __u8 randomizer256[16]; | ||
319 | } __packed; | ||
320 | #define MGMT_ADD_REMOTE_OOB_EXT_DATA_SIZE (MGMT_ADDR_INFO_SIZE + 64) | ||
305 | 321 | ||
306 | #define MGMT_OP_REMOVE_REMOTE_OOB_DATA 0x0022 | 322 | #define MGMT_OP_REMOVE_REMOTE_OOB_DATA 0x0022 |
307 | struct mgmt_cp_remove_remote_oob_data { | 323 | struct mgmt_cp_remove_remote_oob_data { |
@@ -369,6 +385,22 @@ struct mgmt_cp_set_scan_params { | |||
369 | } __packed; | 385 | } __packed; |
370 | #define MGMT_SET_SCAN_PARAMS_SIZE 4 | 386 | #define MGMT_SET_SCAN_PARAMS_SIZE 4 |
371 | 387 | ||
388 | #define MGMT_OP_SET_SECURE_CONN 0x002D | ||
389 | |||
390 | #define MGMT_OP_SET_DEBUG_KEYS 0x002E | ||
391 | |||
392 | struct mgmt_irk_info { | ||
393 | struct mgmt_addr_info addr; | ||
394 | __u8 val[16]; | ||
395 | } __packed; | ||
396 | |||
397 | #define MGMT_OP_LOAD_IRKS 0x0030 | ||
398 | struct mgmt_cp_load_irks { | ||
399 | __le16 irk_count; | ||
400 | struct mgmt_irk_info irks[0]; | ||
401 | } __packed; | ||
402 | #define MGMT_LOAD_IRKS_SIZE 2 | ||
403 | |||
372 | #define MGMT_EV_CMD_COMPLETE 0x0001 | 404 | #define MGMT_EV_CMD_COMPLETE 0x0001 |
373 | struct mgmt_ev_cmd_complete { | 405 | struct mgmt_ev_cmd_complete { |
374 | __le16 opcode; | 406 | __le16 opcode; |
@@ -504,3 +536,10 @@ struct mgmt_ev_passkey_notify { | |||
504 | __le32 passkey; | 536 | __le32 passkey; |
505 | __u8 entered; | 537 | __u8 entered; |
506 | } __packed; | 538 | } __packed; |
539 | |||
540 | #define MGMT_EV_NEW_IRK 0x0018 | ||
541 | struct mgmt_ev_new_irk { | ||
542 | __u8 store_hint; | ||
543 | bdaddr_t rpa; | ||
544 | struct mgmt_irk_info irk; | ||
545 | } __packed; | ||