协议
BootupWatcher
在 fuchsia.driver.development/development.fidl 中定义
用于监视启动完成时的界面,其中没有其他绑定和驱动程序启动 activity。
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
等待启动完成。
请求
<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 中定义
包含复合节点的信息。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
parent_topological_paths |
vector<string>
|
此复合节点的父节点的拓扑路径,按索引排序。 |
2 |
topological_path |
string
|
所创建的复合节点的拓扑路径。如果未创建,则为空。 |
3 |
composite |
CompositeInfo
|
NodeBindingInfo
在 fuchsia.driver.development/types.fidl 中定义
有关与驱动程序或复合组件绑定的节点的信息。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
node_name |
string[1024]
|
节点的完整拓扑名称。 |
2 |
driver_url |
fuchsia.url/Url
|
这是绑定到节点的驱动程序的组件网址。如果存在此属性,则不得为 |composite_parents| 和 |legacy_composite_parents| 。 |
3 |
composite_parents |
vector<fuchsia.driver.framework/CompositeParent>
|
此节点绑定到的复合父级。 可以与 |legacy_composite_parents| 一起存在,但不能与 |driver_url| 一起存在。 |
4 |
legacy_composite_parents |
vector<fuchsia.driver.legacy/CompositeParent>
|
此节点绑定到的旧版复合父级。可以与 |composite_parents| 一起存在,但不能与 |driver_url| 一起存在。 |
NodeInfo
在 fuchsia.driver.development/types.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
id |
uint64
|
用于标识节点的唯一 ID。 |
2 |
parent_ids |
vector<uint64>
|
代表父级的 ID 的列表。如果有多个,则为复合节点。 |
3 |
child_ids |
vector<uint64>
|
代表子项的 ID 的列表。 |
4 |
driver_host_koid |
zx/Koid
|
驱动程序所在的驱动程序主机的进程 KOID。 |
5 |
bound_driver_url |
fuchsia.url/Url
|
指向驱动程序组件清单的网址 |
6 |
versioned_info |
VersionedNodeInfo
|
所用驱动程序框架版本的特定信息。 已弃用:18 添加:17
|
7 |
moniker |
string[1024]
|
节点的相对集合名称。 添加时间:18
|
8 |
node_property_list |
vector<fuchsia.driver.framework/NodeProperty>[64]
|
节点的属性。 添加时间:18
|
9 |
offer_list |
vector<fuchsia.component.decl/Offer>
|
组件提供给节点。 添加时间:18
|
TestNodeAddArgs
在 fuchsia.driver.development/types.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
name |
string[1024]
|
节点的名称。 |
2 |
properties |
vector<fuchsia.driver.framework/NodeProperty>[64]
|
节点的属性。 |
V1DeviceInfo
在 fuchsia.driver.development/types.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
topological_path |
string[1024]
|
驱动程序的拓扑路径。 |
2 |
bound_driver_libname |
string[1024]
|
驱动程序共享库的路径。 |
3 |
property_list |
fuchsia.driver.legacy/DevicePropertyList
|
设备的属性。 |
4 |
flags |
fuchsia.driver.legacy/DeviceFlags
|
跟踪设备的状态。 |
5 |
protocol_id |
uint32
|
Banjo 协议 ID |
6 |
protocol_name |
string
|
Banjo 协议名称 |
V2NodeInfo
在 fuchsia.driver.development/types.fidl 中定义
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
moniker |
string[1024]
|
节点的相对集合名称。 |
2 |
node_property_list |
vector<fuchsia.driver.framework/NodeProperty>[64]
|
节点的属性。 |
3 |
offer_list |
vector<fuchsia.component.decl/Offer>
|
组件提供给节点。 |
联合体
CompositeInfo 严格
在 fuchsia.driver.development/types.fidl 中定义
包含复合或旧版复合的信息。
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
legacy_composite |
fuchsia.driver.legacy/CompositeInfo
|
|
2 |
composite |
fuchsia.driver.framework/CompositeInfo
|
Manager_AddTestNode_Result strict
在 fuchsia.driver.development/development.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Manager_AddTestNode_Response
|
|
2 |
err |
fuchsia.driver.framework/NodeError
|
|
3 |
framework_err |
internal
|
Manager_BindAllUnboundNodes_Result 严格
在 fuchsia.driver.development/development.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Manager_BindAllUnboundNodes_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Manager_DisableDriver_Result 严格
在 fuchsia.driver.development/development.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Manager_DisableDriver_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Manager_EnableDriver_Result 严格
在 fuchsia.driver.development/development.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Manager_EnableDriver_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Manager_RemoveTestNode_Result strict
在 fuchsia.driver.development/development.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Manager_RemoveTestNode_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Manager_RestartDriverHosts_Result strict
在 fuchsia.driver.development/development.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
Manager_RestartDriverHosts_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
VersionedNodeInfo 柔性
在 fuchsia.driver.development/types.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
v1 |
V1DeviceInfo
|
|
2 |
v2 |
V2NodeInfo
|
位
RestartRematchFlags 柔性环境
类型:uint32
在 fuchsia.driver.development/types.fidl 中定义
这些标志表示何时应对正在重启的节点进行 |fuchsia.driver.index.DriverIndex::MatchDriver| 调用,以便查找新驱动程序,而不是重复使用之前绑定到节点的驱动程序。
名称 | 值 | 说明 |
---|---|---|
REQUESTED |
1 | 重新匹配当前绑定到所请求驱动程序的节点。请求的驱动程序是发起重启操作的驱动程序网址。 |
NON_REQUESTED |
2 | 重新匹配当前绑定到除请求的驱动程序之外的驱动程序的节点。这些节点会受请求的驱动程序重启(例如,当该驱动程序是共置父项时)影响的节点。 |
LEGACY_COMPOSITE |
4 | 重新匹配属于旧版复合节点的节点。 |
COMPOSITE_SPEC |
8 | 重新匹配作为已完成的复合规范的一部分而创建的节点。 |
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
BINDING_RESULT_MAX |
10
|
uint8 |
|
HASH_LENGTH |
64
|
uint8 |
|
NODE_MONIKER_MAX |
1024
|
uint32 |