fuchsia.driver.development

Added: 17

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.

Removed: 21 Added: 20

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

NameType
composites vector<CompositeNodeInfo>

CompositeNodeSpecIterator

Defined in fuchsia.driver.development/iterators.fidl

GetNext

Returns empty when no more node groups are left.

Request

<EMPTY>

Response

NameType
specs vector<fuchsia.driver.framework/CompositeInfo>

DriverInfoIterator

Defined in fuchsia.driver.development/iterators.fidl

GetNext

Returns empty when no more entries left.

Request

<EMPTY>

Response

NameType
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

NameType
args TestNodeAddArgs

Response

NameType
payload Manager_AddTestNode_Result

BindAllUnboundNodes

Attempts to bind all unbound nodes in the topology. Returns new successful binds.

Request

<EMPTY>

Response

NameType
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

NameType
driver_url fuchsia.url/Url
package_hash string:64?

Response

NameType
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

NameType
driver_url fuchsia.url/Url
package_hash string:64?

Response

NameType
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

NameType
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

NameType
name_filter string?
iterator server_end:CompositeNodeSpecIterator

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

NameType
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

NameType
node_filter vector<string>
iterator server_end:NodeInfoIterator
exact_match bool

RemoveTestNode

Removes the test node. The node is removed asynchronously and is not guaranteed to be removed by the time this returns.

Request

NameType
name string:1024

Response

NameType
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

NameType
driver_url fuchsia.url/Url
rematch_flags RestartRematchFlags

Response

NameType
payload Manager_RestartDriverHosts_Result

WaitForBootup

Waits for bootup to complete.

Added: 21

Request

<EMPTY>

Response

<EMPTY>

NodeInfoIterator

Defined in fuchsia.driver.development/iterators.fidl

GetNext

Returns empty when no more entries left.

Request

<EMPTY>

Response

NameType
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

FieldTypeDescriptionDefault
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_RemoveTestNode_Response

Defined in fuchsia.driver.development/development.fidl

<EMPTY>

Manager_RestartDriverHosts_Response

Defined in fuchsia.driver.development/development.fidl

FieldTypeDescriptionDefault
count uint32 No default

TABLES

CompositeNodeInfo

Defined in fuchsia.driver.development/types.fidl

Contains information for a composite node.

OrdinalFieldTypeDescription
parent_topological_paths vector<string?>

The topological paths of the parent nodes of this composite, ordered by index.

topological_path string

The topological path of the created composite node. Empty if not created.

composite CompositeInfo

NodeBindingInfo

Defined in fuchsia.driver.development/types.fidl

Information about a node binding to either a driver or a composite.

OrdinalFieldTypeDescription
node_name string:1024

Full topological name of the node.

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.

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

OrdinalFieldTypeDescription
id uint64

Unique ID identifying the node.

parent_ids vector<uint64>

List of ids representing parents. If more than one, this is a composite node.

child_ids vector<uint64>

List of ids representing children.

driver_host_koid zx/Koid

The process KOID of the driver host the driver resides within.

bound_driver_url fuchsia.url/Url

URL to the driver component manifest

moniker string:1024

The collection-relative moniker of the node.

Added: 18
node_property_list vector<fuchsia.driver.framework/NodeProperty>:64

Properties of the node.

Added: 18
offer_list vector<fuchsia.component.decl/Offer>

Component offers to the node.

Added: 18
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
bus_topology vector<fuchsia.driver.framework/BusInfo>:20

Information about the node's bus topology.

Added: NEXT

TestNodeAddArgs

Defined in fuchsia.driver.development/types.fidl

OrdinalFieldTypeDescription
name string:1024

Name of the node.

properties vector<fuchsia.driver.framework/NodeProperty>:64

Properties of the node.

UNIONS

CompositeInfo strict

Defined in fuchsia.driver.development/types.fidl

Contains information for a composite.

OrdinalVariantTypeDescription
composite fuchsia.driver.framework/CompositeInfo

Manager_AddTestNode_Result strict

Defined in fuchsia.driver.development/development.fidl

OrdinalVariantTypeDescription
response Manager_AddTestNode_Response
err fuchsia.driver.framework/NodeError
framework_err internal

Manager_BindAllUnboundNodes_Result strict

Defined in fuchsia.driver.development/development.fidl

OrdinalVariantTypeDescription
response Manager_BindAllUnboundNodes_Response
err zx/Status
framework_err internal

Manager_DisableDriver_Result strict

Defined in fuchsia.driver.development/development.fidl

OrdinalVariantTypeDescription
response Manager_DisableDriver_Response
err zx/Status
framework_err internal

Manager_EnableDriver_Result strict

Defined in fuchsia.driver.development/development.fidl

OrdinalVariantTypeDescription
response Manager_EnableDriver_Response
err zx/Status
framework_err internal

Manager_RemoveTestNode_Result strict

Defined in fuchsia.driver.development/development.fidl

OrdinalVariantTypeDescription
response Manager_RemoveTestNode_Response
err zx/Status
framework_err internal

Manager_RestartDriverHosts_Result strict

Defined in fuchsia.driver.development/development.fidl

OrdinalVariantTypeDescription
response Manager_RestartDriverHosts_Response
err zx/Status
framework_err internal

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.

NameValueDescription
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.

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.

8

Rematch nodes that are created as part of a completed composite spec.

CONSTANTS

NameValueTypeDescription
BINDING_RESULT_MAX 10 uint8
HASH_LENGTH 64 uint8
MAX_SEGMENTS 20 uint32
Added: NEXT
NODE_MONIKER_MAX 1024 uint32