Commit e98d2ce2 authored by Marcel Holtmann's avatar Marcel Holtmann Committed by Johan Hedberg

Bluetooth: Add flags and setting for Secure Connections support

The MGMT_SETTING_SECURE_CONN setting is used to track the support and
status for Secure Connections from the management interface. For HCI
based tracking HCI_SC_ENABLED flag is used.
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
parent 40c59fcb
...@@ -122,6 +122,7 @@ enum { ...@@ -122,6 +122,7 @@ enum {
HCI_LE_SCAN, HCI_LE_SCAN,
HCI_SSP_ENABLED, HCI_SSP_ENABLED,
HCI_SC_ENABLED,
HCI_HS_ENABLED, HCI_HS_ENABLED,
HCI_LE_ENABLED, HCI_LE_ENABLED,
HCI_ADVERTISING, HCI_ADVERTISING,
......
...@@ -94,6 +94,7 @@ struct mgmt_rp_read_index_list { ...@@ -94,6 +94,7 @@ struct mgmt_rp_read_index_list {
#define MGMT_SETTING_HS 0x00000100 #define MGMT_SETTING_HS 0x00000100
#define MGMT_SETTING_LE 0x00000200 #define MGMT_SETTING_LE 0x00000200
#define MGMT_SETTING_ADVERTISING 0x00000400 #define MGMT_SETTING_ADVERTISING 0x00000400
#define MGMT_SETTING_SECURE_CONN 0x00000800
#define MGMT_OP_READ_INFO 0x0004 #define MGMT_OP_READ_INFO 0x0004
#define MGMT_READ_INFO_SIZE 0 #define MGMT_READ_INFO_SIZE 0
......
...@@ -79,6 +79,7 @@ static const u16 mgmt_commands[] = { ...@@ -79,6 +79,7 @@ static const u16 mgmt_commands[] = {
MGMT_OP_SET_BREDR, MGMT_OP_SET_BREDR,
MGMT_OP_SET_STATIC_ADDRESS, MGMT_OP_SET_STATIC_ADDRESS,
MGMT_OP_SET_SCAN_PARAMS, MGMT_OP_SET_SCAN_PARAMS,
MGMT_OP_SET_SECURE_CONN,
}; };
static const u16 mgmt_events[] = { static const u16 mgmt_events[] = {
...@@ -376,6 +377,9 @@ static u32 get_supported_settings(struct hci_dev *hdev) ...@@ -376,6 +377,9 @@ static u32 get_supported_settings(struct hci_dev *hdev)
settings |= MGMT_SETTING_SSP; settings |= MGMT_SETTING_SSP;
settings |= MGMT_SETTING_HS; settings |= MGMT_SETTING_HS;
} }
if (lmp_sc_capable(hdev))
settings |= MGMT_SETTING_SECURE_CONN;
} }
if (lmp_le_capable(hdev)) { if (lmp_le_capable(hdev)) {
...@@ -423,6 +427,9 @@ static u32 get_current_settings(struct hci_dev *hdev) ...@@ -423,6 +427,9 @@ static u32 get_current_settings(struct hci_dev *hdev)
if (test_bit(HCI_ADVERTISING, &hdev->dev_flags)) if (test_bit(HCI_ADVERTISING, &hdev->dev_flags))
settings |= MGMT_SETTING_ADVERTISING; settings |= MGMT_SETTING_ADVERTISING;
if (test_bit(HCI_SC_ENABLED, &hdev->dev_flags))
settings |= MGMT_SETTING_SECURE_CONN;
return settings; return settings;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment