fuchsia.hardware.bluetooth

APIs for interacting with Bluetooth vendor and transport drivers.

Added: 23

PROTOCOLS

Emulator

Defined in fuchsia.hardware.bluetooth/emulator.fidl

Protocol used to emulate a Bluetooth controller that supports the standard Bluetooth HCI. Represents the bt-emulator device protocol. A bt-emulator device is used for configuring and publishing fake bt-hci devices.

AddBredrPeer

Inserts a new BR/EDR peer device to be emulated by this controller. Once registered, the state of the fake peer can be driven and observed using the peer handle.

A reply will be sent to acknowledge the creation of the fake peer. If a peer cannot be initialized (e.g. due to a missing required field in parameters or for containing an address that is already emulated) the peer handle will be closed and an error reply will be sent.

The peer will appear in inquiry results and respond to requests according to its configuration as long as the peer channel is open. The emulator stops emulating this peer when the channel gets closed, which makes it no longer discoverable and not respond to any requests.

Request

NameType
payload PeerParameters

Response

NameType
payload Emulator_AddBredrPeer_Result

AddLowEnergyPeer

Inserts a new LE peer device to be emulated by this controller. Once registered, the state of the fake peer can be driven and observed using the peer handle.

A reply will be sent to acknowledge the creation of the fake peer. If a peer cannot be initialized (e.g. due to a missing required field in parameters or for containing an address that is already emulated) the peer handle will be closed and an error reply will be sent.

The peer will appear in advertising reports and respond to requests according to its configuration as long as the peer channel is open. The emulator stops emulating this peer when the channel gets closed, which makes it no longer discoverable and not respond to any requests.

Request

NameType
payload PeerParameters

Response

NameType
payload Emulator_AddLowEnergyPeer_Result

Publish

Publish a bt-hci device using the provided settings. Each Emulator instance can only manage a single bt-hci device. Returns Emulator.HCI_ALREADY_PUBLISHED if the device has already been published.

Request

NameType
payload EmulatorSettings

Response

NameType
payload Emulator_Publish_Result

WatchControllerParameters

Hanging get pattern for the controller parameter state will not resolve until the state has changed from the last response.

Request

<EMPTY>

Response

NameType
payload Emulator_WatchControllerParameters_Result

WatchLeScanStates

Returns a vector of the least to most recent states for the link layer LE scan procedure. This method returns when there has been at least one state change since the last invocation of this method by this client.

Multiple calls to this method can be outstanding at a given time. All calls will resolve in a response as soon as there is a change to the scan state.

Request

<EMPTY>

Response

NameType
payload Emulator_WatchLeScanStates_Result

WatchLegacyAdvertisingStates

Returns a vector of the least to most recent states for the link layer LE legacy advertising procedure. This method returns when there has been at least one state change since the last invocation of this method by this client.

Multiple calls to this method can be outstanding at a given time. All calls will resolve in a response as soon as there is a change to the scan state.

Request

<EMPTY>

Response

NameType
payload Emulator_WatchLegacyAdvertisingStates_Result

Hci

Defined in fuchsia.hardware.bluetooth/hci.fidl

ConfigureSco

Configure the HCI for a SCO connection with the indicated parameters. This must be called before sending/receiving data on the SCO channel. Returns ZX_ERR_NOT_SUPPORTED if SCO is not supported by the current vendor or transport driver.

Request

NameType
coding_format ScoCodingFormat
encoding ScoEncoding
sample_rate ScoSampleRate

Response

NameType
payload Hci_ConfigureSco_Result

OpenAclDataChannel

Open the two-way HCI ACL data channel. Returns ZX_ERR_ALREADY_BOUND if the channel is already open.

Request

NameType
channel handle<channel>

Response

NameType
payload Hci_OpenAclDataChannel_Result

OpenCommandChannel

Open the two-way HCI command channel for sending HCI commands and receiving event packets. Returns ZX_ERR_ALREADY_BOUND if the channel is already open.

Request

NameType
channel handle<channel>

Response

NameType
payload Hci_OpenCommandChannel_Result

OpenIsoDataChannel

Opens a channel on the provided handle for sending and receiving isochronous data packets. The zircon channel is closed in the event of an error opening the hci channel or if the hci channel is already associated with a handle to another zircon channel. Returns ZX_ERR_NOT_SUPPORTED if ISO is not supported by the current vendor or transport driver. Returns ZX_ERR_ALREADY_BOUND if the channel is already open.

Request

NameType
channel handle<channel>

Response

NameType
payload Hci_OpenIsoDataChannel_Result

OpenScoDataChannel

Opens a SCO channel on the provided handle. The zircon channel is closed in the event of an error opening the hci channel or if the hci channel is already associated with a handle to another zircon channel. Returns ZX_ERR_NOT_SUPPORTED if SCO is not supported by the current vendor or transport driver. Returns ZX_ERR_ALREADY_BOUND if the channel is already open.

Request

NameType
channel handle<channel>

Response

NameType
payload Hci_OpenScoDataChannel_Result

OpenSnoopChannel

Open an output-only channel for monitoring HCI traffic. The format of each message is: [1-octet flags] [n-octet payload] The flags octet is a bitfield with the following values defined:

  • 0x00: The payload represents a command packet sent from the host to the controller.
  • 0x01: The payload represents an event packet sent by the controller. Returns ZX_ERR_ALREADY_BOUND if the channel is already open.

Request

NameType
channel handle<channel>

Response

NameType
payload Hci_OpenSnoopChannel_Result

ResetSco

Releases resources held by an active SCO connection. Must be called when a SCO connection is closed. Returns ZX_ERR_NOT_SUPPORTED if SCO is not supported by the current vendor or transport driver.

Request

<EMPTY>

Response

NameType
payload Hci_ResetSco_Result

HciTransport

Defined in fuchsia.hardware.bluetooth/hci.fidl

AckReceive

Request

<EMPTY>

ConfigureSco

Establish a SCO connection. Only 1 SCO connection can be configured at a time.

Request

NameType
payload HciTransportConfigureScoRequest

OnReceive

More than one packet event can be sent before acknowledged. Each packet must be acknowledged with AckReceive. Servers should limit the number of pending acknowledgements to avoid channel overflow. A maximum of 10 unacked packets is recommended. If a command or SCO packet is received by the client, the client should close the protocol.

Response

NameType
payload ReceivedPacket

Send

More than one Send can be pending simultaneously. Prefer to limit the number of pending calls to avoid overflow. A maximum of 10 pending calls is suggested. If an event or SCO packet is received by the server, the server should close the protocol.

Request

NameType
payload SentPacket

Response

NameType
payload HciTransport_Send_Result

Peer

Defined in fuchsia.hardware.bluetooth/emulator.fidl

Protocol used to drive the state of a fake peer device.

AssignConnectionStatus

Assign a HCI status for the controller to generate in response to connection requests. Applies to all successive HCI_Create_Connection and HCI_LE_Create_Connection commands. The procedure is acknowledged with an empty response.

Request

NameType
status HciError

Response

NameType
payload Peer_AssignConnectionStatus_Result

EmulateDisconnectionComplete

Emulate disconnection. Does nothing if the peer is not connected.

Request

<EMPTY>

EmulateLeConnectionComplete

Emulates a LE connection event. Does nothing if the peer is already connected. The role parameter determines the link layer connection role.

Request

NameType
role fuchsia.bluetooth/ConnectionRole

SetDeviceClass

Sets the device class reported in the inquiry response for this peer during device discovery. If the peer is not BR/EDR, the server will close with the ZX_ERR_NOT_SUPPORTED epitaph.

Request

NameType
value uint32

Response

NameType
payload Peer_SetDeviceClass_Result

SetLeAdvertisement

Request

NameType
payload PeerSetLeAdvertisementRequest

Response

NameType
payload Peer_SetLeAdvertisement_Result

SetServiceDefinitions

Sets the peer's services that will be discoverable via Service Discovery Protocol. If the peer is not BR/EDR, the server will close with the ZX_ERR_NOT_SUPPORTED epitaph.

Request

NameType
service_definitions vector<fuchsia.bluetooth.bredr/ServiceDefinition>:32

Response

NameType
payload Peer_SetServiceDefinitions_Result

WatchConnectionStates

Returns a vector of the least to most recent controller connection states. This method returns when there has been a state change since the last invocation of this method by this client.

Multiple calls to this method can be outstanding at a given time. All calls will resolve in a response as soon as there is a change to the scan state.

Request

<EMPTY>

Response

NameType
payload Peer_WatchConnectionStates_Result

ScoConnection

Defined in fuchsia.hardware.bluetooth/hci.fidl

AckReceive

Request

<EMPTY>

OnReceive

More than one packet event can be sent before acknowledged. Each packet must be acknowledged with AckReceive. Servers should limit the number of pending acknowledgements to avoid channel overflow. A maximum of 10 unacked packets is recommended.

Response

NameType
packet vector<uint8>:258

Send

More than one Send can be pending simultaneously. Prefer to limit the number of pending calls to avoid overflow. A maximum of 10 pending calls is suggested.

Request

NameType
packet vector<uint8>:258

Response

NameType
payload ScoConnection_Send_Result

Stop

The server will close the protocol when Stop is received. This is useful for synchronization (e.g. before configuring another ScoConnection).

Request

<EMPTY>

Snoop

Defined in fuchsia.hardware.bluetooth/hci.fidl

AcknowledgePackets

Acknowledge packets have been received up to sequence.

Request

NameType
sequence uint64

OnDroppedPackets

Sent by the server once after AcknowledgePackets is received if packets were dropped since the last OnObservePacket.

Response

NameType
payload SnoopOnDroppedPacketsRequest

OnObservePacket

A packet has been transmitted/received. Some number of packets can be observed before the server stalls. The server is allowed to drop packets if the client takes too long to acknowledge packets.

Response

NameType
payload SnoopOnObservePacketRequest

Vendor

Defined in fuchsia.hardware.bluetooth/vendor.fidl

The BtVendor protocol may be implemented by vendor drivers to support feature interrogation and vendor command encoding.

EncodeCommand

Encode the vendor HCI command and return the encoded command. See VendorCommand for possible commands and parameters.

  • error ZX_ERR_NOT_SUPPORTED The command is not supported.
  • error ZX_ERR_INVALID_ARGS The parameters of the command are invalid.

Request

NameType
payload VendorCommand

Response

NameType
payload Vendor_EncodeCommand_Result

GetFeatures

Returns the Vendor Features supported by this controller.

Request

<EMPTY>

Response

NameType
payload Vendor_GetFeatures_Result

OpenHci

Deprecated. Open the HCI protocol to the controller. This call may block until the controller has been initialized. Returns ALREADY_BOUND if another client has already connected.

Request

<EMPTY>

Response

NameType
payload Vendor_OpenHci_Result

OpenHciTransport

Open the HciTransport protocol to the controller. This call may block until the controller has been initialized. Returns ALREADY_BOUND if another client has already connected.

Request

<EMPTY>

Response

NameType
payload Vendor_OpenHciTransport_Result

OpenSnoop

Open the Snoop protocol to the transport driver. Returns ALREADY_BOUND if another client has already connected.

Request

<EMPTY>

Response

NameType
payload Vendor_OpenSnoop_Result

VirtualController

Defined in fuchsia.hardware.bluetooth/virtual.fidl

Used for spawning virtual Bluetooth devices.

CreateEmulator

Creates a child device, and returns the name of the child created.

Request

<EMPTY>

Response

NameType
payload VirtualController_CreateEmulator_Result

CreateLoopbackDevice

Creates a virtual Bluetooth serial device, speaking the BT HCI UART protocol on the provided handle. The zircon channel is closed in the event of an error.

Request

NameType
payload VirtualControllerCreateLoopbackDeviceRequest

STRUCTS

Emulator_AddBredrPeer_Response

Defined in fuchsia.hardware.bluetooth/emulator.fidl

<EMPTY>

Emulator_AddLowEnergyPeer_Response

Defined in fuchsia.hardware.bluetooth/emulator.fidl

<EMPTY>

Emulator_Publish_Response

Defined in fuchsia.hardware.bluetooth/emulator.fidl

<EMPTY>

Emulator_WatchLeScanStates_Response

Defined in fuchsia.hardware.bluetooth/emulator.fidl

FieldTypeDescriptionDefault
states vector<LeScanState> No default

Emulator_WatchLegacyAdvertisingStates_Response

Defined in fuchsia.hardware.bluetooth/emulator.fidl

FieldTypeDescriptionDefault
states vector<LegacyAdvertisingState> No default

HciTransport_Send_Response

Defined in fuchsia.hardware.bluetooth/hci.fidl

<EMPTY>

Hci_ConfigureSco_Response

Defined in fuchsia.hardware.bluetooth/hci.fidl

<EMPTY>

Hci_OpenAclDataChannel_Response

Defined in fuchsia.hardware.bluetooth/hci.fidl

<EMPTY>

Hci_OpenCommandChannel_Response

Defined in fuchsia.hardware.bluetooth/hci.fidl

<EMPTY>

Hci_OpenIsoDataChannel_Response

Defined in fuchsia.hardware.bluetooth/hci.fidl

<EMPTY>

Hci_OpenScoDataChannel_Response

Defined in fuchsia.hardware.bluetooth/hci.fidl

<EMPTY>

Hci_OpenSnoopChannel_Response

Defined in fuchsia.hardware.bluetooth/hci.fidl

<EMPTY>

Hci_ResetSco_Response

Defined in fuchsia.hardware.bluetooth/hci.fidl

<EMPTY>

Peer_AssignConnectionStatus_Response

Defined in fuchsia.hardware.bluetooth/emulator.fidl

<EMPTY>

Peer_SetDeviceClass_Response

Defined in fuchsia.hardware.bluetooth/emulator.fidl

<EMPTY>

Peer_SetLeAdvertisement_Response

Defined in fuchsia.hardware.bluetooth/emulator.fidl

<EMPTY>

Peer_SetServiceDefinitions_Response

Defined in fuchsia.hardware.bluetooth/emulator.fidl

<EMPTY>

Peer_WatchConnectionStates_Response

Defined in fuchsia.hardware.bluetooth/emulator.fidl

FieldTypeDescriptionDefault
states vector<ConnectionState> No default

ScoConnection_Send_Response

Defined in fuchsia.hardware.bluetooth/hci.fidl

<EMPTY>

ScoPacket

Defined in fuchsia.hardware.bluetooth/hci.fidl

FieldTypeDescriptionDefault
packet vector<uint8>:258 No default

Vendor_EncodeCommand_Response

Defined in fuchsia.hardware.bluetooth/vendor.fidl

FieldTypeDescriptionDefault
encoded vector<uint8>:16 No default

Vendor_OpenHciTransport_Response resource

Defined in fuchsia.hardware.bluetooth/vendor.fidl

FieldTypeDescriptionDefault
channel client_end:HciTransport No default

Vendor_OpenHci_Response resource

Defined in fuchsia.hardware.bluetooth/vendor.fidl

FieldTypeDescriptionDefault
channel client_end:Hci No default

Vendor_OpenSnoop_Response resource

Defined in fuchsia.hardware.bluetooth/vendor.fidl

FieldTypeDescriptionDefault
channel client_end:Snoop No default

VirtualController_CreateEmulator_Response

Defined in fuchsia.hardware.bluetooth/virtual.fidl

FieldTypeDescriptionDefault
name string:32? No default

ENUMS

ConnectionState flexible

Type: uint32

Defined in fuchsia.hardware.bluetooth/emulator.fidl

NameValueDescription
1
2

EmulatorError flexible

Type: uint32

Defined in fuchsia.hardware.bluetooth/emulator.fidl

Error codes that can be generated for emulator-wide configurations.

NameValueDescription
1
2

EmulatorPeerError flexible

Type: uint32

Defined in fuchsia.hardware.bluetooth/emulator.fidl

Error codes that are generated for functions that manipulate fake peers.

NameValueDescription
1
2
3

HciConfig flexible

Type: uint32

Defined in fuchsia.hardware.bluetooth/emulator.fidl

Pre-set HCI configurations.

NameValueDescription
1

Support both BR/EDR and LE in LMP features.

2

Limits supported features and HCI commands to those that are required for LE only.

HciError flexible

Type: uint8

Defined in fuchsia.hardware.bluetooth/emulator.fidl

Defines the list of HCI protocol error codes that a Bluetooth controller can report. These values are taken from Bluetooth Core Specification v5.4, Vol 2, Part D, Section 1.3

NameValueDescription
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71

LegacyAdvertisingType strict

Type: uint8

Defined in fuchsia.hardware.bluetooth/emulator.fidl

LE legacy advertising types from Bluetooth Core Specification v5.4, Vol 4, Part E, 7.8.5.

NameValueDescription
0

Connectable and scannable.

1

Connectable, high-duty cycle, directed.

2

Scannable, undirected.

3

Non-connectable, undirected

4

Scan response

PacketDirection strict

Type: uint32

Defined in fuchsia.hardware.bluetooth/hci.fidl

NameValueDescription
1
2

ScoCodingFormat flexible

Type: uint8

Defined in fuchsia.hardware.bluetooth/hci.fidl

NameValueDescription
1
2

ScoEncoding flexible

Type: uint8

Defined in fuchsia.hardware.bluetooth/hci.fidl

NameValueDescription
1
2

ScoSampleRate flexible

Type: uint8

Defined in fuchsia.hardware.bluetooth/hci.fidl

NameValueDescription
1
2

VendorAclDirection flexible

Type: uint8

Defined in fuchsia.hardware.bluetooth/vendor.fidl

NameValueDescription
1
2

VendorAclPriority flexible

Type: uint8

Defined in fuchsia.hardware.bluetooth/vendor.fidl

NameValueDescription
1
2

TABLES

AclBufferSettings

Defined in fuchsia.hardware.bluetooth/emulator.fidl

The HCI ACL data flow-control parameters.

OrdinalFieldTypeDescription
data_packet_length uint16

ACL frame MTU in bytes.

total_num_data_packets uint8

The maximum number of ACL frames that the controller can buffer.

AdvertisingData

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalFieldTypeDescription
data vector<uint8>:31

AndroidVendorSupport

Defined in fuchsia.hardware.bluetooth/vendor.fidl

Indicates support for Android Vendor Extensions If empty, Android HCI Extensions are supported but the version is unspecified. The version should be detected using the LE Get Vendor Capabilities Command.

OrdinalFieldTypeDescription
major_version uint8
minor_version uint8

ControllerParameters

Defined in fuchsia.hardware.bluetooth/emulator.fidl

Contains Bluetooth controller & baseband parameters that are writable by the host but don't fall under a particular procedural category (as are those defined below).

OrdinalFieldTypeDescription
local_name string:248

The local name used for the Link Layer name discovery procedure. This parameter only applies for the BR/EDR transport. In LE, the local name is provided as an advertising parameter and via GATT.

device_class fuchsia.bluetooth/DeviceClass

The local "Class of Device" used during the BR/EDR inquiry procedure.

EmulatorSettings

Defined in fuchsia.hardware.bluetooth/emulator.fidl

Controller settings used by the emulator.

OrdinalFieldTypeDescription
address fuchsia.bluetooth/Address

The BD_ADDR (BR/EDR) or LE Public Device Address. Defaults to "00:00:00:00:00:00".

hci_config HciConfig

Supported HCI command configuration. Defaults to "DUAL_MODE".

extended_advertising bool

True if the 5.0 extended advertising features are supported. Defaults to "false".

acl_buffer_settings AclBufferSettings

The ACL-U data buffer settings. Defaults to data_packet_length: 1024 total_num_data_packets: 5 IF hci_config is set to DUAL_MODE. Defaults to null otherwise.

le_acl_buffer_settings AclBufferSettings

The LE-U ACL data buffer settings. Defaults to data_packet_length: 251 total_num_data_packets: 5

HciTransportConfigureScoRequest resource

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalFieldTypeDescription
coding_format ScoCodingFormat

Required.

encoding ScoEncoding

Required.

sample_rate ScoSampleRate

Required.

connection server_end:ScoConnection

Required.

LeScanState

Defined in fuchsia.hardware.bluetooth/emulator.fidl

Represents the LE scan state. The fields are present if scan parameters have been configured.

OrdinalFieldTypeDescription
enabled bool

True if a scan is enabled.

active bool

True if an active scan is enabled. Otherwise the scan is passive.

interval uint16

The scan interval and window parameters. These are defined in Bluetooth controller "timeslices" where 1 slice = 0.625 ms. Valid values range from 0x4 (2.5 ms) to 0x4000 (10.24 ms).

window uint16
filter_duplicates bool

True if duplicate filtering has been enabled.

address_type fuchsia.bluetooth/AddressType

The type of local device address used.

LegacyAdvertisingState

Defined in fuchsia.hardware.bluetooth/emulator.fidl

Controller parameters for legacy advertising.

OrdinalFieldTypeDescription
enabled bool

True if advertising has been enabled using the HCI_LE_Set_Advertising_Enable command. This field is always present.

type LegacyAdvertisingType

The most recently configured advertising type. This field is always present. Defaults to fuchsia.hardware.bluetooth/LegacyAdvertisingType.ADV_IND.

address_type fuchsia.bluetooth/AddressType

The LE address type being used for advertising. This field is always present. Defaults to fuchsia.bluetooth/AddressType.PUBLIC.

interval_min uint16

The host-specified advertising interval range parameters. Present only if configured.

interval_max uint16
advertising_data AdvertisingData

Any configured advertising and scan response data. Present only if either field is non-zero.

scan_response AdvertisingData

PeerParameters resource

Defined in fuchsia.hardware.bluetooth/emulator.fidl

Parameters used to emulate a peer's behavior over the BR/EDR/Low Energy transport.

OrdinalFieldTypeDescription
address fuchsia.bluetooth/Address

The public BR/EDR BD_ADDR address of a peer. This field is mandatory.

connectable bool

When present and true, the peer will send connectable advertisements and accept connection requests. The peer will ignore connection requests if not connectable.

channel server_end:Peer

Server end of channel bound to Peer protocol.

PeerSetLeAdvertisementRequest

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalFieldTypeDescription
le_address fuchsia.bluetooth/Address

The LE address of the peer.

advertisement AdvertisingData

The advertising data contents. If not present, the advertising data sent by this peer will be empty.

scan_response AdvertisingData

The scan response data contents. When present, the fake controller will generate scannable advertising packets and scan response events.

SnoopOnDroppedPacketsRequest

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalFieldTypeDescription
sent uint32
received uint32

SnoopOnObservePacketRequest

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalFieldTypeDescription
sequence uint64

Monotonically increasing packet count. Used for flow control in conjunction with OnAcknowledgePackets.

direction PacketDirection
packet SnoopPacket

VendorFeatures

Defined in fuchsia.hardware.bluetooth/vendor.fidl

Table of features supported by the vendor.

OrdinalFieldTypeDescription
acl_priority_command bool

Supports the SetAclPriority command If missing, the command is not supported.

android_vendor_extensions AndroidVendorSupport

Supports Android Vendor Extensions If missing, Android Vendor Extensions are not supported.

VendorSetAclPriorityParams

Defined in fuchsia.hardware.bluetooth/vendor.fidl

OrdinalFieldTypeDescription
connection_handle uint16

The ACL connection handle which is requested to be prioritized.

priority VendorAclPriority
direction VendorAclDirection

The direction data should be prioritized in. May not be supported by all vendors. Ignored when priority is normal.

VirtualControllerCreateLoopbackDeviceRequest resource

Defined in fuchsia.hardware.bluetooth/virtual.fidl

OrdinalFieldTypeDescription
uart_channel handle<channel>

UNIONS

Emulator_AddBredrPeer_Result strict

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalVariantTypeDescription
response Emulator_AddBredrPeer_Response
err EmulatorPeerError
framework_err internal

Emulator_AddLowEnergyPeer_Result strict

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalVariantTypeDescription
response Emulator_AddLowEnergyPeer_Response
err EmulatorPeerError
framework_err internal

Emulator_Publish_Result strict

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalVariantTypeDescription
response Emulator_Publish_Response
err EmulatorError
framework_err internal

Emulator_WatchControllerParameters_Result strict

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalVariantTypeDescription
response ControllerParameters
framework_err internal

Emulator_WatchLeScanStates_Result strict

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalVariantTypeDescription
response Emulator_WatchLeScanStates_Response
framework_err internal

Emulator_WatchLegacyAdvertisingStates_Result strict

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalVariantTypeDescription
response Emulator_WatchLegacyAdvertisingStates_Response
framework_err internal

HciTransport_Send_Result strict

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalVariantTypeDescription
response HciTransport_Send_Response
framework_err internal

Hci_ConfigureSco_Result strict

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalVariantTypeDescription
response Hci_ConfigureSco_Response
err zx/Status
framework_err internal

Hci_OpenAclDataChannel_Result strict

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalVariantTypeDescription
response Hci_OpenAclDataChannel_Response
err zx/Status
framework_err internal

Hci_OpenCommandChannel_Result strict

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalVariantTypeDescription
response Hci_OpenCommandChannel_Response
err zx/Status
framework_err internal

Hci_OpenIsoDataChannel_Result strict

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalVariantTypeDescription
response Hci_OpenIsoDataChannel_Response
err zx/Status
framework_err internal

Hci_OpenScoDataChannel_Result strict

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalVariantTypeDescription
response Hci_OpenScoDataChannel_Response
err zx/Status
framework_err internal

Hci_OpenSnoopChannel_Result strict

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalVariantTypeDescription
response Hci_OpenSnoopChannel_Response
err zx/Status
framework_err internal

Hci_ResetSco_Result strict

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalVariantTypeDescription
response Hci_ResetSco_Response
err zx/Status
framework_err internal

Peer_AssignConnectionStatus_Result strict

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalVariantTypeDescription
response Peer_AssignConnectionStatus_Response
framework_err internal

Peer_SetDeviceClass_Result strict

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalVariantTypeDescription
response Peer_SetDeviceClass_Response
framework_err internal

Peer_SetLeAdvertisement_Result strict

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalVariantTypeDescription
response Peer_SetLeAdvertisement_Response
err EmulatorPeerError
framework_err internal

Peer_SetServiceDefinitions_Result strict

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalVariantTypeDescription
response Peer_SetServiceDefinitions_Response
framework_err internal

Peer_WatchConnectionStates_Result strict

Defined in fuchsia.hardware.bluetooth/emulator.fidl

OrdinalVariantTypeDescription
response Peer_WatchConnectionStates_Response
framework_err internal

ReceivedPacket flexible

Defined in fuchsia.hardware.bluetooth/hci.fidl

Packet received by the host from the controller.

OrdinalVariantTypeDescription
event vector<uint8>:257
acl vector<uint8>:65539
iso vector<uint8>:16387

ScoConnection_Send_Result strict

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalVariantTypeDescription
response ScoConnection_Send_Response
framework_err internal

SentPacket flexible

Defined in fuchsia.hardware.bluetooth/hci.fidl

Packet sent by the host to the controller.

OrdinalVariantTypeDescription
command vector<uint8>:258
acl vector<uint8>:65539
iso vector<uint8>:16387

SnoopPacket flexible

Defined in fuchsia.hardware.bluetooth/hci.fidl

OrdinalVariantTypeDescription
event vector<uint8>:257
command vector<uint8>:258
acl vector<uint8>:65539
sco vector<uint8>:258
iso vector<uint8>:16387

VendorCommand flexible

Defined in fuchsia.hardware.bluetooth/vendor.fidl

OrdinalVariantTypeDescription
set_acl_priority VendorSetAclPriorityParams

Vendor_EncodeCommand_Result strict

Defined in fuchsia.hardware.bluetooth/vendor.fidl

OrdinalVariantTypeDescription
response Vendor_EncodeCommand_Response
err zx/Status
framework_err internal

Vendor_GetFeatures_Result strict

Defined in fuchsia.hardware.bluetooth/vendor.fidl

OrdinalVariantTypeDescription
response VendorFeatures
framework_err internal

Vendor_OpenHciTransport_Result strict resource

Defined in fuchsia.hardware.bluetooth/vendor.fidl

OrdinalVariantTypeDescription
response Vendor_OpenHciTransport_Response
err zx/Status
framework_err internal

Vendor_OpenHci_Result strict resource

Defined in fuchsia.hardware.bluetooth/vendor.fidl

OrdinalVariantTypeDescription
response Vendor_OpenHci_Response
err zx/Status
framework_err internal

Vendor_OpenSnoop_Result strict resource

Defined in fuchsia.hardware.bluetooth/vendor.fidl

OrdinalVariantTypeDescription
response Vendor_OpenSnoop_Response
err zx/Status
framework_err internal

VirtualController_CreateEmulator_Result strict

Defined in fuchsia.hardware.bluetooth/virtual.fidl

OrdinalVariantTypeDescription
response VirtualController_CreateEmulator_Response
err zx/Status
framework_err internal

CONSTANTS

NameValueTypeDescription
ACL_PACKET_MAX 65539 uint64
BT_VENDOR_MAX_COMMAND_BUFFER_LEN 16 uint16

The maximum buffer length an encoded command might require. Update when adding new commands that might require a larger buffer.

COMMAND_MAX 258 uint64
EVENT_MAX 257 uint64
ISO_PACKET_MAX 16387 uint64
MAX_LEGACY_ADVERTISING_DATA_LENGTH 31 uint8

Advertising data MTUs for legacy (4.x) and extended (5.x) advertising PDU types (see Core Specification v5.4, Vol 4, Part E, Sections 7.3.11 & 7.8.54).

MAX_LOCAL_NAME_LENGTH 248 uint8

The maximum size (in bytes) of a local name assigned using the HCI_Write_Local_Name command (see Core Specification v5.4, Vol 4, Part E, 7.3.11).

MAX_NAME_LENGTH 32 uint32
MAX_PEER_SERVICES 32 uint8

Maximum service records that can be advertised at once.

SCO_PACKET_MAX 258 uint64

SERVICES

HciService

Defined in fuchsia.hardware.bluetooth/hci.fidl

NameTypeTransport
hci fuchsia.hardware.bluetooth/Hci Channel
hci_transport fuchsia.hardware.bluetooth/HciTransport Channel
snoop fuchsia.hardware.bluetooth/Snoop Channel