| // Copyright 2024 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| library fuchsia.bluetooth; |
| |
| /// Coding Format, as specified by the Bluetooth SIG (see Assigned Numbers document for values): |
| /// https://www.bluetooth.com/specifications/assigned-numbers/ |
| @available(added=HEAD) |
| type AssignedCodingFormat = flexible enum : uint8 { |
| U_LAW_LOG = 0; |
| A_LAW_LOG = 1; |
| CVSD = 2; |
| TRANSPARENT = 3; |
| LINEAR_PCM = 4; |
| MSBC = 5; |
| LC3 = 6; |
| G_729A = 7; |
| }; |
| |
| /// Vendor-defined coding format. |
| @available(added=HEAD) |
| type VendorCodingFormat = table { |
| /// Company ID, see Assigned Numbers document for values |
| /// https://www.bluetooth.com/specifications/assigned-numbers/ |
| /// Required. |
| 1: company_id uint16; |
| |
| /// Vendor-defined codec ID. |
| /// Required. |
| 2: vendor_id uint16; |
| }; |
| |
| /// Specifies a coding format. |
| @available(added=HEAD) |
| type CodecId = flexible union { |
| /// Coding format defined by Bluetooth SIG. |
| 1: assigned_format AssignedCodingFormat; |
| |
| /// Coding format defined by vendor. |
| 2: vendor_format VendorCodingFormat; |
| }; |
| |
| /// Identifies a codec and its configuration that may be used with a data stream. |
| @available(added=HEAD) |
| type CodecAttributes = table { |
| /// Coding format. |
| /// Required. |
| 1: codec_id CodecId; |
| |
| /// Configuration data. |
| /// Optionally present, as determined by codec being used. |
| 2: codec_configuration vector<uint8>:MAX; |
| }; |
| |
| /// Indicates direction of data in a stream. Note that these values do not correspond to constants |
| /// from the Bluetooth Core specification. |
| @available(added=HEAD) |
| type DataDirection = strict enum : uint8 { |
| /// Host => Controller |
| INPUT = 1; |
| |
| /// Controller => Host |
| OUTPUT = 2; |
| }; |
| |
| /// Logical transport types that may be used with encoded data streams. Note that these values do |
| /// not correspond to constants from the Bluetooth Core specification, nor are BR/EDR values |
| /// supported yet. |
| @available(added=HEAD) |
| type LogicalTransportType = flexible enum : uint8 { |
| /// LE CIS |
| LE_CIS = 1; |
| |
| /// LE BIS |
| LE_BIS = 2; |
| }; |