PROTOCOLS
CompositeInfoIterator
Defined in fuchsia.driver.development/iterators.fidl
Used to page through a CompositeList.
GetNext
Returns up to 100 entries at a time. Returns empty when no more composites are left.
Request
<EMPTY>
Response
| Name | Type |
|---|---|
composites |
vector<CompositeNodeInfo>
|
CompositeNodeSpecIterator
Defined in fuchsia.driver.development/iterators.fidl
GetNext
Returns empty when no more node groups are left.
Request
<EMPTY>
Response
| Name | Type |
|---|---|
specs |
vector<fuchsia.driver.framework/CompositeInfo>
|
DriverHostInfoIterator
Defined in fuchsia.driver.development/iterators.fidl
GetNext
Returns empty when no more entries left.
Request
<EMPTY>
Response
| Name | Type |
|---|---|
driver_hosts |
vector<DriverHostInfo>
|
DriverInfoIterator
Defined in fuchsia.driver.development/iterators.fidl
GetNext
Returns empty when no more entries left.
Request
<EMPTY>
Response
| Name | Type |
|---|---|
drivers |
vector<fuchsia.driver.framework/DriverInfo>
|
Manager
Defined in fuchsia.driver.development/development.fidl
Interface for the driver development manager. This interface should only be used for development and disabled in release builds.
AddTestNode
Adds test node under the root node.
Request
| Name | Type |
|---|---|
args |
TestNodeAddArgs
|
Response
| Name | Type |
|---|---|
payload |
Manager_AddTestNode_Result
|
BindAllUnboundNodes
Attempts to bind all unbound nodes in the topology. Returns new successful binds.
Request
<EMPTY>
Response
| Name | Type |
|---|---|
payload |
Manager_BindAllUnboundNodes_Result
|
BindAllUnboundNodes2
Attempts to bind all unbound nodes in the topology. Returns new successful binds.
Request
<EMPTY>
Response
| Name | Type |
|---|---|
payload |
Manager_BindAllUnboundNodes2_Result
|
DisableDriver
Disables the driver with the given driver component url. Disabled drivers will not be considered for matching to nodes. If a |package_hash| is provided, only that specific version of the driver package will be disabled. Otherwise this applies to all existing versions of a driver with the given url. Returns an error ZX_ERR_NOT_FOUND if no drivers were affected.
Request
| Name | Type |
|---|---|
driver_url |
fuchsia.url/Url
|
package_hash |
string:64?
|
Response
| Name | Type |
|---|---|
payload |
Manager_DisableDriver_Result
|
EnableDriver
Enables the driver with the given driver component url. This is only meant to revert a |DisableDriver| action. Returns an error ZX_ERR_NOT_FOUND if no drivers were affected.
Request
| Name | Type |
|---|---|
driver_url |
fuchsia.url/Url
|
package_hash |
string:64?
|
Response
| Name | Type |
|---|---|
payload |
Manager_EnableDriver_Result
|
GetCompositeInfo
Returns the list of composites in the system. This includes composites that are not yet assembled and added into the node topology.
Request
| Name | Type |
|---|---|
iterator |
server_end:CompositeInfoIterator
|
GetCompositeNodeSpecs
Returns a list of all composite node specs that are known to the system. If a |name_filter| is provided, the returned list will only include 1 spec, the one with that exact name.
|iterator| is closed with following epitaphs on error: ZX_ERR_NOT_FOUND indicates that there are no specs or if a |name_filter| is provided, that there are no specs with that name.
Request
| Name | Type |
|---|---|
name_filter |
string?
|
iterator |
server_end:CompositeNodeSpecIterator
|
GetDriverHostInfo
Returns a list of all driver hosts that are known to the system.
Request
| Name | Type |
|---|---|
iterator |
server_end:DriverHostInfoIterator
|
GetDriverInfo
Returns a list of all drivers that are known to the system. If a |driver_filter| is provided, the returned list will be filtered to only include drivers specified in the filter.
|iterator| is closed with following epitaphs on error: ZX_ERR_NOT_FOUND indicates that there is no driver matching the given path for at least one driver in |driver_filter|. ZX_ERR_BUFFER_TOO_SMALL indicates that the driver's bind program is longer than the maximum number of instructions (BIND_PROGRAM_INSTRUCTIONS_MAX).
Request
| Name | Type |
|---|---|
driver_filter |
vector<string>
|
iterator |
server_end:DriverInfoIterator
|
GetNodeInfo
Returns the list of nodes that are running on the system.
If a |node_filter| is provided, the returned list will be filtered to only include nodes specified in the filter. If |exact_match| is true, then the filter must exactly match a node's topological path; otherwise, it performs a substring match. The list will be empty if no nodes match the filter.
|iterator| is closed with following epitaphs on error: ZX_ERR_BAD_PATH indicates that the given path is not valid. ZX_ERR_BUFFER_TOO_SMALL indicates either that the given path is too long, or that the node has more than the maximum number of properties (PROPERTIES_MAX).
Request
| Name | Type |
|---|---|
node_filter |
vector<string>
|
iterator |
server_end:NodeInfoIterator
|
exact_match |
bool
|
RebindCompositesWithDriver
Rebinds any composites and composite specs that have the given driver_url. This means the spec is rematched with possibly another driver, or none if the only matching driver is disabled, and any active nodes created from this spec are removed and re-bound.
Returns the number of affected composite nodes.
Request
| Name | Type |
|---|---|
driver_url |
fuchsia.url/Url
|
Response
| Name | Type |
|---|---|
payload |
Manager_RebindCompositesWithDriver_Result
|
RemoveTestNode
Removes the test node. The node is removed asynchronously and is not guaranteed to be removed by the time this returns.
Request
| Name | Type |
|---|---|
name |
string:1024
|
Response
| Name | Type |
|---|---|
payload |
Manager_RemoveTestNode_Result
|
RestartDriverHosts
Restarts all driver hosts containing the driver specified by the driver_url,
and returns the number of driver hosts that were restarted.
The |rematch_flags| will be used to decide for which restarting nodes the existing driver
should be bound vs. for which ones the matching process should be performed again.
Request
| Name | Type |
|---|---|
driver_url |
fuchsia.url/Url
|
rematch_flags |
RestartRematchFlags
|
Response
| Name | Type |
|---|---|
payload |
Manager_RestartDriverHosts_Result
|
RestartWithDictionary
Restarts the driver components bound to the nodes identified in |node_ids|, providing them with the given dictionary. All child nodes are also restarted and provided with this dictionary. This operation is temporary and is reversed by releasing the |release_fence| that is returned.
Request
| Name | Type |
|---|---|
moniker |
string:1024
|
dictionary |
fuchsia.component.sandbox/DictionaryRef
|
Response
| Name | Type |
|---|---|
payload |
Manager_RestartWithDictionary_Result
|
WaitForBootup
Waits for bootup to complete.
Request
<EMPTY>
Response
<EMPTY>
NodeInfoIterator
Defined in fuchsia.driver.development/iterators.fidl
GetNext
Returns empty when no more entries left.
Request
<EMPTY>
Response
| Name | Type |
|---|---|
nodes |
vector<NodeInfo>
|
STRUCTS
Manager_AddTestNode_Response
Defined in fuchsia.driver.development/development.fidl
<EMPTY>
Manager_BindAllUnboundNodes2_Response
Defined in fuchsia.driver.development/development.fidl
| Field | Type | Description | Default |
|---|---|---|---|
binding_result |
vector<NodeBindingInfo>:256
|
List of new bindings that happened as a result of this. |
No default |
Manager_BindAllUnboundNodes_Response
Defined in fuchsia.driver.development/development.fidl
| Field | Type | Description | Default |
|---|---|---|---|
binding_result |
vector<NodeBindingInfo>:10
|
List of new bindings that happened as a result of this. |
No default |
Manager_DisableDriver_Response
Defined in fuchsia.driver.development/development.fidl
<EMPTY>
Manager_EnableDriver_Response
Defined in fuchsia.driver.development/development.fidl
<EMPTY>
Manager_RebindCompositesWithDriver_Response
Defined in fuchsia.driver.development/development.fidl
| Field | Type | Description | Default |
|---|---|---|---|
count |
uint32
|
No default |
Manager_RemoveTestNode_Response
Defined in fuchsia.driver.development/development.fidl
<EMPTY>
Manager_RestartDriverHosts_Response
Defined in fuchsia.driver.development/development.fidl
| Field | Type | Description | Default |
|---|---|---|---|
count |
uint32
|
No default |
Manager_RestartWithDictionary_Response resource
Defined in fuchsia.driver.development/development.fidl
| Field | Type | Description | Default |
|---|---|---|---|
release_fence |
handle<eventpair>
|
The caller should keep this handle alive while the modified drivers are needed. Releasing this will reset the operation. |
No default |
TABLES
CompositeNodeInfo
Defined in fuchsia.driver.development/types.fidl
Contains information for a composite node.
| Ordinal | Field | Type | Description |
|---|---|---|---|
1 |
parent_topological_paths |
vector<string?>
|
The topological paths of the parent nodes of this composite, ordered by index. |
2 |
topological_path |
string
|
The topological path of the created composite node. Empty if not created. |
3 |
composite |
CompositeInfo
|
DispatcherInfo
Defined in fuchsia.driver.development/types.fidl
Contains information for a dispatcher.
| Ordinal | Field | Type | Description |
|---|---|---|---|
1 |
driver |
fuchsia.url/Url
|
The driver which created this dispatcher. |
2 |
name |
string
|
The name of the dispatcher. |
3 |
options |
uint32
|
The options the dispatcher was created with. |
4 |
scheduler_role |
string
|
The scheduler role of the dispatcher. |
DriverHostInfo
Defined in fuchsia.driver.development/types.fidl
Contains information for a driver host.
| Ordinal | Field | Type | Description |
|---|---|---|---|
1 |
process_koid |
zx/Koid
|
The process KOID of the driver host. |
2 |
threads |
vector<ThreadInfo>
|
The list of threads of the driver host. |
3 |
drivers |
vector<fuchsia.url/Url>
|
List of drivers loaded into this driver host. |
4 |
dispatchers |
vector<DispatcherInfo>
|
List of dispatchers . |
NodeBindingInfo
Defined in fuchsia.driver.development/types.fidl
Information about a node binding to either a driver or a composite.
| Ordinal | Field | Type | Description |
|---|---|---|---|
1 |
node_name |
string:1024
|
Full topological name of the node. |
2 |
driver_url |
fuchsia.url/Url
|
This is the component url for the driver that bound to the node. If this is present, then |composite_parents| must not be. |
3 |
composite_parents |
vector<fuchsia.driver.framework/CompositeParent>
|
The composite parents that this node binded to. If this is present, then |driver_url| must not be. |
NodeInfo
Defined in fuchsia.driver.development/types.fidl
| Ordinal | Field | Type | Description |
|---|---|---|---|
1 |
id |
uint64
|
Unique ID identifying the node. |
2 |
parent_ids |
vector<uint64>
|
List of ids representing parents. If more than one, this is a composite node. |
3 |
child_ids |
vector<uint64>
|
List of ids representing children. |
4 |
driver_host_koid |
zx/Koid
|
The process KOID of the driver host the driver resides within. |
5 |
bound_driver_url |
fuchsia.url/Url
|
URL to the driver component manifest |
7 |
moniker |
string:1024
|
The collection-relative moniker of the node. Added: 18
|
8 |
node_property_list |
vector<fuchsia.driver.framework/NodeProperty>:64
|
Properties of the node. Added: 18
|
9 |
offer_list |
vector<fuchsia.component.decl/Offer>
|
Component offers to the node. Added: 18
|
10 |
quarantined |
bool
|
Whether the node is in a quarantined state. That is, the |bound_driver_url| has failed to start, and the node is no longer running its driver instance. Added: 25
|
11 |
bus_topology |
vector<fuchsia.driver.framework/BusInfo>:20
|
Information about the node's bus topology. Added: 26
|
TestNodeAddArgs
Defined in fuchsia.driver.development/types.fidl
| Ordinal | Field | Type | Description |
|---|---|---|---|
1 |
name |
string:1024
|
Name of the node. |
2 |
properties |
vector<fuchsia.driver.framework/NodeProperty>:64
|
Properties of the node. |
ThreadInfo
Defined in fuchsia.driver.development/types.fidl
Contains information for a thread.
| Ordinal | Field | Type | Description |
|---|---|---|---|
1 |
koid |
zx/Koid
|
The koid for the thread. |
2 |
name |
string
|
The name of the thread. |
3 |
scheduler_role |
string
|
The scheduler role of the thread. |
UNIONS
CompositeInfo strict
Defined in fuchsia.driver.development/types.fidl
Contains information for a composite.
| Ordinal | Variant | Type | Description |
|---|---|---|---|
2 |
composite |
fuchsia.driver.framework/CompositeInfo
|
Manager_AddTestNode_Result strict
Defined in fuchsia.driver.development/development.fidl
| Ordinal | Variant | Type | Description |
|---|---|---|---|
1 |
response |
Manager_AddTestNode_Response
|
|
2 |
err |
fuchsia.driver.framework/NodeError
|
|
3 |
framework_err |
internal
|
Manager_BindAllUnboundNodes2_Result strict
Defined in fuchsia.driver.development/development.fidl
| Ordinal | Variant | Type | Description |
|---|---|---|---|
1 |
response |
Manager_BindAllUnboundNodes2_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Manager_BindAllUnboundNodes_Result strict
Defined in fuchsia.driver.development/development.fidl
| Ordinal | Variant | Type | Description |
|---|---|---|---|
1 |
response |
Manager_BindAllUnboundNodes_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Manager_DisableDriver_Result strict
Defined in fuchsia.driver.development/development.fidl
| Ordinal | Variant | Type | Description |
|---|---|---|---|
1 |
response |
Manager_DisableDriver_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Manager_EnableDriver_Result strict
Defined in fuchsia.driver.development/development.fidl
| Ordinal | Variant | Type | Description |
|---|---|---|---|
1 |
response |
Manager_EnableDriver_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Manager_RebindCompositesWithDriver_Result strict
Defined in fuchsia.driver.development/development.fidl
| Ordinal | Variant | Type | Description |
|---|---|---|---|
1 |
response |
Manager_RebindCompositesWithDriver_Response
|
|
2 |
err |
zx/Status
|
Manager_RemoveTestNode_Result strict
Defined in fuchsia.driver.development/development.fidl
| Ordinal | Variant | Type | Description |
|---|---|---|---|
1 |
response |
Manager_RemoveTestNode_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Manager_RestartDriverHosts_Result strict
Defined in fuchsia.driver.development/development.fidl
| Ordinal | Variant | Type | Description |
|---|---|---|---|
1 |
response |
Manager_RestartDriverHosts_Response
|
|
2 |
err |
zx/Status
|
|
3 |
framework_err |
internal
|
Manager_RestartWithDictionary_Result strict resource
Defined in fuchsia.driver.development/development.fidl
| Ordinal | Variant | Type | Description |
|---|---|---|---|
1 |
response |
Manager_RestartWithDictionary_Response
|
|
2 |
err |
zx/Status
|
BITS
RestartRematchFlags flexible
Type: uint32
Defined in fuchsia.driver.development/types.fidl
These flags indicate when a |fuchsia.driver.index.DriverIndex::MatchDriver| call should be made for a node that is restarting in order to find a new driver, instead of reusing the driver that was previously bound to the node.
| Name | Value | Description |
|---|---|---|
REQUESTED |
1 | Rematch nodes that are currently bound to the requested driver. The requested driver is the driver url that the restart operation was initiated for. |
NON_REQUESTED |
2 | Rematch nodes that are currently bound to a driver other than the requested driver. These are nodes that are affected by the restart of the requested driver, for example when it is a colocated parent. |
COMPOSITE_SPEC |
8 | Rematch nodes that are created as part of a completed composite spec. |
CONSTANTS
| Name | Value | Type | Description |
|---|---|---|---|
| BINDING_RESULT_MAX |
10
|
uint8 |
Removed: 28
|
| BINDING_RESULT_MAX_2 |
256
|
uint32 |
Added: 28
|
| HASH_LENGTH |
64
|
uint8 |
|
| MAX_SEGMENTS |
20
|
uint32 |
Added: 26
|
| NODE_MONIKER_MAX |
1024
|
uint32 |