Fuchsia.bluetooth

新增:7

通訊協定

頻道

定義於 fuchsia.bluetooth/channel.fidl

用於傳送/接收封包的雙面管道。這個通訊協定也會 做為保持 Channel 開啟的權杖。關閉這個通訊協定 (並 巴西/EDR 頻道的相關 socket) 會關閉基礎模型。 頻道。

新增時間:下一頁

接收

等待傳入封包的掛鉤。只有一個Receive 可能是待處理狀態

要求

<空白>

回應

名稱類型
payload Channel_Receive_Result

傳送

透過管道傳送多個資料封包。只有一個Send 可能是待處理狀態

要求

名稱類型
packets vector<Packet>

回應

名稱類型
payload Channel_Send_Result

WatchChannelParameters

針對 RFCOMM 管道,這項操作不會傳回,通話會停止運作 無限期。

針對 BR/EDR L2CAP 連線導向的頻道,目前 返回,然後通話會無限期停止。初始管道參數 提供管道為 fuchsia.bluetooth.bredr/Channel

針對 LE L2CAP 連線導向頻道,第一次呼叫會 就會立即傳回管道遠端端的參數。 後續呼叫會一直維持到 ChannelParameters 變更,也就是 而且會傳回新參數,包括含有 未變更。

要求

<空白>

回應

名稱類型
payload Channel_WatchChannelParameters_Result

結構

地址

fuchsia.bluetooth/address.fidl 中定義的

代表 48 位元的藍牙裝置位址。

欄位類型說明預設
type AddressType

裝置位址類型。

無預設
bytes uint8[6]

裝置位址位元組 (按小端序排列)。

無預設

布林值

定義於 fuchsia.bluetooth/deprecated.fidl

已淘汰

欄位類型說明預設
value bool 無預設

Channel_Receive_Response

定義於 fuchsia.bluetooth/channel.fidl

欄位類型說明預設
packets vector<Packet> 無預設

Channel_Send_Response

定義於 fuchsia.bluetooth/channel.fidl

<空白>

DeviceClass

定義於 fuchsia.bluetooth/device_class.fidl

「裝置/服務類別」是變數格式欄位,用來定義 藍牙裝置。位元欄位分為名為「主要服務類別」的區段, 「主要裝置類別」和「次要裝置類別」

請勿假設任何應用程式的特定功能或特性 僅根據納入在「主要」或「次要」類別中的裝置。若需更多資訊,請參閲 https://www.bluetooth.com/specifications/assigned-numbers/baseband.

欄位類型說明預設
value uint32 無預設

錯誤

定義於 fuchsia.bluetooth/deprecated.fidl

已淘汰 :改用通訊協定專屬的錯誤列舉

欄位類型說明預設
error_code ErrorCode 無預設
protocol_error_code uint32 無預設
description string? 無預設

HostId

定義於 fuchsia.bluetooth/id.fidl

系統用來識別主機轉接器的 64 位元不重複值。

欄位類型說明預設
value uint64 無預設

Int8

定義於 fuchsia.bluetooth/deprecated.fidl

已淘汰

欄位類型說明預設
value int8 無預設

封包

定義於 fuchsia.bluetooth/channel.fidl

來自 遠端對等互連。

新增時間:下一頁

欄位類型說明預設
packet vector<uint8> 無預設

PeerId

定義於 fuchsia.bluetooth/id.fidl

系統用來識別對等互連裝置的 64 位元不重複值。

欄位類型說明預設
value uint64 無預設

狀態

定義於 fuchsia.bluetooth/deprecated.fidl

已淘汰 - 使用通訊協定專屬的錯誤列舉和「error」語法

欄位類型說明預設
error Error? 無預設

UInt16

定義於 fuchsia.bluetooth/deprecated.fidl

已淘汰

欄位類型說明預設
value uint16 無預設

烏伊德

定義於 fuchsia.bluetooth/uuid.fidl

以藍牙 UUID 以 128 位元標準格式表示。雖然藍牙標準支援 接線傳輸 16 和 32 位元短格式的 UUID,Fchsia FIDL 程式庫需要所有 UUID 以 128 位元的標準格式表示

欄位類型說明預設
value uint8[16]

以小端序順序的 UUID 位元組。

無預設

ENUMS

AddressType 嚴格

類型:uint8

fuchsia.bluetooth/address.fidl 中定義的

名稱說明
1

LE 公開裝置位址或 BR/EDR BD_ADDR

2

LE 私人或靜態隨機裝置位址。

外觀彈性

類型:uint16

定義於 fuchsia.bluetooth/appearance.fidl

LE Appearance 屬性的可能值,用來說明外部 顯示在高層級的同類應用程式 (請參閱藍牙指派號碼文件: https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml) 這類列舉可彈性調整,因為新版裝置可能會使用新的外觀值, 編號文件可能包含其他項目。

名稱說明
0
64
128
192
193
256
320
384
448
512
576
640
704
768
769
832
833
896
897
898
960
961
962
963
964
965
966
967
968
1024
1088
1089
1090
1091
1152
1153
1154
1155
1156
1157
3136
3137
3138
3200
3264
3265
3266
3328
5184
5185
5186
5187
5188

AssignCodingFormat 彈性

類型:uint8

定義於 fuchsia.bluetooth/coding_format.fidl

由藍牙 SIG 指定的編碼格式 (請參閱「指派號碼」文件瞭解值): https://www.bluetooth.com/specifications/assigned-numbers/

新增時間:下一頁

名稱說明
0
1
2
3
4
5
6
7

ChannelMode 彈性

類型:uint32

定義於 fuchsia.bluetooth/channel.fidl

L2CAP 頻道支援的管道作業模式。

如為 BR/EDR,用於指定偏好和接受的 L2CAP 管道 。如果對等連線拒絕非基本模式,藍牙系統就會 就會試著以基本模式開啟管道

如果是 LE,這個值可用於指定要使用的確切管道模式 (如果 對等點拒絕要求的模式,管道就無法建立。

如需每種模式的說明,請參閱「藍牙規格 v5.4」、「Vol 3」,第 3 部分、第 2.4 節。

新增時間:下一頁

名稱說明
1

僅限巴西/EDR。

2

僅限巴西/EDR。

3

僅限 LE。

4

僅限 LE。

ConnectionRole 嚴格

類型:uint32

定義於 fuchsia.bluetooth/connection_role.fidl

指的是藍牙裝置 (本機或對等) 在實體通路中的角色。詳情請見 藍牙詞彙指南 瞭解詳情

名稱說明
1

定義 BR/EDR 或 「啟動中」使用 LE。

2

與 BR/EDR 或 「廣告」使用 LE。

DataDirection 嚴格

類型:uint8

定義於 fuchsia.bluetooth/coding_format.fidl

用於表示串流中的資料方向。請注意,這些值不會對應到常數 例如藍牙核心規格

新增時間:HEAD

名稱說明
1

主機 =>控制器

2

控制器 =>代管者

ErrorCode 嚴格

類型:uint32

定義於 fuchsia.bluetooth/deprecated.fidl

已淘汰 - 改用通訊協定專屬的錯誤列舉和 zx.Status

名稱說明
0
1
2
3
4
5
6
7
8
9
10
11

LogicalTransportType 彈性

類型:uint8

定義於 fuchsia.bluetooth/coding_format.fidl

可與已編碼資料串流搭配使用的邏輯傳輸類型。請注意,這些值 未對應於藍牙核心規格的常數,也不是 BR/EDR 值 。

新增時間:HEAD

名稱說明
1

左岸

2

LE BBI

資料表

ChannelParameters

定義於 fuchsia.bluetooth/channel.fidl

要使用的參數組合,或用於建立 L2CAP 的參數 互動導向管道。

新增時間:下一頁

Ordinal欄位類型說明
channel_mode ChannelMode

選用。 如為巴西/EDR:如未提供,系統會使用基本資料。 LE:如未提供,系統會使用 LE_CREDIT_BASED_FLOW_CONTROL。

max_rx_packet_size uint16

這個設定檔接受的封包大小上限。必須大於或等於 48。 選用。如未提供,尺寸取決於藍牙 有些人會將 Cloud Storage 視為檔案系統 但實際上不是系統不會針對所選大小提供任何保證。

security_requirements SecurityRequirements

BR/EDR:最低安全性要求必須連結才能進行 這裡提供的規定將是 嘗試分享的訊息。如為同業 無法提供相關規定,代表管道已關閉。 選用。如未提供,將保證唯一保證 就是加密

LE:請勿使用,

flush_timeout zx/Duration

針對 BR/EDR:清除逾時時間代表 資料封包被捨棄之前,必須在控制器中緩衝處理。 可使用無限量的清除逾時,將封包標示為可清除 而非特定清除逾時時間 範圍:1 毫秒至 1,279 毫秒 (或 ∞)。無條件捨去。 選用。如未提供,則不會發生清除逾時情況,且封包便無法清除。

LE:請勿使用,

CodecAttributes

定義於 fuchsia.bluetooth/coding_format.fidl

識別可能與資料串流使用的轉碼器及其設定。

新增時間:HEAD

Ordinal欄位類型說明
codec_id CodecId

編碼格式。 必填。

codec_configuration vector<uint8>

設定資料。 視需要使用 (視所使用的轉碼器而定)。

SecurityRequirements

定義於 fuchsia.bluetooth/channel.fidl

存取廣告所宣傳服務的驗證和權限需求。 僅限巴西/EDR。

新增時間:下一頁

Ordinal欄位類型說明
authentication_required bool

如果具有「而且」和「是」屬性,則必須以下列方法驗證實體連結: 攻擊路徑上攻擊者的保護,以存取此服務。如果缺少 不需要驗證

secure_connections_required bool

如果存在且為 true,實體連結就必須以安全的方式加密 如果主機支援這項服務,就會建立連線金鑰以存取這項服務。 如果主機不支援安全連線,廣告就會失敗。 詳情請參閱「藍牙規格 v5.2, Vol 3, Part C, Sec 5.2.2.8」。

VendorCodingFormat

定義於 fuchsia.bluetooth/coding_format.fidl

供應商定義的編碼格式。

新增時間:HEAD

Ordinal欄位類型說明
company_id uint16

公司 ID (如需關於值的數字,請參閱「指派的號碼」文件) https://www.bluetooth.com/specifications/assigned-numbers/ 這是必要項目。

vendor_id uint16

供應商定義的轉碼器 ID。 必填。

聯合國

Channel_Receive_Result 嚴格

定義於 fuchsia.bluetooth/channel.fidl

OrdinalVariant類型說明
response Channel_Receive_Response
framework_err internal

Channel_Send_Result 嚴格

定義於 fuchsia.bluetooth/channel.fidl

OrdinalVariant類型說明
response Channel_Send_Response
framework_err internal

Channel_WatchChannelParameters_Result 嚴格

定義於 fuchsia.bluetooth/channel.fidl

OrdinalVariant類型說明
response ChannelParameters
framework_err internal

CodecId 彈性

定義於 fuchsia.bluetooth/coding_format.fidl

指定編碼格式。

新增時間:HEAD
OrdinalVariant類型說明
assigned_format AssignedCodingFormat

藍牙 SIG 定義的編碼格式。

vendor_format VendorCodingFormat

供應商定義的編碼格式。

觀測站

名稱類型說明
MAJOR_DEVICE_CLASS_AUDIO_VIDEO 1024 uint32
MAJOR_DEVICE_CLASS_COMPUTER 256 uint32
MAJOR_DEVICE_CLASS_HEALTH 2304 uint32
MAJOR_DEVICE_CLASS_IMAGING 1536 uint32
MAJOR_DEVICE_CLASS_LAN 768 uint32
MAJOR_DEVICE_CLASS_MASK 7936 uint32

主要裝置類別欄位的常數。主要裝置類別是由位元 12-8 定義。

MAJOR_DEVICE_CLASS_MISCELLANEOUS 0 uint32
MAJOR_DEVICE_CLASS_PERIPHERAL 1280 uint32
MAJOR_DEVICE_CLASS_PHONE 512 uint32
MAJOR_DEVICE_CLASS_TOY 2048 uint32
MAJOR_DEVICE_CLASS_UNCATEGORIZED 7936 uint32
MAJOR_DEVICE_CLASS_WEARABLE 1792 uint32
MAX_DEVICE_NAME_LENGTH 248 uint8

裝置名稱的長度上限。系統是根據 HCI 和 GAP 選取這個值 規格(v5.2, Vol 4, Part E, 7.3.11 and Vol 3, Part C, 12.1」)。

UUID_STRING_REPRESENTATION_LENGTH 36 uint8

UUID 的標準字串表示法大小。這個值是根據標準網址 IETF RFC4122 第 3 節中定義的 36 個字元 8-4-4-4-12 格式。

ALIASES

名稱說明
DeviceName string[MAX_DEVICE_NAME_LENGTH]

藍牙裝置名稱的別名。

PeerIdString string[16]

已淘汰 - 請改用 fuchsia.bluetooth/PeerId

UuidString string[UUID_STRING_REPRESENTATION_LENGTH]

已淘汰 - 請改用 fuchsia.bluetooth/Uuid