Bluetooth: Add set_io_capability management command

This patch adds a new set_io_capability management command which is used
to set the IO capability for Secure Simple Pairing (SSP) as well as the
Security Manager Protocol (SMP). The value is per hci_dev and each
hci_conn object inherits it upon creation.

Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
This commit is contained in:
Johan Hedberg
2011-01-25 13:28:33 +02:00
committed by Gustavo F. Padovan
parent 980e1a537f
commit 17fa4b9dff
7 changed files with 78 additions and 2 deletions

View File

@@ -402,6 +402,14 @@ struct hci_cp_reject_sync_conn_req {
__u8 reason;
} __packed;
#define HCI_OP_IO_CAPABILITY_REPLY 0x042b
struct hci_cp_io_capability_reply {
bdaddr_t bdaddr;
__u8 capability;
__u8 oob_data;
__u8 authentication;
} __packed;
#define HCI_OP_IO_CAPABILITY_NEG_REPLY 0x0434
struct hci_cp_io_capability_neg_reply {
bdaddr_t bdaddr;

View File

@@ -106,6 +106,7 @@ struct hci_dev {
__u16 manufacturer;
__le16 lmp_subver;
__u16 voice_setting;
__u8 io_capability;
__u16 pkt_type;
__u16 esco_type;
@@ -214,6 +215,7 @@ struct hci_conn {
__u8 sec_level;
__u8 pending_sec_level;
__u8 pin_length;
__u8 io_capability;
__u8 power_save;
__u16 disc_timeout;
unsigned long pend;

View File

@@ -154,6 +154,12 @@ struct mgmt_cp_pin_code_neg_reply {
bdaddr_t bdaddr;
} __packed;
#define MGMT_OP_SET_IO_CAPABILITY 0x0013
struct mgmt_cp_set_io_capability {
__le16 index;
__u8 io_capability;
} __packed;
#define MGMT_EV_CMD_COMPLETE 0x0001
struct mgmt_ev_cmd_complete {
__le16 opcode;