fuchsia.bluetooth.bredr

Libraries for advertising, searching for, and connecting to BR/EDR Bluetooth profiles.

Added: 23

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

NameType
priority A2dpDirectionPriority

Response

NameType
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

NameType
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

NameType
payload AudioOffloadExt_GetSupportedFeatures_Result

StartAudioOffload

Begin the audio encoding hardware offloading process

Request

NameType
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

NameType
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

NameType
request ChannelParameters

Response

NameType
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

NameType
payload ProfileAdvertiseRequest

Response

NameType
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

NameType
peer_id fuchsia.bluetooth/PeerId
connection ConnectParameters

Response

NameType
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

NameType
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

NameType
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

NameType
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

NameType
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

NameType
payload ScoConnectionWriteRequest

Response

NameType
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

NameType
peer_id fuchsia.bluetooth/PeerId
protocol ProtocolDescriptorList
attributes vector<Attribute>:512

Response

NameType
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

FieldTypeDescriptionDefault
new ChannelParameters No default

Profile_Connect_Response resource

Defined in fuchsia.bluetooth.bredr/profile.fidl

FieldTypeDescriptionDefault
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.

NameValueDescription
1
2
3

AudioBitsPerSample flexible

Type: uint8

Defined in fuchsia.bluetooth.bredr/profile.fidl

NameValueDescription
1
2
3

AudioChannelMode flexible

Type: uint8

Defined in fuchsia.bluetooth.bredr/profile.fidl

NameValueDescription
0
1

AudioSamplingFrequency flexible

Type: uint8

Defined in fuchsia.bluetooth.bredr/profile.fidl

NameValueDescription
1
2
3
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.

NameValueDescription
1

The HCI transport. Data will be sent/received through the ScoConnection protocol.

2

Transport audio data directly between the controller and the audio hardware. The ScoConnection protocol will not be used to send/receive data.

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).

NameValueDescription
1
2
3
4
5
6
7
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

NameValueDescription
1
3
7
8
15
17
18
20
22
23
25
30
31
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.

NameValueDescription
0

The controller marked all data as "good data".

1

Some of the data may have errors.

2

All data was lost. The payload will be empty.

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

NameValueDescription
1
2
3
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

NameValueDescription
4353

Serial Port Profile (SPP)

4355

Dial-up Networking Profile (DUN)

4357

Object Push Profile (OPP)

4358

File Transfer Profile (FTP)

4360

Headset Profile (HSP)

4370
4401
4362

Advanced Audio Distribution Profile (A2DP)

4363
4365
4364

Audio/Video Remote Control Profile (AVRCP)

4366
4367
4373

Personal Area Networking (PAN)

4374
4375
4382

Hands-Free Profile (HFP)

4383
4388

Human Interface Device Profile (HID)

4397

Sim Access Profile (SAP)

4398

Phonebook Access Profile (PBAP)

4399
4400
4402

Message Access Profile (MAP)

4403
4404
4410

Multi-Profile Specification (MPS)

4411
4608

Device Identification Profile (DI)

4609

Generic Networking

4610

Generic File Transfer

4611

Generic Audio

4612

Generic Telephony

4867

Video Distribution Profile (VDP)

4868
4869
5120

Health Device Profile (HDP)

5121
5122

TABLES

Attribute

Defined in fuchsia.bluetooth.bredr/service.fidl

A generic attribute, used for protocol information;

OrdinalFieldTypeDescription
id uint16

Required.

element DataElement

Required.

AudioAacSupport

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalFieldTypeDescription

AudioOffloadConfiguration

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalFieldTypeDescription
codec AudioOffloadFeatures
max_latency uint16
scms_t_enable bool
sampling_frequency AudioSamplingFrequency
bits_per_sample AudioBitsPerSample
channel_mode AudioChannelMode
encoded_bit_rate uint32
encoder_settings AudioEncoderSettings

AudioOffloadExt_GetSupportedFeatures_Response

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalFieldTypeDescription
audio_offload_features vector<AudioOffloadFeatures>

AudioSbcSupport

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalFieldTypeDescription

Channel resource

Defined in fuchsia.bluetooth.bredr/profile.fidl

A channel opened to a peer.

OrdinalFieldTypeDescription
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.

channel_mode ChannelMode

Channel mode accepted by the peer. Always present.

max_tx_sdu_size uint16

Maximum SDU size the peer is capable of accepting. Always present.

ext_direction client_end:AudioDirectionExt

Audio Direction priority extension. See AudioDirectionExt. Present only if supported.

flush_timeout zx/Duration
ext_l2cap client_end:L2capParametersExt

L2CAP parameter extension. See L2capParametersExt. Always present for L2CAP Channels, never present for other Channels.

ext_audio_offload client_end:AudioOffloadExt

Audio offload extension. See AudioOffloadExt. Present only if supported.

connection client_end:fuchsia.bluetooth/Channel

Protocol for sending/receiving SDUs on the channel. If present, closing this and socket will close the channel.

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

OrdinalFieldTypeDescription
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.

name string:1024

Service name

description string:1024

A human-readable description

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.

OrdinalFieldTypeDescription
psm uint16

Required. L2CAP PSM for the connection. See the defined PSMs in service.fidl.

parameters ChannelParameters

Optional. L2CAP channel parameters.

ProfileAdvertiseRequest resource

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalFieldTypeDescription
services vector<ServiceDefinition>:32

The set of definitions describing the services that will be registered. Required.

receiver client_end:ConnectionReceiver

Receives connections made to the advertised services. Required.

parameters ChannelParameters

The default parameters used to configure L2CAP connections on the receiver. Optional. See ChannelParameters for defaults.

ProfileConnectScoRequest resource

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalFieldTypeDescription
peer_id fuchsia.bluetooth/PeerId

Required.

initiator bool

Required.

params vector<ScoConnectionParameters>

Required.

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

OrdinalFieldTypeDescription
profile_id ServiceClassProfileIdentifier

Required.

major_version uint8

Required.

minor_version uint8

Required.

ProfileSearchRequest resource

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalFieldTypeDescription
service_uuid ServiceClassProfileIdentifier

Required - only one of service_uuid or full_uuid should be present.

attr_ids vector<uint16>:512

Optional.

results client_end:SearchResults

Required.

full_uuid fuchsia.bluetooth/Uuid

Required - only one of full_uuid or service_uuid should be present.

Added: 24

Profile_Advertise_Response

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalFieldTypeDescription
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.

OrdinalFieldTypeDescription
protocol ProtocolIdentifier

Required.

params vector<DataElement>:255

Required.

RfcommParameters

Defined in fuchsia.bluetooth.bredr/profile.fidl

The parameters associated with a connection over the RFCOMM protocol.

OrdinalFieldTypeDescription
channel RfcommChannel

Required. RFCOMM channel for the connection.

ScoConnectionParameters

Defined in fuchsia.bluetooth.bredr/sco.fidl

OrdinalFieldTypeDescription
parameter_set HfpParameterSet

Set of SCO parameters from the Hands-Free Profile specification. Required.

air_coding_format fuchsia.bluetooth/AssignedCodingFormat

The over-the-air coding format used for transmitted and received data. Required.

air_frame_size uint16

Frame size produced by the codec in the context of over-the-air coding. Required.

io_bandwidth uint32

Host-controller data rate in bytes/second. Required.

io_coding_format fuchsia.bluetooth/AssignedCodingFormat

The coding format used over the transport. Required.

io_frame_size uint16

The number of bits in each sample/frame of data. Required.

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.

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.

path DataPath

The data transport. Required.

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

OrdinalFieldTypeDescription
data vector<uint8>

ScoConnection_Read_Response

Defined in fuchsia.bluetooth.bredr/sco.fidl

OrdinalFieldTypeDescription
status_flag RxPacketStatus
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.

OrdinalFieldTypeDescription
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.

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.

additional_protocol_descriptor_lists vector<ProtocolDescriptorList>:255

Additional protocol descriptor lists, if the service requires more channels in addition to the main service.

profile_descriptors vector<ProfileDescriptor>:255

Bluetooth profiles that are supported by this service.

information vector<Information>:85

Human-readable service information, in one or more languages. The first set of information is considered the primary language.

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

OrdinalVariantTypeDescription
response AudioDirectionExt_SetPriority_Response
err fuchsia.bluetooth/ErrorCode
framework_err internal

AudioEncoderSettings flexible

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalVariantTypeDescription
sbc fuchsia.media/SbcEncoderSettings
aac fuchsia.media/AacEncoderSettings

AudioOffloadController_Stop_Result strict

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalVariantTypeDescription
response AudioOffloadController_Stop_Response
framework_err internal

AudioOffloadExt_GetSupportedFeatures_Result strict

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalVariantTypeDescription
response AudioOffloadExt_GetSupportedFeatures_Response
framework_err internal

AudioOffloadFeatures flexible

Defined in fuchsia.bluetooth.bredr/profile.fidl

Audio offload features used in AudioOffloadExt.

OrdinalVariantTypeDescription
sbc AudioSbcSupport
aac AudioAacSupport

ConnectParameters strict

Defined in fuchsia.bluetooth.bredr/profile.fidl

The channel and relevant parameters for a connection.

OrdinalVariantTypeDescription
l2cap L2capParameters

An L2CAP connection.

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.

OrdinalVariantTypeDescription
int8 int8
int16 int16
int32 int32
int64 int64
uint8 uint8
uint16 uint16
uint32 uint32
uint64 uint64
str vector<uint8>:1024
url fuchsia.url/Url
uuid fuchsia.bluetooth/Uuid
b bool
sequence vector<DataElement?>:255
alternatives vector<DataElement?>:255

L2capParametersExt_RequestParameters_Result strict

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalVariantTypeDescription
response L2capParametersExt_RequestParameters_Response
framework_err internal

Profile_Advertise_Result strict

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalVariantTypeDescription
response Profile_Advertise_Response
err fuchsia.bluetooth/ErrorCode
framework_err internal

Profile_Connect_Result strict resource

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalVariantTypeDescription
response Profile_Connect_Response
err fuchsia.bluetooth/ErrorCode
framework_err internal

ScoConnectionOnConnectionCompleteRequest flexible

Defined in fuchsia.bluetooth.bredr/sco.fidl

OrdinalVariantTypeDescription
connected_params ScoConnectionParameters

On success, contains the parameters that were used to establish the connection.

error ScoErrorCode

On failure, specifies the reason connection establishment failed.

ScoConnection_Read_Result strict

Defined in fuchsia.bluetooth.bredr/sco.fidl

OrdinalVariantTypeDescription
response ScoConnection_Read_Response
framework_err internal

ScoConnection_Write_Result strict

Defined in fuchsia.bluetooth.bredr/sco.fidl

OrdinalVariantTypeDescription
response ScoConnection_Write_Response
framework_err internal

SearchResults_ServiceFound_Result strict

Defined in fuchsia.bluetooth.bredr/profile.fidl

OrdinalVariantTypeDescription
response SearchResults_ServiceFound_Response
framework_err internal

CONSTANTS

NameValueTypeDescription
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

NameValueDescription
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.