Project: /_project.yaml Book: /_book.yaml

fuchsia.bluetooth.control

PROTOCOLS

Control {:#Control}

Defined in fuchsia.bluetooth.control/control.fidl

Primary Bluetooth control service to access bluetooth

IsBluetoothAvailable {:#IsBluetoothAvailable}

Returns whether or not Bluetooth is currently available on the system.

Request

Response

SetPairingDelegate {:#SetPairingDelegate}

Registers a delegate to handle pairing requests. Indicate the capability type of the PairingDelegate using in and out. If your input/output capability is variable, call this function when it changes to update. Setting a pairing delegate closes the previously assigned pairing Delegate.

To disable pairing, set delegate to null.

Request

Response

GetAdapters {:#GetAdapters}

Returns information about all local adapters that are known to the system.

Request

Response

SetActiveAdapter {:#SetActiveAdapter}

Sets the local adapter with the given identifier to act as the backing adapter for all Bluetooth interfaces.

Request

Response

GetActiveAdapterInfo {:#GetActiveAdapterInfo}

Returns information on the current active adapter, if it exists.

Request

Response

RequestDiscovery {:#RequestDiscovery}

If discovery is true, active discovery is requested. When requesting discovery, general discovery for BR/EDR and LE will be active and newly discovered devices will be reported via RemoteDeviceDelegate.OnDeviceUpdate().

Discovery may be active when not reqested. If an error occurs when starting discovery, it is reflected in status.

Request

Response

GetKnownRemoteDevices {:#GetKnownRemoteDevices}

Retrieve the set of known remote devices. Note: These devices are not guaranteed to still be reachable.

Request

Response

SetName {:#SetName}

Sets the public Bluetooth name for this device, or resets to the default name if name is not present.

Request

Response

SetDeviceClass {:#SetDeviceClass}

Set the Device Class for the active Bluetooth adapter. Values are defined in https://www.bluetooth.com/specifications/assigned-numbers/baseband

Request

Response

SetDiscoverable {:#SetDiscoverable}

Set the discoverability of this device.

Request

Response

Connect {:#Connect}

Attempt to connect to the remote device_id.

Request

Response

Disconnect {:#Disconnect}

Disconnect a previously-connected device. Note: This does not remove a device bond, see Control::Forget.

Request

Response

Forget {:#Forget}

Forgets device_id completely, removing all bonding information. This will disconnect a device if it is connected.

Request

Response

SetIOCapabilities {:#SetIOCapabilities}

Set local IO Capabilities to use during pairing.

Request

OnActiveAdapterChanged {:#OnActiveAdapterChanged}

Sent when the active adapter has been updated. If active_adapter is null, then no adapter is currently active.

Response

OnAdapterUpdated {:#OnAdapterUpdated}

Sent when an adapter has been updated.

Response

OnAdapterRemoved {:#OnAdapterRemoved}

Sent when an adapter with the given identifier has been removed from the system.

Response

OnDeviceUpdated {:#OnDeviceUpdated}

Sent when a peer is updated.

Response

OnDeviceRemoved {:#OnDeviceRemoved}

Sent when a peer is removed.

Response

PairingDelegate {:#PairingDelegate}

Defined in fuchsia.bluetooth.control/pairing_delegate.fidl

OnPairingRequest {:#OnPairingRequest}

Called for most pairing requests. The delegate must respond with “true” or “false” to either accept or reject the pairing request. If the pairing method requires a passkey this is returned as well.

Any response from this method will be ignored if the OnPairingComplete event has already been sent for device.

Request

Response

OnPairingComplete {:#OnPairingComplete}

Called if the pairing procedure for the device with the given ID is completed. This can be due to successful completion or an error (e.g. due to cancellation by the peer, a timeout, or disconnection) which is indicated by status.

Request

OnRemoteKeypress {:#OnRemoteKeypress}

Called to notify keypresses from the peer device during pairing using PairingMethod.PASSKEY_DISPLAY.

This event is used to provide key press events to the delegate for a responsive user experience as the user types the passkey on the peer device. This event will be called once for each key-press.

Request

OnLocalKeypress {:#OnLocalKeypress}

The delegate can send this event to notify the peer of local keypresses during pairing using PairingMethod.PASSKEY_ENTRY.

Response

Control {:#Control}

Defined in fuchsia.bluetooth.control/control.fidl

Primary Bluetooth control service to access bluetooth

IsBluetoothAvailable {:#IsBluetoothAvailable}

Returns whether or not Bluetooth is currently available on the system.

Request

Response

SetPairingDelegate {:#SetPairingDelegate}

Registers a delegate to handle pairing requests. Indicate the capability type of the PairingDelegate using in and out. If your input/output capability is variable, call this function when it changes to update. Setting a pairing delegate closes the previously assigned pairing Delegate.

To disable pairing, set delegate to null.

Request

Response

GetAdapters {:#GetAdapters}

Returns information about all local adapters that are known to the system.

Request

Response

SetActiveAdapter {:#SetActiveAdapter}

Sets the local adapter with the given identifier to act as the backing adapter for all Bluetooth interfaces.

Request

Response

GetActiveAdapterInfo {:#GetActiveAdapterInfo}

Returns information on the current active adapter, if it exists.

Request

Response

RequestDiscovery {:#RequestDiscovery}

If discovery is true, active discovery is requested. When requesting discovery, general discovery for BR/EDR and LE will be active and newly discovered devices will be reported via RemoteDeviceDelegate.OnDeviceUpdate().

Discovery may be active when not reqested. If an error occurs when starting discovery, it is reflected in status.

Request

Response

GetKnownRemoteDevices {:#GetKnownRemoteDevices}

Retrieve the set of known remote devices. Note: These devices are not guaranteed to still be reachable.

Request

Response

SetName {:#SetName}

Sets the public Bluetooth name for this device, or resets to the default name if name is not present.

Request

Response

SetDeviceClass {:#SetDeviceClass}

Set the Device Class for the active Bluetooth adapter. Values are defined in https://www.bluetooth.com/specifications/assigned-numbers/baseband

Request

Response

SetDiscoverable {:#SetDiscoverable}

Set the discoverability of this device.

Request

Response

Connect {:#Connect}

Attempt to connect to the remote device_id.

Request

Response

Disconnect {:#Disconnect}

Disconnect a previously-connected device. Note: This does not remove a device bond, see Control::Forget.

Request

Response

Forget {:#Forget}

Forgets device_id completely, removing all bonding information. This will disconnect a device if it is connected.

Request

Response

SetIOCapabilities {:#SetIOCapabilities}

Set local IO Capabilities to use during pairing.

Request

OnActiveAdapterChanged {:#OnActiveAdapterChanged}

Sent when the active adapter has been updated. If active_adapter is null, then no adapter is currently active.

Response

OnAdapterUpdated {:#OnAdapterUpdated}

Sent when an adapter has been updated.

Response

OnAdapterRemoved {:#OnAdapterRemoved}

Sent when an adapter with the given identifier has been removed from the system.

Response

OnDeviceUpdated {:#OnDeviceUpdated}

Sent when a peer is updated.

Response

OnDeviceRemoved {:#OnDeviceRemoved}

Sent when a peer is removed.

Response

PairingDelegate {:#PairingDelegate}

Defined in fuchsia.bluetooth.control/pairing_delegate.fidl

OnPairingRequest {:#OnPairingRequest}

Called for most pairing requests. The delegate must respond with “true” or “false” to either accept or reject the pairing request. If the pairing method requires a passkey this is returned as well.

Any response from this method will be ignored if the OnPairingComplete event has already been sent for device.

Request

Response

OnPairingComplete {:#OnPairingComplete}

Called if the pairing procedure for the device with the given ID is completed. This can be due to successful completion or an error (e.g. due to cancellation by the peer, a timeout, or disconnection) which is indicated by status.

Request

OnRemoteKeypress {:#OnRemoteKeypress}

Called to notify keypresses from the peer device during pairing using PairingMethod.PASSKEY_DISPLAY.

This event is used to provide key press events to the delegate for a responsive user experience as the user types the passkey on the peer device. This event will be called once for each key-press.

Request

OnLocalKeypress {:#OnLocalKeypress}

The delegate can send this event to notify the peer of local keypresses during pairing using PairingMethod.PASSKEY_ENTRY.

Response

STRUCTS

SecurityProperties {:#SecurityProperties}

Defined in fuchsia.bluetooth.control/bonding.fidl

RemoteKey {:#RemoteKey}

Defined in fuchsia.bluetooth.control/bonding.fidl

LocalKey {:#LocalKey}

Defined in fuchsia.bluetooth.control/bonding.fidl

LTK {:#LTK}

Defined in fuchsia.bluetooth.control/bonding.fidl

LEConnectionParameters {:#LEConnectionParameters}

Defined in fuchsia.bluetooth.control/bonding.fidl

LEData {:#LEData}

Defined in fuchsia.bluetooth.control/bonding.fidl

BREDRData {:#BREDRData}

Defined in fuchsia.bluetooth.control/bonding.fidl

BondingData {:#BondingData}

Defined in fuchsia.bluetooth.control/bonding.fidl

HostData {:#HostData}

Defined in fuchsia.bluetooth.control/bonding.fidl

Represents persistent local host data.

NOTE: This key is distributed to LE peers during pairing procedures. The client must take care to assign an IRK that consistent with the local bt-host identity.

AdapterInfo {:#AdapterInfo}

Defined in fuchsia.bluetooth.control/control.fidl

Bluetooth controller and its associated host-subsystem state that is present on the current platform.

AdapterState {:#AdapterState}

Defined in fuchsia.bluetooth.control/control.fidl

Contains static global information about a local Bluetooth adapter, including its current state. Each adapter instance represents a physical

DeviceClass {:#DeviceClass}

Defined in fuchsia.bluetooth.control/control.fidl

Device Class represents the Major and Minor Device Class and Service Class of an adapter Values are defined in https://www.bluetooth.com/specifications/assigned-numbers/baseband

RemoteDevice {:#RemoteDevice}

Defined in fuchsia.bluetooth.control/remote_device.fidl

Represents a remote BR/EDR, LE, or dual-mode BR/EDR/LE device.

NOTE: Clients should use the identifier field to distinguish between remote devices instead of using their address.

SecurityProperties {:#SecurityProperties}

Defined in fuchsia.bluetooth.control/bonding.fidl

RemoteKey {:#RemoteKey}

Defined in fuchsia.bluetooth.control/bonding.fidl

LocalKey {:#LocalKey}

Defined in fuchsia.bluetooth.control/bonding.fidl

LTK {:#LTK}

Defined in fuchsia.bluetooth.control/bonding.fidl

LEConnectionParameters {:#LEConnectionParameters}

Defined in fuchsia.bluetooth.control/bonding.fidl

LEData {:#LEData}

Defined in fuchsia.bluetooth.control/bonding.fidl

BREDRData {:#BREDRData}

Defined in fuchsia.bluetooth.control/bonding.fidl

BondingData {:#BondingData}

Defined in fuchsia.bluetooth.control/bonding.fidl

HostData {:#HostData}

Defined in fuchsia.bluetooth.control/bonding.fidl

Represents persistent local host data.

NOTE: This key is distributed to LE peers during pairing procedures. The client must take care to assign an IRK that consistent with the local bt-host identity.

AdapterInfo {:#AdapterInfo}

Defined in fuchsia.bluetooth.control/control.fidl

Bluetooth controller and its associated host-subsystem state that is present on the current platform.

AdapterState {:#AdapterState}

Defined in fuchsia.bluetooth.control/control.fidl

Contains static global information about a local Bluetooth adapter, including its current state. Each adapter instance represents a physical

DeviceClass {:#DeviceClass}

Defined in fuchsia.bluetooth.control/control.fidl

Device Class represents the Major and Minor Device Class and Service Class of an adapter Values are defined in https://www.bluetooth.com/specifications/assigned-numbers/baseband

RemoteDevice {:#RemoteDevice}

Defined in fuchsia.bluetooth.control/remote_device.fidl

Represents a remote BR/EDR, LE, or dual-mode BR/EDR/LE device.

NOTE: Clients should use the identifier field to distinguish between remote devices instead of using their address.

ENUMS

AddressType {:#AddressType}

Type: uint8

Defined in fuchsia.bluetooth.control/bonding.fidl

InputCapabilityType {:#InputCapabilityType}

Type: uint32

Defined in fuchsia.bluetooth.control/pairing_delegate.fidl

Input and Output Capabilities for pairing exchanges. See Volume 3, Part C, Table 5.3 and 5.4

OutputCapabilityType {:#OutputCapabilityType}

Type: uint32

Defined in fuchsia.bluetooth.control/pairing_delegate.fidl

PairingMethod {:#PairingMethod}

Type: uint32

Defined in fuchsia.bluetooth.control/pairing_delegate.fidl

Different types required by the Security Manager for pairing methods. Bluetooth SIG has different requirements for different device capabilities.

PairingKeypressType {:#PairingKeypressType}

Type: uint32

Defined in fuchsia.bluetooth.control/pairing_delegate.fidl

Appearance {:#Appearance}

Type: uint32

Defined in fuchsia.bluetooth.control/remote_device.fidl

Possible values for the LE Appearance property which describes the external appearance of a device at a high level. (See the Bluetooth assigned-numbers document: https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml)

TechnologyType {:#TechnologyType}

Type: uint32

Defined in fuchsia.bluetooth.control/remote_device.fidl

AddressType {:#AddressType}

Type: uint8

Defined in fuchsia.bluetooth.control/bonding.fidl

InputCapabilityType {:#InputCapabilityType}

Type: uint32

Defined in fuchsia.bluetooth.control/pairing_delegate.fidl

Input and Output Capabilities for pairing exchanges. See Volume 3, Part C, Table 5.3 and 5.4

OutputCapabilityType {:#OutputCapabilityType}

Type: uint32

Defined in fuchsia.bluetooth.control/pairing_delegate.fidl

PairingMethod {:#PairingMethod}

Type: uint32

Defined in fuchsia.bluetooth.control/pairing_delegate.fidl

Different types required by the Security Manager for pairing methods. Bluetooth SIG has different requirements for different device capabilities.

PairingKeypressType {:#PairingKeypressType}

Type: uint32

Defined in fuchsia.bluetooth.control/pairing_delegate.fidl

Appearance {:#Appearance}

Type: uint32

Defined in fuchsia.bluetooth.control/remote_device.fidl

Possible values for the LE Appearance property which describes the external appearance of a device at a high level. (See the Bluetooth assigned-numbers document: https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml)

TechnologyType {:#TechnologyType}

Type: uint32

Defined in fuchsia.bluetooth.control/remote_device.fidl