通訊協定
BondingDelegate
在 fuchsia.bluetooth.host/host.fidl 中定義的
RestoreBonds
將現有的綁定裝置還原至主機。系統會建立通過驗證的工作階段 日後透過所提供的繫結資料建立連線。
如果有 LE 傳輸的繫結資料可用,主機就會建立連線 (對等互連連結)。
如果「bonds
」中有任何項目無法還原,會在以下日期傳回:
errors
。如果項目格式錯誤,或是已有格式錯誤的項目,就會發生這種情況。
我們從 Bot-host 的角度來辨識資訊如果 errors
清單為空白,表示所有鍵結已成功。
已還原。
要求
名稱 | 類型 |
---|---|
bonds |
vector<fuchsia.bluetooth.sys/BondingData>
|
回應
名稱 | 類型 |
---|---|
payload |
BondingDelegate_RestoreBonds_Result
|
WatchBonds
取得下一個繫結更新。要求會等候下一次更新。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
BondingDelegate_WatchBonds_Result
|
DiscoverySession
在 fuchsia.bluetooth.host/host.fidl 中定義的
代表已啟用探索功能的權杖通訊協定。
停止
在伺服器端關閉這個 DiscoverySession,結束探索作業 (如果這是上次開啟的時間) DiscoverySession。此類別可用來同步處理通訊協定兩端的閉包。 如果不需要同步處理,則可直接關閉 DiscoverySession 通訊協定 。
要求
<空白>
舉辦派對
在 fuchsia.bluetooth.host/host.fidl 中定義的
與藍牙主機裝置互動 (bt-host) 的介面
連線
與 ID 為 id
的對等互連建立 BR/EDR 和/或 LE 連線:
-
如果已知對等點支援 BR/EDR 傳輸,則使用該邏輯連結 將為裝置建立傳輸層如果連線嘗試成功, 使用「RequestProfile()」註冊的本地服務只提供給同業使用 如果是透過同業探索的傳統服務,系統會向在地生活服務發送通知 以非同步方式載入物件
-
如果已知該對等體支援 LE 傳輸,則使用該邏輯連結 將為裝置建立傳輸層如果連線嘗試成功, 本機資料庫中的 GATT 服務 (透過 RequestGattServer() 填入) 可與對等互連團隊分享同樣地,遠端 GATT 服務 gatt.Client 能力持有者和裝置驅動程式將可存取對等互連 ,可繫結至 bt-gatt-svc 類別的裝置。
程序結果會透過 status
傳達。如果遠端裝置
同時支援 BR/EDR 和 LE 傳輸,而且您無法同時建立連線
系統會傳回錯誤狀態,並且不會連接任何傳輸元件。
要求
名稱 | 類型 |
---|---|
id |
fuchsia.bluetooth/PeerId
|
回應
名稱 | 類型 |
---|---|
payload |
Host_Connect_Result
|
中斷連線
終止所有與 ID 為 id
的遠端對等連線的連線 (BR/EDR 或 LE)。
- 要求
id
要中斷連線的對等點 ID。
- 回應
status
如果 LE 或 BR/EDR 傳輸失敗,即包含錯誤。 兩個傳輸都成功中斷連線或 表示對等點已中斷連線
要求
名稱 | 類型 |
---|---|
id |
fuchsia.bluetooth/PeerId
|
回應
名稱 | 類型 |
---|---|
payload |
Host_Disconnect_Result
|
EnableBackgroundScan
啟用或停用被動 LE 背景掃描功能。啟用時,bt-host 裝置會在背景執行被動 LE 掃描 裝置未開啟探索工作階段,並接受來自下列來源的連線要求: 加深連結週邊裝置。
要求
名稱 | 類型 |
---|---|
enabled |
bool
|
EnablePrivacy
啟用或停用 LE 隱私權功能。啟用後,bt-host 裝置將使用 私人裝置位址。如果停用這項功能,公開身分位址 (這是預設值)。
要求
名稱 | 類型 |
---|---|
enabled |
bool
|
清除
從藍牙主機刪除對等點。如果對等點連線成功,就會中斷連線。
即使位址相同的裝置,device_id
也不會再參照任何同類應用程式
再次發現。
沒有由 device_id
識別的對等點之後,會傳回成功 (即使不存在)
已存在,如果無法使用 device_id
指定的對等點,就會失敗
已取消連線或刪除,但仍然存在。
要求
名稱 | 類型 |
---|---|
id |
fuchsia.bluetooth/PeerId
|
回應
名稱 | 類型 |
---|---|
payload |
Host_Forget_Result
|
配對
開始與提供的 id
和 options
配對。如果沒有,則傳回錯誤
已連線至與 id
的對等互連,或是配對程序失敗。
如果 options
指定的安全性等級高於目前的配對連線,此方法
嘗試提高安全等級否則,這個方法不會生效,且會傳回
成效。
注意:此舉可用於滿足需要配對程序的測試情況 啟動,而不需依賴服務存取權。在正常操作的情況下,藍牙安全性 會在服務存取期間強制執行
要求
名稱 | 類型 |
---|---|
id |
fuchsia.bluetooth/PeerId
|
options |
fuchsia.bluetooth.sys/PairingOptions
|
回應
名稱 | 類型 |
---|---|
payload |
Host_Pair_Result
|
RequestProtocol
執行指定的通訊協定要求。bt-host 會開始處理 FIDL 郵件。如果 要求無法完成,則 bt-host 裝置會關閉指定管道的結尾。
要求
名稱 | 類型 |
---|---|
payload |
ProtocolRequest
|
SetBondingDelegate
設定 BondingDelegate 通訊協定,以便接收待建立的新鍵和已解除的鍵結通知
容器如果已設定委派代表,新的delegate
將以此關閉
ALREADY_BOUND
要求
名稱 | 類型 |
---|---|
delegate |
server_end<BondingDelegate>
|
SetBrEdrSecurityMode
設定主機的 GAP BR/EDR 安全模式。bt-host 僅支援已加密的 以連線為基礎的安全模式,例如模式 4 和僅限安全連線模式。如果 安全模式會設為「僅限安全連線」, 不符合「僅限安全連線」模式的安全性需求條件。
要求
名稱 | 類型 |
---|---|
bredr_security_mode |
fuchsia.bluetooth.sys/BrEdrSecurityMode
|
SetConnectable
設定是否應連上這個主機。
要求
名稱 | 類型 |
---|---|
enabled |
bool
|
回應
名稱 | 類型 |
---|---|
payload |
Host_SetConnectable_Result
|
SetDeviceClass
設定此主機裝置的裝置類別。
要求
名稱 | 類型 |
---|---|
device_class |
fuchsia.bluetooth/DeviceClass
|
回應
名稱 | 類型 |
---|---|
payload |
Host_SetDeviceClass_Result
|
SetDiscoverable
設定是否要偵測這個主機。
要求
名稱 | 類型 |
---|---|
enabled |
bool
|
回應
名稱 | 類型 |
---|---|
payload |
Host_SetDiscoverable_Result
|
SetLeSecurityMode
設定主機的 GAP LE 安全模式。bt-host 僅支援加密的加密連線 安全模式 (即模式 1 和僅限安全連線模式)。如果已設定安全模式 僅限安全連線,任何未通過安全連線的現有加密連線 系統將中斷「僅限安全連線」模式的安全性要求。
要求
名稱 | 類型 |
---|---|
le_security_mode |
fuchsia.bluetooth.sys/LeSecurityMode
|
SetLocalData
將本機資料指派給這個主機。
要求
名稱 | 類型 |
---|---|
payload |
fuchsia.bluetooth.sys/HostData
|
SetLocalName
設定這個主機裝置的本機名稱。
要求
名稱 | 類型 |
---|---|
local_name |
fuchsia.bluetooth/DeviceName
|
回應
名稱 | 類型 |
---|---|
payload |
Host_SetLocalName_Result
|
SetPairingDelegate
使用指定的 I/O 功能。呼叫這個方法會取消任何已開始的配對程序 也就是先前的委派代表如未指定 PairingDelegate,則系統會拒絕配對要求 。
要求
名稱 | 類型 |
---|---|
input |
fuchsia.bluetooth.sys/InputCapability
|
output |
fuchsia.bluetooth.sys/OutputCapability
|
delegate |
fuchsia.bluetooth.sys/PairingDelegate
|
SetPeerWatcher
設定 PeerWatcher 通訊協定,用於接收同類應用程式變更的通知。 一次只能設定 1 個 PeerWatcher。
要求
名稱 | 類型 |
---|---|
peer_watcher |
server_end<PeerWatcher>
|
關機
關閉主機,結束所有啟用中的藍牙程序:
- 與這個主機相關聯的所有 FIDL 介面控制代碼都已關閉,且全部關閉 透過 FIDL 用戶端啟動的連線會中斷。
- 所有掃描、探索和廣告程序都會停止,
- 系統會清除綁定裝置,並從自動連線清單中移除。
- 自動連線的周邊裝置已中斷連線,
這麼做可有效將主機重設為初始狀態,而主機會保留 來處理日後的要求
主機將繼續傳送 OnDeviceUpdated 事件,以完成程序 已經終止。
關機完畢後,主機通訊協定就會關閉。
要求
<空白>
StartDiscovery
啟動 BR/EDR 和 LE 裝置的一般探索程序。成功時,發現
對等互連可以使用 fuchsia.bluetooth.host/Host.WatchPeers 方法監控。發生錯誤時:
系統會從 token
傳回 Epitaph 服務。如果裝置不支援 BR/EDR,只能使用 LE
探索和探索
使用 LE 傳輸時,系統只會回報一般可供偵測和可連線的周邊裝置。
探索功能會持續執行,直到所有探索工作階段都關閉為止。
- 要求
token
只要處於開放狀態的 DiscoverySession 通訊協定, 建議啟用探索功能。如果沒有其他工作階段,關閉後就會停止探索 已開啟。
要求
名稱 | 類型 |
---|---|
payload |
HostStartDiscoveryRequest
|
WatchState
傳回由這個主機管理的藍牙主機子系統和控制器相關資訊 執行個體。如果上次呼叫此方法後狀態沒有變化,則 因此回應將會延後,直到出現變更為止。
傳回的 info
結構將填入 bt 主機的目前狀態
裝置。但系統一律不會填入 active
參數。這是管理的欄位
也就是從較高層級著手
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
Host_WatchState_Result
|
PeerWatcher
在 fuchsia.bluetooth.host/host.fidl 中定義的
GetNext
取得下一個同類應用程式的最新資訊。要求會等候下一次更新。
要求
<空白>
回應
名稱 | 類型 |
---|---|
payload |
PeerWatcher_GetNext_Result
|
接收器
在 fuchsia.bluetooth.host/host.fidl 中定義的
接收依通訊協定發出的 BIT 主機,用於藍牙主機子系統
AddHost
新增 bt-host。如果無法處理 request
,請將其關閉。
要求
名稱 | 類型 |
---|---|
request |
Host
|
結構
BondingDelegate_RestoreBonds_Response
在 fuchsia.bluetooth.host/host.fidl 中定義的
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
errors |
vector<fuchsia.bluetooth.sys/BondingData>
|
無預設 |
Host_Connect_Response
在 fuchsia.bluetooth.host/host.fidl 中定義的
<空白>
Host_Disconnect_Response
在 fuchsia.bluetooth.host/host.fidl 中定義的
<空白>
Host_Forget_Response
在 fuchsia.bluetooth.host/host.fidl 中定義的
<空白>
Host_Pair_Response
在 fuchsia.bluetooth.host/host.fidl 中定義的
<空白>
Host_SetConnectable_Response
在 fuchsia.bluetooth.host/host.fidl 中定義的
<空白>
Host_SetDeviceClass_Response
在 fuchsia.bluetooth.host/host.fidl 中定義的
<空白>
Host_SetDiscoverable_Response
在 fuchsia.bluetooth.host/host.fidl 中定義的
<空白>
Host_SetLocalName_Response
在 fuchsia.bluetooth.host/host.fidl 中定義的
<空白>
Host_WatchState_Response
在 fuchsia.bluetooth.host/host.fidl 中定義的
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
info |
fuchsia.bluetooth.sys/HostInfo
|
無預設 |
資料表
HostStartDiscoveryRequest 資源
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
token |
server_end<DiscoverySession>
|
必填。 |
聯合國
BondingDelegate_RestoreBonds_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
BondingDelegate_RestoreBonds_Response
|
|
3 |
framework_err |
internal
|
BondingDelegate_WatchBonds_Response 彈性
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
updated |
fuchsia.bluetooth.sys/BondingData
|
在對等互連資料的繫結資料新增/更新時接收通知。 |
2 |
removed |
fuchsia.bluetooth/PeerId
|
當驗證失敗而遭移除時,系統會發出通知。 |
BondingDelegate_WatchBonds_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
BondingDelegate_WatchBonds_Response
|
|
3 |
framework_err |
internal
|
Host_Connect_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Host_Connect_Response
|
|
2 |
err |
fuchsia.bluetooth.sys/Error
|
|
3 |
framework_err |
internal
|
Host_中斷連線_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Host_Disconnect_Response
|
|
2 |
err |
fuchsia.bluetooth.sys/Error
|
|
3 |
framework_err |
internal
|
Host_Forget_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Host_Forget_Response
|
|
2 |
err |
fuchsia.bluetooth.sys/Error
|
|
3 |
framework_err |
internal
|
Host_Pair_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Host_Pair_Response
|
|
2 |
err |
fuchsia.bluetooth.sys/Error
|
|
3 |
framework_err |
internal
|
Host_SetConnectable_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Host_SetConnectable_Response
|
|
2 |
err |
fuchsia.bluetooth.sys/Error
|
|
3 |
framework_err |
internal
|
Host_SetDeviceClass_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Host_SetDeviceClass_Response
|
|
2 |
err |
fuchsia.bluetooth.sys/Error
|
|
3 |
framework_err |
internal
|
Host_SetDiscoverable_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Host_SetDiscoverable_Response
|
|
2 |
err |
fuchsia.bluetooth.sys/Error
|
|
3 |
framework_err |
internal
|
Host_SetLocalName_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Host_SetLocalName_Response
|
|
2 |
err |
fuchsia.bluetooth.sys/Error
|
|
3 |
framework_err |
internal
|
Host_WatchState_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
Host_WatchState_Response
|
|
3 |
framework_err |
internal
|
PeerWatcher_GetNext_Response 彈性
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
updated |
vector<fuchsia.bluetooth.sys/Peer>
|
隨著在探索、連線期間取得新資訊,系統會新增和更新同業資料 建立和繫結程序。 |
2 |
removed |
vector<fuchsia.bluetooth/PeerId>
|
同類應用程式的移除方式為: a.明確透過 fuchsia.bluetooth.host.Host/Forget,或 b.bt-host 最近沒有偵測到同類應用程式,且對等互連尚未建立聯繫或沒有關係 |
PeerWatcher_GetNext_Result 嚴格
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
PeerWatcher_GetNext_Response
|
|
3 |
framework_err |
internal
|
ProtocolRequest 彈性 資源
在 fuchsia.bluetooth.host/host.fidl 中定義的
Ordinal | Variant | 類型 | 說明 |
---|---|---|---|
1 |
central |
server_end<fuchsia.bluetooth.le/Central>
|
|
2 |
peripheral |
server_end<fuchsia.bluetooth.le/Peripheral>
|
|
3 |
gatt_server |
server_end<fuchsia.bluetooth.gatt/Server>
|
|
4 |
gatt2_server |
server_end<fuchsia.bluetooth.gatt2/Server>
|
|
5 |
profile |
server_end<fuchsia.bluetooth.bredr/Profile>
|