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.h99
1 files changed, 99 insertions, 0 deletions
diff --git a/include/net/bluetooth/mgmt.h b/include/net/bluetooth/mgmt.h
index bcffc9ae0c89..623d5203c592 100644
--- a/include/net/bluetooth/mgmt.h
+++ b/include/net/bluetooth/mgmt.h
@@ -97,6 +97,7 @@ struct mgmt_rp_read_index_list {
97#define MGMT_SETTING_SECURE_CONN 0x00000800 97#define MGMT_SETTING_SECURE_CONN 0x00000800
98#define MGMT_SETTING_DEBUG_KEYS 0x00001000 98#define MGMT_SETTING_DEBUG_KEYS 0x00001000
99#define MGMT_SETTING_PRIVACY 0x00002000 99#define MGMT_SETTING_PRIVACY 0x00002000
100#define MGMT_SETTING_CONFIGURATION 0x00004000
100 101
101#define MGMT_OP_READ_INFO 0x0004 102#define MGMT_OP_READ_INFO 0x0004
102#define MGMT_READ_INFO_SIZE 0 103#define MGMT_READ_INFO_SIZE 0
@@ -424,6 +425,76 @@ struct mgmt_rp_get_conn_info {
424 __s8 max_tx_power; 425 __s8 max_tx_power;
425} __packed; 426} __packed;
426 427
428#define MGMT_OP_GET_CLOCK_INFO 0x0032
429struct mgmt_cp_get_clock_info {
430 struct mgmt_addr_info addr;
431} __packed;
432#define MGMT_GET_CLOCK_INFO_SIZE MGMT_ADDR_INFO_SIZE
433struct mgmt_rp_get_clock_info {
434 struct mgmt_addr_info addr;
435 __le32 local_clock;
436 __le32 piconet_clock;
437 __le16 accuracy;
438} __packed;
439
440#define MGMT_OP_ADD_DEVICE 0x0033
441struct mgmt_cp_add_device {
442 struct mgmt_addr_info addr;
443 __u8 action;
444} __packed;
445#define MGMT_ADD_DEVICE_SIZE (MGMT_ADDR_INFO_SIZE + 1)
446
447#define MGMT_OP_REMOVE_DEVICE 0x0034
448struct mgmt_cp_remove_device {
449 struct mgmt_addr_info addr;
450} __packed;
451#define MGMT_REMOVE_DEVICE_SIZE MGMT_ADDR_INFO_SIZE
452
453struct mgmt_conn_param {
454 struct mgmt_addr_info addr;
455 __le16 min_interval;
456 __le16 max_interval;
457 __le16 latency;
458 __le16 timeout;
459} __packed;
460
461#define MGMT_OP_LOAD_CONN_PARAM 0x0035
462struct mgmt_cp_load_conn_param {
463 __le16 param_count;
464 struct mgmt_conn_param params[0];
465} __packed;
466#define MGMT_LOAD_CONN_PARAM_SIZE 2
467
468#define MGMT_OP_READ_UNCONF_INDEX_LIST 0x0036
469#define MGMT_READ_UNCONF_INDEX_LIST_SIZE 0
470struct mgmt_rp_read_unconf_index_list {
471 __le16 num_controllers;
472 __le16 index[0];
473} __packed;
474
475#define MGMT_OPTION_EXTERNAL_CONFIG 0x00000001
476#define MGMT_OPTION_PUBLIC_ADDRESS 0x00000002
477
478#define MGMT_OP_READ_CONFIG_INFO 0x0037
479#define MGMT_READ_CONFIG_INFO_SIZE 0
480struct mgmt_rp_read_config_info {
481 __le16 manufacturer;
482 __le32 supported_options;
483 __le32 missing_options;
484} __packed;
485
486#define MGMT_OP_SET_EXTERNAL_CONFIG 0x0038
487struct mgmt_cp_set_external_config {
488 __u8 config;
489} __packed;
490#define MGMT_SET_EXTERNAL_CONFIG_SIZE 1
491
492#define MGMT_OP_SET_PUBLIC_ADDRESS 0x0039
493struct mgmt_cp_set_public_address {
494 bdaddr_t bdaddr;
495} __packed;
496#define MGMT_SET_PUBLIC_ADDRESS_SIZE 6
497
427#define MGMT_EV_CMD_COMPLETE 0x0001 498#define MGMT_EV_CMD_COMPLETE 0x0001
428struct mgmt_ev_cmd_complete { 499struct mgmt_ev_cmd_complete {
429 __le16 opcode; 500 __le16 opcode;
@@ -522,6 +593,7 @@ struct mgmt_ev_auth_failed {
522 593
523#define MGMT_DEV_FOUND_CONFIRM_NAME 0x01 594#define MGMT_DEV_FOUND_CONFIRM_NAME 0x01
524#define MGMT_DEV_FOUND_LEGACY_PAIRING 0x02 595#define MGMT_DEV_FOUND_LEGACY_PAIRING 0x02
596#define MGMT_DEV_FOUND_NOT_CONNECTABLE 0x04
525 597
526#define MGMT_EV_DEVICE_FOUND 0x0012 598#define MGMT_EV_DEVICE_FOUND 0x0012
527struct mgmt_ev_device_found { 599struct mgmt_ev_device_found {
@@ -578,3 +650,30 @@ struct mgmt_ev_new_csrk {
578 __u8 store_hint; 650 __u8 store_hint;
579 struct mgmt_csrk_info key; 651 struct mgmt_csrk_info key;
580} __packed; 652} __packed;
653
654#define MGMT_EV_DEVICE_ADDED 0x001a
655struct mgmt_ev_device_added {
656 struct mgmt_addr_info addr;
657 __u8 action;
658} __packed;
659
660#define MGMT_EV_DEVICE_REMOVED 0x001b
661struct mgmt_ev_device_removed {
662 struct mgmt_addr_info addr;
663} __packed;
664
665#define MGMT_EV_NEW_CONN_PARAM 0x001c
666struct mgmt_ev_new_conn_param {
667 struct mgmt_addr_info addr;
668 __u8 store_hint;
669 __le16 min_interval;
670 __le16 max_interval;
671 __le16 latency;
672 __le16 timeout;
673} __packed;
674
675#define MGMT_EV_UNCONF_INDEX_ADDED 0x001d
676
677#define MGMT_EV_UNCONF_INDEX_REMOVED 0x001e
678
679#define MGMT_EV_NEW_CONFIG_OPTIONS 0x001f