diff options
Diffstat (limited to 'include/net/bluetooth/mgmt.h')
-rw-r--r-- | include/net/bluetooth/mgmt.h | 49 |
1 files changed, 45 insertions, 4 deletions
diff --git a/include/net/bluetooth/mgmt.h b/include/net/bluetooth/mgmt.h index 3e320c9cae8f..3b6880690a78 100644 --- a/include/net/bluetooth/mgmt.h +++ b/include/net/bluetooth/mgmt.h | |||
@@ -23,6 +23,23 @@ | |||
23 | 23 | ||
24 | #define MGMT_INDEX_NONE 0xFFFF | 24 | #define MGMT_INDEX_NONE 0xFFFF |
25 | 25 | ||
26 | #define MGMT_STATUS_SUCCESS 0x00 | ||
27 | #define MGMT_STATUS_UNKNOWN_COMMAND 0x01 | ||
28 | #define MGMT_STATUS_NOT_CONNECTED 0x02 | ||
29 | #define MGMT_STATUS_FAILED 0x03 | ||
30 | #define MGMT_STATUS_CONNECT_FAILED 0x04 | ||
31 | #define MGMT_STATUS_AUTH_FAILED 0x05 | ||
32 | #define MGMT_STATUS_NOT_PAIRED 0x06 | ||
33 | #define MGMT_STATUS_NO_RESOURCES 0x07 | ||
34 | #define MGMT_STATUS_TIMEOUT 0x08 | ||
35 | #define MGMT_STATUS_ALREADY_CONNECTED 0x09 | ||
36 | #define MGMT_STATUS_BUSY 0x0a | ||
37 | #define MGMT_STATUS_REJECTED 0x0b | ||
38 | #define MGMT_STATUS_NOT_SUPPORTED 0x0c | ||
39 | #define MGMT_STATUS_INVALID_PARAMS 0x0d | ||
40 | #define MGMT_STATUS_DISCONNECTED 0x0e | ||
41 | #define MGMT_STATUS_NOT_POWERED 0x0f | ||
42 | |||
26 | struct mgmt_hdr { | 43 | struct mgmt_hdr { |
27 | __le16 opcode; | 44 | __le16 opcode; |
28 | __le16 index; | 45 | __le16 index; |
@@ -119,6 +136,10 @@ struct mgmt_cp_remove_keys { | |||
119 | bdaddr_t bdaddr; | 136 | bdaddr_t bdaddr; |
120 | __u8 disconnect; | 137 | __u8 disconnect; |
121 | } __packed; | 138 | } __packed; |
139 | struct mgmt_rp_remove_keys { | ||
140 | bdaddr_t bdaddr; | ||
141 | __u8 status; | ||
142 | }; | ||
122 | 143 | ||
123 | #define MGMT_OP_DISCONNECT 0x000F | 144 | #define MGMT_OP_DISCONNECT 0x000F |
124 | struct mgmt_cp_disconnect { | 145 | struct mgmt_cp_disconnect { |
@@ -126,11 +147,12 @@ struct mgmt_cp_disconnect { | |||
126 | } __packed; | 147 | } __packed; |
127 | struct mgmt_rp_disconnect { | 148 | struct mgmt_rp_disconnect { |
128 | bdaddr_t bdaddr; | 149 | bdaddr_t bdaddr; |
150 | __u8 status; | ||
129 | } __packed; | 151 | } __packed; |
130 | 152 | ||
131 | #define MGMT_ADDR_BREDR 0x00 | 153 | #define MGMT_ADDR_BREDR 0x00 |
132 | #define MGMT_ADDR_LE 0x01 | 154 | #define MGMT_ADDR_LE_PUBLIC 0x01 |
133 | #define MGMT_ADDR_BREDR_LE 0x02 | 155 | #define MGMT_ADDR_LE_RANDOM 0x02 |
134 | #define MGMT_ADDR_INVALID 0xff | 156 | #define MGMT_ADDR_INVALID 0xff |
135 | 157 | ||
136 | struct mgmt_addr_info { | 158 | struct mgmt_addr_info { |
@@ -167,11 +189,11 @@ struct mgmt_cp_set_io_capability { | |||
167 | 189 | ||
168 | #define MGMT_OP_PAIR_DEVICE 0x0014 | 190 | #define MGMT_OP_PAIR_DEVICE 0x0014 |
169 | struct mgmt_cp_pair_device { | 191 | struct mgmt_cp_pair_device { |
170 | bdaddr_t bdaddr; | 192 | struct mgmt_addr_info addr; |
171 | __u8 io_cap; | 193 | __u8 io_cap; |
172 | } __packed; | 194 | } __packed; |
173 | struct mgmt_rp_pair_device { | 195 | struct mgmt_rp_pair_device { |
174 | bdaddr_t bdaddr; | 196 | struct mgmt_addr_info addr; |
175 | __u8 status; | 197 | __u8 status; |
176 | } __packed; | 198 | } __packed; |
177 | 199 | ||
@@ -210,6 +232,9 @@ struct mgmt_cp_remove_remote_oob_data { | |||
210 | } __packed; | 232 | } __packed; |
211 | 233 | ||
212 | #define MGMT_OP_START_DISCOVERY 0x001B | 234 | #define MGMT_OP_START_DISCOVERY 0x001B |
235 | struct mgmt_cp_start_discovery { | ||
236 | __u8 type; | ||
237 | } __packed; | ||
213 | 238 | ||
214 | #define MGMT_OP_STOP_DISCOVERY 0x001C | 239 | #define MGMT_OP_STOP_DISCOVERY 0x001C |
215 | 240 | ||
@@ -228,6 +253,17 @@ struct mgmt_cp_set_fast_connectable { | |||
228 | __u8 enable; | 253 | __u8 enable; |
229 | } __packed; | 254 | } __packed; |
230 | 255 | ||
256 | #define MGMT_OP_USER_PASSKEY_REPLY 0x0020 | ||
257 | struct mgmt_cp_user_passkey_reply { | ||
258 | bdaddr_t bdaddr; | ||
259 | __le32 passkey; | ||
260 | } __packed; | ||
261 | |||
262 | #define MGMT_OP_USER_PASSKEY_NEG_REPLY 0x0021 | ||
263 | struct mgmt_cp_user_passkey_neg_reply { | ||
264 | bdaddr_t bdaddr; | ||
265 | } __packed; | ||
266 | |||
231 | #define MGMT_EV_CMD_COMPLETE 0x0001 | 267 | #define MGMT_EV_CMD_COMPLETE 0x0001 |
232 | struct mgmt_ev_cmd_complete { | 268 | struct mgmt_ev_cmd_complete { |
233 | __le16 opcode; | 269 | __le16 opcode; |
@@ -322,3 +358,8 @@ struct mgmt_ev_device_blocked { | |||
322 | struct mgmt_ev_device_unblocked { | 358 | struct mgmt_ev_device_unblocked { |
323 | bdaddr_t bdaddr; | 359 | bdaddr_t bdaddr; |
324 | } __packed; | 360 | } __packed; |
361 | |||
362 | #define MGMT_EV_USER_PASSKEY_REQUEST 0x0017 | ||
363 | struct mgmt_ev_user_passkey_request { | ||
364 | bdaddr_t bdaddr; | ||
365 | } __packed; | ||