fuchsia.bluetooth.host

已添加:NEXT

协议

BondingDelegate

fuchsia.bluetooth.host/host.fidl 中定义

RestoreBonds

将现有的已绑定设备恢复到主机。系统将建立经过身份验证的会话 使用提供的绑定数据建立未来的连接。

如果 LE 传输的绑定数据可用,主机将建立连接 如果该同行向我们展示了相关广告。

如果 bonds 中的任何条目无法恢复,这些条目将在以下时间后返回: errors。对于格式不正确的条目以及已经 BT 主机所知。空 errors 列表表示所有键都已成功建立 已恢复。

请求

名称类型
bonds vector<fuchsia.bluetooth.sys/BondingData>

响应

名称类型
payload BondingDelegate_RestoreBonds_Result

WatchBonds

获取下一次绑定更新。该请求将挂起,直到下次更新为止。

请求

<空>

响应

名称类型
payload BondingDelegate_WatchBonds_Result

DiscoverySession

fuchsia.bluetooth.host/host.fidl 中定义

表示要启用发现的令牌协议。

停止

在服务器端关闭此 DiscoverySession,如果这是最后一次打开,则会结束 Discovery DiscoverySession。它可用于同步协议两端的闭包。 如果不需要同步,可以直接关闭 DiscoverySession 协议 。

请求

<空>

主机

fuchsia.bluetooth.host/host.fidl 中定义

用于与蓝牙主机设备交互的接口 (bt-host)

连接

使用标识符 id 建立与对等方的 BR/EDR 和/或 LE 连接:

  • 如果已知对等端支持 BR/EDR 传输,则其上的逻辑链路 将建立传输。如果连接尝试成功, 使用“RequestProfile()”注册的本地服务将提供给对等方 在对等设备上发现的传统服务将收到通知给本地服务 异步执行。

  • 如果已知对等设备支持 LE 传输,则其上的逻辑链路 将建立传输。如果连接尝试成功, 本地数据库(通过 RequestGattServer() 填充)中的 GATT 服务将变为 对等网络的可用性同样,在 Google Cloud 控制台上发现的远程 GATT 服务 对等方将可供拥有 gatt.Client 功能的用户和设备驱动程序使用 可以绑定到 bt-gatt-svc 类设备的应用。

程序的结果将通过 status 传达。如果远程设备 同时支持 BR/EDR 和 LE 传输,并且无法在两者上建立链路,则 系统将返回错误状态,且两个传输均不会连接。

请求

名称类型
id fuchsia.bluetooth/PeerId

响应

名称类型
payload Host_Connect_Result

断开连接

终止与远程对等方的所有连接(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

配对

使用提供的 idoptions 开始与对等端配对。如果没有,则返回错误 找到了与 id 连接的对等设备,或者配对过程失败。

如果 options 指定的安全等级高于当前配对,则此方法 尝试提高安全等级。否则,此方法不会产生任何影响并返回 成功。

注意:这旨在满足需要完成配对流程的测试场景 而无需依赖服务访问权限。在正常操作中,蓝牙安全保护 在服务访问期间强制执行。

请求

名称类型
id fuchsia.bluetooth/PeerId
options fuchsia.bluetooth.sys/PairingOptions

响应

名称类型
payload Host_Pair_Result

RequestProtocol

执行指定的协议请求。bt-host 将开始处理 FIDL 消息。如果 请求无法完成,则 BT 主机设备将关闭其给定通道的末端。

请求

名称类型
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 将返回一首墓碑。如果设备不支持 BR/EDR,则仅支持 LE 将执行发现。

在 LE 传输上,仅报告常规可检测且可连接的外围设备。

探索将会持续,直到所有探索会话结束。

  • 请求 token DiscoverySession 协议,只要该协议处于打开状态, 发现。如果关闭此会话,如果没有其他会话,系统会停止发现服务 处于打开状态。

请求

名称类型
payload HostStartDiscoveryRequest

WatchState

返回由该主机管理的蓝牙主机子系统和控制器的相关信息 实例。如果自上次调用此方法之后状态没有更改, 则响应将被延迟,直到发生更改为止。

返回的 info 结构将填充 bt-host 的当前状态 设备。但是,active 参数永远不会填充。此字段由系统管理 更高的层。

请求

<空>

响应

名称类型
payload Host_WatchState_Result

PeerWatcher

fuchsia.bluetooth.host/host.fidl 中定义

GetNext

获取下一次类似应用更新。该请求将挂起,直到下次更新为止。

请求

<空>

响应

名称类型
payload PeerWatcher_GetNext_Result

接收器

fuchsia.bluetooth.host/host.fidl 中定义

根据协议接收蓝牙主机,以便在蓝牙主机子系统中使用

AddHost

添加新的 bt 主机。如果无法处理 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字段类型说明
token server_end<DiscoverySession>

必填。

联合体

BondingDelegate_RestoreBonds_Result strict

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response BondingDelegate_RestoreBonds_Response
framework_err internal

BondingDelegate_WatchBonds_Response flexible

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
updated fuchsia.bluetooth.sys/BondingData

在对等方的绑定数据添加/更新时发送通知。

removed fuchsia.bluetooth/PeerId

因身份验证失败而导致绑定被移除时发送通知。

BondingDelegate_WatchBonds_Result 严格

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response BondingDelegate_WatchBonds_Response
framework_err internal

Host_Connect_Result 严格

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response Host_Connect_Response
err fuchsia.bluetooth.sys/Error
framework_err internal

Host_Disconnect_Result 严格

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response Host_Disconnect_Response
err fuchsia.bluetooth.sys/Error
framework_err internal

Host_Forget_Result 严格

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response Host_Forget_Response
err fuchsia.bluetooth.sys/Error
framework_err internal

Host_Pair_Result 严格

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response Host_Pair_Response
err fuchsia.bluetooth.sys/Error
framework_err internal

Host_SetConnectable_Result 严格

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response Host_SetConnectable_Response
err fuchsia.bluetooth.sys/Error
framework_err internal

Host_SetDeviceClass_Result strict

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response Host_SetDeviceClass_Response
err fuchsia.bluetooth.sys/Error
framework_err internal

Host_SetDiscoverable_Result 严格

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response Host_SetDiscoverable_Response
err fuchsia.bluetooth.sys/Error
framework_err internal

Host_SetLocalName_Result strict

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response Host_SetLocalName_Response
err fuchsia.bluetooth.sys/Error
framework_err internal

Host_WatchState_Result 严格

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response Host_WatchState_Response
framework_err internal

PeerWatcher_GetNext_Response 柔性

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
updated vector<fuchsia.bluetooth.sys/Peer>

在发现、连接期间获得新信息时,添加和更新对等节点 建立和键结程序。

removed vector<fuchsia.bluetooth/PeerId>

类似应用会被移除: a.通过 fuchsia.bluetooth.host.Host/Forget 明确进行;或 b.bt-host 最近未见到对等方,并且对等方未绑定或连接

PeerWatcher_GetNext_Result 严格

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
response PeerWatcher_GetNext_Response
framework_err internal

ProtocolRequest 灵活 资源

fuchsia.bluetooth.host/host.fidl 中定义

Ordinal变体类型说明
central server_end<fuchsia.bluetooth.le/Central>
peripheral server_end<fuchsia.bluetooth.le/Peripheral>
gatt_server server_end<fuchsia.bluetooth.gatt/Server>
gatt2_server server_end<fuchsia.bluetooth.gatt2/Server>
profile server_end<fuchsia.bluetooth.bredr/Profile>