| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| library fuchsia.bluetooth.sys; |
| |
| /// Represents the Bluetooth Host Subsystem parameters available for configuration. Each parameter |
| /// is set to a default upon Bluetooth system initialization. The default values for each parameter |
| /// can be found in //src/connectivity/bluetooth/core/bt-gap/config/default.js. |
| table Settings { |
| /// If true then enable the LE Privacy feature, if false disable it. If not present, leaves the |
| /// current value unchanged. When enabled, all BLE procedures that broadcast the local device |
| /// address (active scanning, connection initiation, and advertising) use a Resolvable Private |
| /// Address type. When disabled, these procedures reveal the local public identity address |
| /// assigned to the controller. |
| /// |
| /// Enabling this feature is highly recommended on products. |
| 1: bool le_privacy; |
| |
| /// If true then enable LE background-scan feature, if false disable it. If not present, leaves |
| /// the current value unchanged. When enabled, the system maintains an on-going passive scan |
| /// and establishes connections to bonded peers that are in "Connectable" or "Directed |
| /// Connectable" mode. |
| 2: bool le_background_scan; |
| |
| /// If true then enable BR/EDR connectable mode, if false disable it. If not present, leaves |
| /// the current value unchanged. When enabled, bt-host devices are put into BR/EDR page scan |
| /// mode and accept connections. |
| 3: bool bredr_connectable_mode; |
| |
| /// If present then sets the LE Security mode of the Host Subsystem, if not present leaves the |
| /// current value unchanged. See BT Core Spec v5.2 Vol. 3 Part C 10.2 for more details. If |
| /// present and set to Secure Connections Only mode, any active connections not meeting the |
| /// requirements of Secure Connections Only mode are disconnected. |
| 4: LeSecurityMode le_security_mode; |
| }; |
| |
| /// Protocol to configure parameters and features for the core Bluetooth system. These settings |
| /// apply to all bt-host drivers known to the system. |
| /// |
| /// This protocol should only be exposed to highly privileged components (e.g. Bluetooth developer |
| /// tools in a testing/qualification environment). |
| [Discoverable] |
| protocol Configuration { |
| /// Applies the fields present in `settings` to all bt-host drivers known to the system. Any |
| /// fields not present in `settings` will remain unchanged. |
| /// |
| /// + request `settings` The new settings for active bt-host drivers - only modified settings |
| /// need be present. |
| /// - response `result` A fully-populated table with the resultant settings after the new |
| /// settings are applied. |
| Update(Settings settings) -> (Settings result); |
| }; |