PROTOCOLS
BootupWatcher
Defined in fuchsia.driver.development/development.fidl
Interface for watching when bootup is complete, in which there are no more bind and driver start activity.
WaitForBootup
Request
<EMPTY>
Response
<EMPTY>
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
|
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_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_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 |
|
HASH_LENGTH |
64
|
uint8 |
|
MAX_SEGMENTS |
20
|
uint32 |
Added: 26
|
NODE_MONIKER_MAX |
1024
|
uint32 |