Libraries for advertising, searching for, and connecting to BR/EDR Bluetooth profiles.
PROTOCOLS
AudioDirectionExt
Defined in fuchsia.bluetooth.bredr/profile.fidl
Audio Priority Direction extension. Used to put the channel in a mode where A2DP packets are prioritized over other packets in the source or sink direction.
SetPriority
Request
Name | Type |
---|---|
priority |
A2dpDirectionPriority
|
Response
Name | Type |
---|---|
payload |
AudioDirectionExt_SetPriority_Result
|
AudioOffloadController
Defined in fuchsia.bluetooth.bredr/profile.fidl
Protocol representing the controller actively encoding offloaded audio to or from this channel. Closing the protocol will stop the encoding, which can also be done using the Stop() if synchronization is required. If the controller fails to start audio offloading, an epitaph will be sent when this is closed.
This channel will be closed with a ZX_ERR_NOT_SUPPORTED
epitaph if the audio offload
configuration for the controller is not supported.
This channel will be closed with a ZX_ERR_UNAVAILABLE
epitaph if the controller sends an
error.
This channel will be closed with a ZX_ERR_ALREADY_BOUND
epitaph if audio offloading starting
or stopping is already in progress/complete on another channel.
This channel will be closed with a ZX_ERR_INTERNAL
epitaph if commands are issued when audio
offloading is not started.
OnStarted
Sent from the server when the audio offloading is started successfully. Only sent once per protocol.
Response
<EMPTY>
Stop
Request the audio offloading be stopped. This call will be responded to before the protocol is closed on the server side.
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
AudioOffloadController_Stop_Result
|
AudioOffloadExt
Defined in fuchsia.bluetooth.bredr/profile.fidl
Audio Offload Extension. Used to retrieve offloading capability and supported features.
GetSupportedFeatures
Returns the vendor features supported on this chipset
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
AudioOffloadExt_GetSupportedFeatures_Result
|
StartAudioOffload
Begin the audio encoding hardware offloading process
Request
Name | Type |
---|---|
configuration |
AudioOffloadConfiguration
|
controller |
server_end:AudioOffloadController
|
ConnectionReceiver
Defined in fuchsia.bluetooth.bredr/profile.fidl
Represents a service which is registered by this profile. Closing this protocol will remove the service registration.
Connected
Called when a peer connects to this service. The channel connected is delivered
with parameters in channel
.
protocol
will contain a protocol list up to the point connected (for example, if
L2CAP is connected, it will contain the L2CAP protocol and specify the PSM connected)
Request
Name | Type |
---|---|
peer_id |
fuchsia.bluetooth/PeerId
|
channel |
Channel
|
protocol |
ProtocolDescriptorList
|
OnRevoke
An event produced by a FIDL server to signal that the registered service should be revoked and removed from the Service Discovery Protocol database. It is expected that this protocol will be subsequently closed after issuing this event.
Response
<EMPTY>
L2capParametersExt
Defined in fuchsia.bluetooth.bredr/profile.fidl
L2CAP Parameters Extension. Used to configure L2CAP channel parameters on an open channel.
RequestParameters
Request a L2CAP channel parameter update. request
indicates the
desired parameters, and new
indicates the new parameters
(which may differ from the requested parameters if they are
rejected/modified).
Currently only the following parameters can be changed:
- flush_timeout
Request
Name | Type |
---|---|
request |
ChannelParameters
|
Response
Name | Type |
---|---|
payload |
L2capParametersExt_RequestParameters_Result
|
Profile
Defined in fuchsia.bluetooth.bredr/profile.fidl
Service provides Bluetooth BR/EDR profiles a way to register a service definition, making a profile discoverable by peers. Registered services can receive L2CAP connections made to the advertised records, and can open new connections on peers.
Advertise
Register a set of services.
These services will be discoverable via Service Discovery Protocol server.
All services advertising the same channel must be added at once - if services are already
registered on any channel advertised, registration will fail, the receiver will be closed
with ZX_ERR_ALREADY_BOUND and an error will be returned.
The ConnectionReceiver will get calls for connections to the channels included in the
protocol_descriptor
or alternative_protocol_descriptors
in the services advertised.
The receiver will be closed if there are any errors advertising.
The ConnectionReceiver::OnRevoke
event can be used to synchronize revoking the
advertisement, if necessary. Closing the ConnectionReceiver
protocol will also stop
advertising these services.
If the advertisement cannot be made for any reason, an error of INVALID_ARGUMENTS
will be returned and the receiver will be closed with a suitable epitaph.
Returns the set of services that are registered via the Service Discovery Protocol
server. The returned services may differ from the input services
if any L2CAP protocol
descriptors request PSM_DYNAMIC
. In this case, the Profile
server shall assign a valid
PSM and include this value in the returned services.
Request
Name | Type |
---|---|
payload |
ProfileAdvertiseRequest
|
Response
Name | Type |
---|---|
payload |
Profile_Advertise_Result
|
Connect
Connect an L2CAP or RFCOMM channel to the connected peer identified by peer_id
using the
desired connection
parameters listed. Dynamic PSMs can be specified in connection
.
Returns the channel connected once established, or an error code if the channel could not be connected.
Request
Name | Type |
---|---|
peer_id |
fuchsia.bluetooth/PeerId
|
connection |
ConnectParameters
|
Response
Name | Type |
---|---|
payload |
Profile_Connect_Result
|
ConnectSco
Attempt to establish a synchronous connection to peer_id
configured
using params
.
If initiator
is true, a connection request will be sent. Only 1
parameter may be specified.
If initiator
is false, the host will attempt to accept the next
connection request using the parameters given in order. The parameters
will be tried in order until either a connection is successful, all
parameters have been rejected (ScoErrorCode.PARAMETERS_REJECTED
), or
the procedure is canceled.
The result of the connection attempt and the parameters used for the
connection will be returned with connection
. Dropping connection
will
cancel the request.
Request
Name | Type |
---|---|
payload |
ProfileConnectScoRequest
|
Search
Register a search for services on newly connected peers. The SearchResults protocol will be
used to report results for this search.
Only one of service_uuid
or full_uuid
must be present. Any service result with a service
matching the specified UUID will be returned with the additional attributes in attr_ids
.
If both service_uuid
and full_uuid
are present, then ZX_ERR_INVALID_ARGS
will be
returned.
If attr_ids
is empty or omitted, all attributes will be requested. The additional
attribute BLUETOOTH_PROTOCOL_DESCRIPTOR_LIST is always requested. See the Bluetooth
Spec v5.2, Vol 3, Part B, Section 5) and relevant profile specification documents.
Request
Name | Type |
---|---|
payload |
ProfileSearchRequest
|
ScoConnection
Defined in fuchsia.bluetooth.bredr/sco.fidl
A SCO connection. The connection is pending until the OnConnectionComplete
event is sent,
which will always arrive first. If the connection fails, the protocol will be closed after the
error is delivered. If methods are called before the OnConnectionComplete
event, they will
and the protocol will be closed.
OnConnectionComplete
Called upon successful connection establishment or failure.
Response
Name | Type |
---|---|
payload |
ScoConnectionOnConnectionCompleteRequest
|
Read
Read the next inbound SCO payload. Hangs until new data is received. Only one Read request may be pending at a time. Additional requests will result in protocol closure.
Request
<EMPTY>
Response
Name | Type |
---|---|
payload |
ScoConnection_Read_Result
|
Write
Write data
to the SCO connection.
If Write tries to send more data than max_tx_data_size
, the protocol will be closed.
Only one Write request may be pending at a time. Additional requests will result in protocol
closure.
Request
Name | Type |
---|---|
payload |
ScoConnectionWriteRequest
|
Response
Name | Type |
---|---|
payload |
ScoConnection_Write_Result
|
SearchResults
Defined in fuchsia.bluetooth.bredr/profile.fidl
Represents an active search which can produce results when peers are connected. Closing this protocol will result in the associated search not being performed on new connected peers.
ServiceFound
Called when a search this client added finds a matching service on a peer.
peer_id
is the peer the service was found on.
protocol
includes the ProtocolDescriptorList in the service record if it exists
(it is also included in attributes
.)
attributes
contains all attributes requested from the search that are present on the
peer record. It may also include additional attributes.
Each ServiceFound call should be acknowledged by replying.
A limited amount of unacknowledged results will be sent on the channel. Results may be
dropped if results are received while too many results are unacknowledged.
Request
Name | Type |
---|---|
peer_id |
fuchsia.bluetooth/PeerId
|
protocol |
ProtocolDescriptorList
|
attributes |
vector<Attribute>:512
|
Response
Name | Type |
---|---|
payload |
SearchResults_ServiceFound_Result
|
STRUCTS
AudioDirectionExt_SetPriority_Response
Defined in fuchsia.bluetooth.bredr/profile.fidl
<EMPTY>
AudioOffloadController_Stop_Response
Defined in fuchsia.bluetooth.bredr/profile.fidl
<EMPTY>
L2capParametersExt_RequestParameters_Response
Defined in fuchsia.bluetooth.bredr/profile.fidl
Field | Type | Description | Default |
---|---|---|---|
new |
ChannelParameters
|
No default |
Profile_Connect_Response resource
Defined in fuchsia.bluetooth.bredr/profile.fidl
Field | Type | Description | Default |
---|---|---|---|
channel |
Channel
|
No default |
ScoConnection_Write_Response
Defined in fuchsia.bluetooth.bredr/sco.fidl
<EMPTY>
SearchResults_ServiceFound_Response
Defined in fuchsia.bluetooth.bredr/profile.fidl
<EMPTY>
ENUMS
A2dpDirectionPriority strict
Type: uint32
Defined in fuchsia.bluetooth.bredr/profile.fidl
A2DP packet priority used in AudioDirectionExt
. NORMAL
should be used whenever audio is not
streaming, and SOURCE
/SINK
should match the direction audio is being streamed.
Name | Value | Description |
---|---|---|
NORMAL |
1 |
|
SOURCE |
2 |
|
SINK |
3 |
AudioBitsPerSample flexible
Type: uint8
Defined in fuchsia.bluetooth.bredr/profile.fidl
Name | Value | Description |
---|---|---|
BPS_16 |
1 |
|
BPS_24 |
2 |
|
BPS_32 |
3 |
AudioChannelMode flexible
Type: uint8
Defined in fuchsia.bluetooth.bredr/profile.fidl
Name | Value | Description |
---|---|---|
MONO |
0 |
|
STEREO |
1 |
AudioSamplingFrequency flexible
Type: uint8
Defined in fuchsia.bluetooth.bredr/profile.fidl
Name | Value | Description |
---|---|---|
HZ_44100 |
1 |
|
HZ_48000 |
2 |
|
HZ_88200 |
3 |
|
HZ_96000 |
4 |
DataPath strict
Type: uint8
Defined in fuchsia.bluetooth.bredr/sco.fidl
Indicates the audio transport that should be used for the data on a synchronous connection.
Name | Value | Description |
---|---|---|
HOST |
1 |
The HCI transport. Data will be sent/received through the ScoConnection protocol. |
OFFLOAD |
2 |
Transport audio data directly between the controller and the audio hardware. The ScoConnection protocol will not be used to send/receive data. |
TEST |
3 |
The audio test mode transport. See Core Spec v5.2, Vol 4, Part E, Section 7.6.2 for details. |
HfpParameterSet flexible
Type: uint8
Defined in fuchsia.bluetooth.bredr/sco.fidl
Codec parameter sets defined in the Hands-Free Profile specification (v1.8, section 5.7).
Name | Value | Description |
---|---|---|
T1 |
1 |
|
T2 |
2 |
|
S1 |
3 |
|
S2 |
4 |
|
S3 |
5 |
|
S4 |
6 |
|
D0 |
7 |
|
D1 |
8 |
ProtocolIdentifier flexible
Type: uint16
Defined in fuchsia.bluetooth.bredr/service.fidl
Defined Protocol Identifiers for the Protocol Descriptor We intentionally omit deprecated profile identifiers. From Bluetooth Assigned Numbers: https://www.bluetooth.com/specifications/assigned-numbers/service-discovery
Name | Value | Description |
---|---|---|
SDP |
1 |
|
RFCOMM |
3 |
|
ATT |
7 |
|
OBEX |
8 |
|
BNEP |
15 |
|
HIDP |
17 |
|
HARDCOPY_CONTROL_CHANNEL |
18 |
|
HARDCOPY_DATA_CHANNEL |
20 |
|
HARDCOPY_NOTIFICATION |
22 |
|
AVCTP |
23 |
|
AVDTP |
25 |
|
MCAP_CONTROL_CHANNEL |
30 |
|
MCAP_DATA_CHANNEL |
31 |
|
L2CAP |
256 |
RxPacketStatus strict
Type: uint8
Defined in fuchsia.bluetooth.bredr/sco.fidl
Inbound SCO data has a RxPacketStatus that indicates possible data loss or corruption.
Name | Value | Description |
---|---|---|
CORRECTLY_RECEIVED_DATA |
0 |
The controller marked all data as "good data". |
POSSIBLY_INVALID_DATA |
1 |
Some of the data may have errors. |
NO_DATA_RECEIVED |
2 |
All data was lost. The payload will be empty. |
DATA_PARTIALLY_LOST |
3 |
Some of the data was lost, and the lost regions of data will be set to 0. |
ScoErrorCode flexible
Type: uint32
Defined in fuchsia.bluetooth.bredr/sco.fidl
Name | Value | Description |
---|---|---|
FAILURE |
1 |
|
CANCELLED |
2 |
|
INVALID_ARGUMENTS |
3 |
|
PARAMETERS_REJECTED |
4 |
ServiceClassProfileIdentifier flexible
Type: uint16
Defined in fuchsia.bluetooth.bredr/service.fidl
Identifiers that are valid for Bluetooth Classes / Profiles. We intentionally omit classes and profile IDs that are unsupported, deprecated, or reserved for use by Fuchsia Bluetooth. These numbers are sourced from the Bluetooth Assigned Numbers for SDP. https://www.bluetooth.com/specifications/assigned-numbers/service-discovery
Name | Value | Description |
---|---|---|
SERIAL_PORT |
4353 |
Serial Port Profile (SPP) |
DIALUP_NETWORKING |
4355 |
Dial-up Networking Profile (DUN) |
OBEX_OBJECT_PUSH |
4357 |
Object Push Profile (OPP) |
OPEX_FILE_TRANSFER |
4358 |
File Transfer Profile (FTP) |
HEADSET |
4360 |
Headset Profile (HSP) |
HEADSET_AUDIO_GATEWAY |
4370 |
|
HEADSET_HS |
4401 |
|
AUDIO_SOURCE |
4362 |
Advanced Audio Distribution Profile (A2DP) |
AUDIO_SINK |
4363 |
|
ADVANCED_AUDIO_DISTRIBUTION |
4365 |
|
AV_REMOTE_CONTROL_TARGET |
4364 |
Audio/Video Remote Control Profile (AVRCP) |
AV_REMOTE_CONTROL |
4366 |
|
AV_REMOTE_CONTROL_CONTROLLER |
4367 |
|
PANU |
4373 |
Personal Area Networking (PAN) |
NAP |
4374 |
|
GN |
4375 |
|
HANDSFREE |
4382 |
Hands-Free Profile (HFP) |
HANDSFREE_AUDIO_GATEWAY |
4383 |
|
HUMAN_INTERFACE_DEVICE |
4388 |
Human Interface Device Profile (HID) |
SIM_ACCESS |
4397 |
Sim Access Profile (SAP) |
PHONEBOOK_PCE |
4398 |
Phonebook Access Profile (PBAP) |
PHONEBOOK_PSE |
4399 |
|
PHONEBOOK |
4400 |
|
MESSAGE_ACCESS_SERVER |
4402 |
Message Access Profile (MAP) |
MESSAGE_NOTIFICATION_SERVER |
4403 |
|
MESSAGE_ACCESS_PROFILE |
4404 |
|
MPS_PROFILE |
4410 |
Multi-Profile Specification (MPS) |
MPS_CLASS |
4411 |
|
PNP_INFORMATION |
4608 |
Device Identification Profile (DI) |
GENERIC_NETWORKING |
4609 |
Generic Networking |
GENERIC_FILE_TRANSFER |
4610 |
Generic File Transfer |
GENERIC_AUDIO |
4611 |
Generic Audio |
GENERIC_TELEPHONY |
4612 |
Generic Telephony |
VIDEO_SOURCE |
4867 |
Video Distribution Profile (VDP) |
VIDEO_SINK |
4868 |
|
VIDEO_DISTRIBUTION |
4869 |
|
HDP |
5120 |
Health Device Profile (HDP) |
HDP_SOURCE |
5121 |
|
HDP_SINK |
5122 |
TABLES
Attribute
Defined in fuchsia.bluetooth.bredr/service.fidl
A generic attribute, used for protocol information;
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
id |
uint16
|
Required. |
2 |
element |
DataElement
|
Required. |
AudioAacSupport
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Field | Type | Description |
---|
AudioOffloadConfiguration
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
codec |
AudioOffloadFeatures
|
|
2 |
max_latency |
uint16
|
|
3 |
scms_t_enable |
bool
|
|
4 |
sampling_frequency |
AudioSamplingFrequency
|
|
5 |
bits_per_sample |
AudioBitsPerSample
|
|
6 |
channel_mode |
AudioChannelMode
|
|
7 |
encoded_bit_rate |
uint32
|
|
8 |
encoder_settings |
AudioEncoderSettings
|
AudioOffloadExt_GetSupportedFeatures_Response
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
audio_offload_features |
vector<AudioOffloadFeatures>
|
AudioSbcSupport
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Field | Type | Description |
---|
Channel resource
Defined in fuchsia.bluetooth.bredr/profile.fidl
A channel opened to a peer.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
socket |
handle<socket>
|
Deprecated. Socket interface for sending/receiving SDUs on the channel. The channel will be closed if both this socket and the Connection are closed. Always present. |
2 |
channel_mode |
ChannelMode
|
Channel mode accepted by the peer. Always present. |
3 |
max_tx_sdu_size |
uint16
|
Maximum SDU size the peer is capable of accepting. Always present. |
4 |
ext_direction |
client_end:AudioDirectionExt
|
Audio Direction priority extension. See |
5 |
flush_timeout |
zx/Duration
|
|
6 |
ext_l2cap |
client_end:L2capParametersExt
|
L2CAP parameter extension. See |
7 |
ext_audio_offload |
client_end:AudioOffloadExt
|
Audio offload extension. See |
8 |
connection |
client_end:fuchsia.bluetooth/Channel
|
Protocol for sending/receiving SDUs on the channel.
If present, closing this and |
Information
Defined in fuchsia.bluetooth.bredr/service.fidl
Human-readable information about a service. Strings are encoded in UTF-8. See Bluetooth Specification v5.2 Vol 3, Part B, Sections 5.1.15 through 5.1.17
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
language |
string:2
|
Language that the other fields in this table are in. Must be two characters long and a valid ICO 639:1988 identifier. Must be present. |
2 |
name |
string:1024
|
Service name |
3 |
description |
string:1024
|
A human-readable description |
4 |
provider |
string:1024
|
The provider of this service (person or organization) |
L2capParameters
Defined in fuchsia.bluetooth.bredr/profile.fidl
The parameters associated with a connection over the L2CAP protocol.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
psm |
uint16
|
Required. L2CAP PSM for the connection. See the defined PSMs in |
2 |
parameters |
ChannelParameters
|
Optional. L2CAP channel parameters. |
ProfileAdvertiseRequest resource
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
services |
vector<ServiceDefinition>:32
|
The set of definitions describing the services that will be registered. Required. |
2 |
receiver |
client_end:ConnectionReceiver
|
Receives connections made to the advertised services. Required. |
3 |
parameters |
ChannelParameters
|
The default parameters used to configure L2CAP connections on the |
ProfileConnectScoRequest resource
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
peer_id |
fuchsia.bluetooth/PeerId
|
Required. |
2 |
initiator |
bool
|
Required. |
3 |
params |
vector<ScoConnectionParameters>
|
Required. |
4 |
connection |
server_end:ScoConnection
|
Required. |
ProfileDescriptor
Defined in fuchsia.bluetooth.bredr/service.fidl
A description of a profile that this service conforms to. See Bluetooth Specification v5.2 Vol 3, Part B, Section 5.1.11
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
profile_id |
ServiceClassProfileIdentifier
|
Required. |
2 |
major_version |
uint8
|
Required. |
3 |
minor_version |
uint8
|
Required. |
ProfileSearchRequest resource
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
service_uuid |
ServiceClassProfileIdentifier
|
Required - only one of |
2 |
attr_ids |
vector<uint16>:512
|
Optional. |
3 |
results |
client_end:SearchResults
|
Required. |
4 |
full_uuid |
fuchsia.bluetooth/Uuid
|
Required - only one of Added: 24
|
Profile_Advertise_Response
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
services |
vector<ServiceDefinition>:32
|
Set of service definitions as registered by the SDP server, updated with definitions for requested dyanmic PSM & RFCOMM assignments. |
ProtocolDescriptor
Defined in fuchsia.bluetooth.bredr/service.fidl
Identifies a communications protocol along with protocol-specific parameters.
Usually used to describe a protocol endpoint in a ProtocolDescriptorList.
Use PSM_DYNAMIC
in the L2CAP protocol-specific params
to specify a PSM that is dynamically
assigned.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
protocol |
ProtocolIdentifier
|
Required. |
2 |
params |
vector<DataElement>:255
|
Required. |
RfcommParameters
Defined in fuchsia.bluetooth.bredr/profile.fidl
The parameters associated with a connection over the RFCOMM protocol.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
channel |
RfcommChannel
|
Required. RFCOMM channel for the connection. |
ScoConnectionParameters
Defined in fuchsia.bluetooth.bredr/sco.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
parameter_set |
HfpParameterSet
|
Set of SCO parameters from the Hands-Free Profile specification. Required. |
2 |
air_coding_format |
fuchsia.bluetooth/AssignedCodingFormat
|
The over-the-air coding format used for transmitted and received data. Required. |
3 |
air_frame_size |
uint16
|
Frame size produced by the codec in the context of over-the-air coding. Required. |
4 |
io_bandwidth |
uint32
|
Host-controller data rate in bytes/second. Required. |
5 |
io_coding_format |
fuchsia.bluetooth/AssignedCodingFormat
|
The coding format used over the transport. Required. |
6 |
io_frame_size |
uint16
|
The number of bits in each sample/frame of data. Required. |
7 |
io_pcm_data_format |
fuchsia.hardware.audio/SampleFormat
|
The data format over the transport for linear samples. Ignored for non-linear coding formats. Optional. SIGNED indicates 2's complement sign encoding. FLOAT is not supported. |
8 |
io_pcm_sample_payload_msb_position |
uint8
|
For linear samples, indicates how many bit positions the MSB of the sample is away from the MSB of the data. Ignored for non-linear coding formats. Optional. Default: 0. |
9 |
path |
DataPath
|
The data transport. Required. |
10 |
max_tx_data_size |
uint16
|
Indicates the maximum data buffer size that may be sent. Optional. Only present after a connection has successfully been connected. Ignored when requesting a connection. |
ScoConnectionWriteRequest
Defined in fuchsia.bluetooth.bredr/sco.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
data |
vector<uint8>
|
ScoConnection_Read_Response
Defined in fuchsia.bluetooth.bredr/sco.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
status_flag |
RxPacketStatus
|
|
2 |
data |
vector<uint8>
|
ServiceDefinition
Defined in fuchsia.bluetooth.bredr/service.fidl
Definition for a service that is to be advertised as available via Bluetooth BR/EDR.
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
service_class_uuids |
vector<fuchsia.bluetooth/Uuid>:255
|
UUIDs of service classes that this service record conforms to. This field is required - all advertised services must have at least one service class. |
2 |
protocol_descriptor_list |
ProtocolDescriptorList
|
Specification for the primary protocol that can be used to gain access to this service, with their protocol-specific identifiers. This is ordered from lowest level (typically L2CAP) to highest. |
3 |
additional_protocol_descriptor_lists |
vector<ProtocolDescriptorList>:255
|
Additional protocol descriptor lists, if the service requires more channels in addition to the main service. |
4 |
profile_descriptors |
vector<ProfileDescriptor>:255
|
Bluetooth profiles that are supported by this service. |
5 |
information |
vector<Information>:85
|
Human-readable service information, in one or more languages. The first set of information is considered the primary language. |
6 |
additional_attributes |
vector<Attribute>:65023
|
Additional attributes to be included in the Service Definition for specific services or profiles. All of these attributes should have an Attribute ID above 0x0200. |
UNIONS
AudioDirectionExt_SetPriority_Result strict
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
AudioDirectionExt_SetPriority_Response
|
|
2 |
err |
fuchsia.bluetooth/ErrorCode
|
|
3 |
framework_err |
internal
|
AudioEncoderSettings flexible
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
sbc |
fuchsia.media/SbcEncoderSettings
|
|
2 |
aac |
fuchsia.media/AacEncoderSettings
|
AudioOffloadController_Stop_Result strict
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
AudioOffloadController_Stop_Response
|
|
3 |
framework_err |
internal
|
AudioOffloadExt_GetSupportedFeatures_Result strict
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
AudioOffloadExt_GetSupportedFeatures_Response
|
|
3 |
framework_err |
internal
|
AudioOffloadFeatures flexible
Defined in fuchsia.bluetooth.bredr/profile.fidl
Audio offload features used in AudioOffloadExt
.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
sbc |
AudioSbcSupport
|
|
2 |
aac |
AudioAacSupport
|
ConnectParameters strict
Defined in fuchsia.bluetooth.bredr/profile.fidl
The channel and relevant parameters for a connection.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
l2cap |
L2capParameters
|
An L2CAP connection. |
2 |
rfcomm |
RfcommParameters
|
An RFCOMM connection. |
DataElement flexible
Defined in fuchsia.bluetooth.bredr/service.fidl
A DataElement is one element in a SDP record. SDP attributes and other parameters are expresssed in DataElements.
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
int8 |
int8
|
|
2 |
int16 |
int16
|
|
3 |
int32 |
int32
|
|
4 |
int64 |
int64
|
|
5 |
uint8 |
uint8
|
|
6 |
uint16 |
uint16
|
|
7 |
uint32 |
uint32
|
|
8 |
uint64 |
uint64
|
|
9 |
str |
vector<uint8>:1024
|
|
10 |
url |
fuchsia.url/Url
|
|
11 |
uuid |
fuchsia.bluetooth/Uuid
|
|
12 |
b |
bool
|
|
13 |
sequence |
vector<DataElement?>:255
|
|
14 |
alternatives |
vector<DataElement?>:255
|
L2capParametersExt_RequestParameters_Result strict
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
L2capParametersExt_RequestParameters_Response
|
|
3 |
framework_err |
internal
|
Profile_Advertise_Result strict
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Profile_Advertise_Response
|
|
2 |
err |
fuchsia.bluetooth/ErrorCode
|
|
3 |
framework_err |
internal
|
Profile_Connect_Result strict resource
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
Profile_Connect_Response
|
|
2 |
err |
fuchsia.bluetooth/ErrorCode
|
|
3 |
framework_err |
internal
|
ScoConnectionOnConnectionCompleteRequest flexible
Defined in fuchsia.bluetooth.bredr/sco.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
connected_params |
ScoConnectionParameters
|
On success, contains the parameters that were used to establish the connection. |
2 |
error |
ScoErrorCode
|
On failure, specifies the reason connection establishment failed. |
ScoConnection_Read_Result strict
Defined in fuchsia.bluetooth.bredr/sco.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
ScoConnection_Read_Response
|
|
3 |
framework_err |
internal
|
ScoConnection_Write_Result strict
Defined in fuchsia.bluetooth.bredr/sco.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
ScoConnection_Write_Response
|
|
3 |
framework_err |
internal
|
SearchResults_ServiceFound_Result strict
Defined in fuchsia.bluetooth.bredr/profile.fidl
Ordinal | Variant | Type | Description |
---|---|---|---|
1 |
response |
SearchResults_ServiceFound_Response
|
|
3 |
framework_err |
internal
|
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
ATTR_ADDITIONAL_PROTOCOL_DESCRIPTOR_LIST |
13
|
uint16 |
|
ATTR_BLUETOOTH_PROFILE_DESCRIPTOR_LIST |
9
|
uint16 |
|
ATTR_BROWSE_GROUP_LIST |
5
|
uint16 |
|
ATTR_LANGUAGE_BASE_ATTRIBUTE_ID_LIST |
6
|
uint16 |
|
ATTR_PROTOCOL_DESCRIPTOR_LIST |
4
|
uint16 |
|
ATTR_SERVICE_AVAILABILITY |
8
|
uint16 |
|
ATTR_SERVICE_CLASS_ID_LIST |
1
|
uint16 |
|
ATTR_SERVICE_ID |
3
|
uint16 |
|
ATTR_SERVICE_INFO_TIME_TO_LIVE |
7
|
uint16 |
|
ATTR_SERVICE_RECORD_HANDLE |
0
|
uint16 |
Universal attribute IDs. From the Bluetooth Specification v5.2, Vol 3, Part B |
ATTR_SERVICE_RECORD_STATE |
2
|
uint16 |
|
MAX_ADDITIONAL_ATTRIBUTES |
65023
|
uint16 |
Maximum additional attributes as defined by the spec. All attributes must be above 0x0200 per the Bluetooth Specfication, Ver 5.2 Vol 3, Part B, Section 5 |
MAX_ATTRIBUTES |
512
|
uint16 |
Maximum number of attributes returned or allowed in a search request. |
MAX_INFORMATION_COUNT |
85
|
uint8 |
Maximum number of languages that are supported by SDP at the moment. |
MAX_SEQUENCE_LENGTH |
255
|
uint8 |
The maximum length that a sequence or set of alternatives supported in a DataElement list. If a list is provided that is longer than this from a peer, it is truncated. |
MAX_SERVICES_PER_ADVERTISEMENT |
32
|
uint8 |
Maximum service records that can be advertised at once. |
MAX_STRING_LENGTH |
1024
|
uint16 |
Maximum length of a string that is alowed in a DataElement. If a DataElement string longer than this is sent by a peer it will be truncated. |
PSM_3DSP |
33
|
uint16 |
|
PSM_ATT |
31
|
uint16 |
|
PSM_AVCTP |
23
|
uint16 |
|
PSM_AVCTP_BROWSE |
27
|
uint16 |
|
PSM_AVDTP |
25
|
uint16 |
|
PSM_BNEP |
15
|
uint16 |
|
PSM_DYNAMIC |
65535
|
uint16 |
Placeholder PSM value used to request a dynamic PSM. A valid dynamic PSM will be assigned to the service during registration. Used in DataElement as protocol parameters for L2CAP. Note: This value is not a valid PSM in of itself, and is not defined in the Bluetooth Assigned Numbers. |
PSM_HID_CONTROL |
17
|
uint16 |
|
PSM_HID_INTERRUPT |
19
|
uint16 |
|
PSM_LE_IPSP |
35
|
uint16 |
|
PSM_OTS |
37
|
uint16 |
|
PSM_RFCOMM |
3
|
uint16 |
|
PSM_SDP |
1
|
uint16 |
Defined PSMs from the Bluetooth Assigned Numbers https://www.bluetooth.com/specifications/assigned-numbers/logical-link-control Used in DataElement as protocol parameters for L2CAP. |
PSM_TCSBIN |
5
|
uint16 |
|
PSM_TCSBIN_CORDLESS |
7
|
uint16 |
ALIASES
Name | Value | Description |
---|---|---|
ChannelMode |
fuchsia.bluetooth/ChannelMode |
|
ChannelParameters |
fuchsia.bluetooth/ChannelParameters |
|
ProtocolDescriptorList |
vector [MAX_SEQUENCE_LENGTH ] |
A ProtocolDescriptorList is a list of protocols in a "stack" from lowest to highest, Specifying a specific protocol endpoint that can be connected. |
RfcommChannel |
uint8 |
The RFCOMM channel ID used when requesting to open a channel. This is known as a ServerChannel in RFCOMM. It must be within the range [1,30] (inclusive). See RFCOMM 5.4. |