fuchsia.driver.development

添加时间:17

协议

BootupWatcher

fuchsia.driver.development/development.fidl 中定义

用于监视启动完成时的界面,其中没有其他绑定和驱动程序启动 activity。

移除了:21 添加:20

WaitForBootup

请求

<EMPTY>

响应

<EMPTY>

CompositeInfoIterator

fuchsia.driver.development/iterators.fidl 中定义

用于对 CompositeList 进行分页。

GetNext

一次最多返回 100 个条目。如果不再保留任何合成,则返回空。

请求

<EMPTY>

响应

名称类型
composites vector<CompositeNodeInfo>

CompositeNodeSpecIterator

fuchsia.driver.development/iterators.fidl 中定义

GetNext

如果不再有节点组,则返回空。

请求

<EMPTY>

响应

名称类型
specs vector<fuchsia.driver.framework/CompositeInfo>

DriverInfoIterator

fuchsia.driver.development/iterators.fidl 中定义

GetNext

如果不再有条目,则返回空。

请求

<EMPTY>

响应

名称类型
drivers vector<fuchsia.driver.framework/DriverInfo>

经理

fuchsia.driver.development/development.fidl 中定义

驱动程序开发经理的接口。 此接口应仅用于开发,在发布 build 中应停用。

AddTestNode

在根节点下添加测试节点。

请求

名称类型
args TestNodeAddArgs

响应

名称类型
payload Manager_AddTestNode_Result

BindAllUnboundNodes

尝试绑定拓扑中的所有未绑定节点。返回成功的新绑定。

请求

<EMPTY>

响应

名称类型
payload Manager_BindAllUnboundNodes_Result

DisableDriver

停用具有给定驱动程序组件网址的驱动程序。 系统不会考虑将已停用的驱动程序与节点进行匹配。如果提供了 |package_hash|,则只有该特定版本的驱动程序软件包将被停用。否则,这适用于具有指定网址的驱动程序的所有现有版本。 如果没有驱动程序受到影响,则返回错误 ZX_ERR_NOT_FOUND。

请求

名称类型
driver_url fuchsia.url/Url
package_hash string[64]?

响应

名称类型
payload Manager_DisableDriver_Result

EnableDriver

启用具有给定驱动程序组件网址的驱动程序。 这仅用于还原 |DisableDriver| 操作。 如果没有驱动程序受到影响,则返回错误 ZX_ERR_NOT_FOUND。

请求

名称类型
driver_url fuchsia.url/Url
package_hash string[64]?

响应

名称类型
payload Manager_EnableDriver_Result

GetCompositeInfo

返回系统中的复合列表。这包括尚未组装到节点拓扑中的复合资源。

请求

名称类型
iterator server_end<CompositeInfoIterator>

GetCompositeNodeSpecs

返回系统已知的所有复合节点规范的列表。 如果提供了 |name_filter|,返回的列表将仅包含 1 个规范,即具有确切名称的规范。

|iterator| 会在错误时关闭,并显示以下记号:ZX_ERR_NOT_FOUND 表示没有规范,或者如果提供了 |name_filter|,则表示不存在具有该名称的规范。

请求

名称类型
name_filter string?
iterator server_end<CompositeNodeSpecIterator>

GetDriverInfo

返回系统已知的所有驱动程序的列表。 如果提供了 |driver_filter|,返回的列表将进行过滤,以仅包含过滤器中指定的驱动程序。

|iterator| 会在错误时关闭,并显示以下记号: ZX_ERR_NOT_FOUND 表示在 |driver_filter| 中,至少有 1 个驱动程序没有与给定路径匹配的驱动程序。ZX_ERR_BUFFER_TOO_SMALL 表示驱动程序的绑定程序长度超过指令数上限 (BIND_PROGRAM_INSTRUCTIONS)。

请求

名称类型
driver_filter vector<string>
iterator server_end<DriverInfoIterator>

GetNodeInfo

返回系统上运行的节点列表。

如果提供了 |node_filter|,则返回的列表将进行过滤,以仅包含过滤器中指定的节点。如果 |exact_match| 为 true,则过滤器必须与节点的拓扑路径完全匹配;否则,它会执行子字符串匹配。如果没有节点与过滤条件匹配,则列表将为空。

|iterator| 会在错误时关闭,并显示以下记号:ZX_ERR_BAD_PATH 表示给定路径无效。ZX_ERR_BUFFER_TOO_SMALL 表示给定路径过长,或者该节点的属性数量超过上限 (PROPERTIES_MAX)。

请求

名称类型
node_filter vector<string>
iterator server_end<NodeInfoIterator>
exact_match bool

RemoveTestNode

移除测试节点。系统会异步移除该节点,并且在返回结果时不一定会将其移除。

请求

名称类型
name string[1024]

响应

名称类型
payload Manager_RemoveTestNode_Result

RestartDriverHosts

重启包含 driver_url 所指定驱动程序的所有驱动程序主机,并返回已重启的驱动程序主机的数量。|rematch_flags| 将用于确定现有驱动程序应为哪些重启节点绑定,以及应为哪些重启节点再次执行匹配过程。

请求

名称类型
driver_url fuchsia.url/Url
rematch_flags RestartRematchFlags

响应

名称类型
payload Manager_RestartDriverHosts_Result

WaitForBootup

等待启动完成。

添加时间:21

请求

<EMPTY>

响应

<EMPTY>

NodeInfoIterator

fuchsia.driver.development/iterators.fidl 中定义

GetNext

如果不再有条目,则返回空。

请求

<EMPTY>

响应

名称类型
nodes vector<NodeInfo>

结构体

Manager_AddTestNode_Response

fuchsia.driver.development/development.fidl 中定义

<EMPTY>

Manager_BindAllUnboundNodes_Response

fuchsia.driver.development/development.fidl 中定义

字段类型说明默认
binding_result vector<NodeBindingInfo>[10]

因此而发生的新绑定的列表。

无默认设置

Manager_DisableDriver_Response

fuchsia.driver.development/development.fidl 中定义

<EMPTY>

Manager_EnableDriver_Response

fuchsia.driver.development/development.fidl 中定义

<EMPTY>

Manager_RemoveTestNode_Response

fuchsia.driver.development/development.fidl 中定义

<EMPTY>

Manager_RestartDriverHosts_Response

fuchsia.driver.development/development.fidl 中定义

字段类型说明默认
count uint32 无默认设置

CompositeNodeInfo

fuchsia.driver.development/types.fidl 中定义

包含复合节点的信息。

序数字段类型说明
parent_topological_paths vector<string>

此复合节点的父节点的拓扑路径,按索引排序。

topological_path string

所创建的复合节点的拓扑路径。如果未创建,则为空。

composite CompositeInfo

NodeBindingInfo

fuchsia.driver.development/types.fidl 中定义

有关与驱动程序或复合组件绑定的节点的信息。

序数字段类型说明
node_name string[1024]

节点的完整拓扑名称。

driver_url fuchsia.url/Url

这是绑定到节点的驱动程序的组件网址。如果存在此属性,则不得为 |composite_parents| 和 |legacy_composite_parents| 。

composite_parents vector<fuchsia.driver.framework/CompositeParent>

此节点绑定到的复合父级。 可以与 |legacy_composite_parents| 一起存在,但不能与 |driver_url| 一起存在。

legacy_composite_parents vector<fuchsia.driver.legacy/CompositeParent>

此节点绑定到的旧版复合父级。可以与 |composite_parents| 一起存在,但不能与 |driver_url| 一起存在。

NodeInfo

fuchsia.driver.development/types.fidl 中定义

序数字段类型说明
id uint64

用于标识节点的唯一 ID。

parent_ids vector<uint64>

代表父级的 ID 的列表。如果有多个,则为复合节点。

child_ids vector<uint64>

代表子项的 ID 的列表。

driver_host_koid zx/Koid

驱动程序所在的驱动程序主机的进程 KOID。

bound_driver_url fuchsia.url/Url

指向驱动程序组件清单的网址

versioned_info VersionedNodeInfo

所用驱动程序框架版本的特定信息。

已弃用:18 添加:17
moniker string[1024]

节点的相对集合名称。

添加时间:18
node_property_list vector<fuchsia.driver.framework/NodeProperty>[64]

节点的属性。

添加时间:18
offer_list vector<fuchsia.component.decl/Offer>

组件提供给节点。

添加时间:18

TestNodeAddArgs

fuchsia.driver.development/types.fidl 中定义

序数字段类型说明
name string[1024]

节点的名称。

properties vector<fuchsia.driver.framework/NodeProperty>[64]

节点的属性。

V1DeviceInfo

fuchsia.driver.development/types.fidl 中定义

已弃用:18 添加:17

序数字段类型说明
topological_path string[1024]

驱动程序的拓扑路径。

bound_driver_libname string[1024]

驱动程序共享库的路径。

property_list fuchsia.driver.legacy/DevicePropertyList

设备的属性。

flags fuchsia.driver.legacy/DeviceFlags

跟踪设备的状态。

protocol_id uint32

Banjo 协议 ID

protocol_name string

Banjo 协议名称

V2NodeInfo

fuchsia.driver.development/types.fidl 中定义

序数字段类型说明
moniker string[1024]

节点的相对集合名称。

node_property_list vector<fuchsia.driver.framework/NodeProperty>[64]

节点的属性。

offer_list vector<fuchsia.component.decl/Offer>

组件提供给节点。

联合体

CompositeInfo 严格

fuchsia.driver.development/types.fidl 中定义

包含复合或旧版复合的信息。

序数变体类型说明
legacy_composite fuchsia.driver.legacy/CompositeInfo
composite fuchsia.driver.framework/CompositeInfo

Manager_AddTestNode_Result strict

fuchsia.driver.development/development.fidl 中定义

序数变体类型说明
response Manager_AddTestNode_Response
err fuchsia.driver.framework/NodeError
framework_err internal

Manager_BindAllUnboundNodes_Result 严格

fuchsia.driver.development/development.fidl 中定义

序数变体类型说明
response Manager_BindAllUnboundNodes_Response
err zx/Status
framework_err internal

Manager_DisableDriver_Result 严格

fuchsia.driver.development/development.fidl 中定义

序数变体类型说明
response Manager_DisableDriver_Response
err zx/Status
framework_err internal

Manager_EnableDriver_Result 严格

fuchsia.driver.development/development.fidl 中定义

序数变体类型说明
response Manager_EnableDriver_Response
err zx/Status
framework_err internal

Manager_RemoveTestNode_Result strict

fuchsia.driver.development/development.fidl 中定义

序数变体类型说明
response Manager_RemoveTestNode_Response
err zx/Status
framework_err internal

Manager_RestartDriverHosts_Result strict

fuchsia.driver.development/development.fidl 中定义

序数变体类型说明
response Manager_RestartDriverHosts_Response
err zx/Status
framework_err internal

VersionedNodeInfo 柔性

fuchsia.driver.development/types.fidl 中定义

已弃用:18 添加:17
序数变体类型说明
v1 V1DeviceInfo
v2 V2NodeInfo

RestartRematchFlags 柔性环境

类型:uint32

fuchsia.driver.development/types.fidl 中定义

这些标志表示何时应对正在重启的节点进行 |fuchsia.driver.index.DriverIndex::MatchDriver| 调用,以便查找新驱动程序,而不是重复使用之前绑定到节点的驱动程序。

名称说明
1

重新匹配当前绑定到所请求驱动程序的节点。请求的驱动程序是发起重启操作的驱动程序网址。

2

重新匹配当前绑定到除请求的驱动程序之外的驱动程序的节点。这些节点会受请求的驱动程序重启(例如,当该驱动程序是共置父项时)影响的节点。

4

重新匹配属于旧版复合节点的节点。

8

重新匹配作为已完成的复合规范的一部分而创建的节点。

常量

名称类型说明
BINDING_RESULT_MAX 10 uint8
HASH_LENGTH 64 uint8
NODE_MONIKER_MAX 1024 uint32