aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/bluetooth/mgmt.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/bluetooth/mgmt.h')
-rw-r--r--include/net/bluetooth/mgmt.h41
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
181struct mgmt_ltk_info { 183struct 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;
299struct 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
299struct mgmt_cp_add_remote_oob_data { 307struct 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)
313struct 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
307struct mgmt_cp_remove_remote_oob_data { 323struct 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
392struct mgmt_irk_info {
393 struct mgmt_addr_info addr;
394 __u8 val[16];
395} __packed;
396
397#define MGMT_OP_LOAD_IRKS 0x0030
398struct 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
373struct mgmt_ev_cmd_complete { 405struct 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
541struct mgmt_ev_new_irk {
542 __u8 store_hint;
543 bdaddr_t rpa;
544 struct mgmt_irk_info irk;
545} __packed;