PROTOCOLS
Driver
Defined in fuchsia.driver.framework/driver_host.fidl
Protocol through which a driver's lifecycle can be managed.
Closing the protocol's channel is used to signal:
- To the driver manager that the driver has stopped.
- To the driver that it should stop.
DriverHost
Defined in fuchsia.driver.framework/driver_host.fidl
Protocol through which a driver host can be managed.
Start
Start a driver within a driver host.
Request
Name | Type |
---|---|
start_args |
DriverStartArgs
|
driver |
request<Driver>
|
DriverIndex
Defined in fuchsia.driver.framework/driver_index.fidl
Protocol through which the driver index can be queried.
MatchDriver
Match a set of device arguments to a driver package URL.
Request
Name | Type |
---|---|
args |
NodeAddArgs
|
Response
Name | Type |
---|---|
result |
DriverIndex_MatchDriver_Result
|
Node
Defined in fuchsia.driver.framework/topology.fidl
Protocol through which a driver manages a node that it is bound to.
AddChild
Adds a child node to this node.
If node
is present, this driver takes responsibility for binding to
the newly created child. Otherwise, the driver framework will locate an
appropriate driver to bind the child to.
Request
Name | Type |
---|---|
args |
NodeAddArgs
|
controller |
request<NodeController>
|
node |
request<Node>?
|
NodeController
Defined in fuchsia.driver.framework/topology.fidl
Protocol through which a parent node controls one of its children.
Remove
Removes the node and all of its children.
Request
Name | Type |
---|
STRUCTS
DriverIndex_MatchDriver_Response
Defined in fuchsia.driver.framework/driver_index.fidl
Name | Type | Description | Default |
---|---|---|---|
url |
string[4096]
|
No default | |
matched_args |
NodeAddArgs
|
No default |
TABLES
DriverStartArgs
Defined in fuchsia.driver.framework/driver_host.fidl
Arguments for starting a driver.
Ordinal | Name | Type | Description |
---|---|---|---|
1 | node |
Node
|
Node that the driver is bound to. |
2 | offers |
vector<string>[64]
|
Offers provided to the driver, for |node|. These are names of FIDL protocols that can be accessed through |exposed_dir|. |
3 | symbols |
vector<NodeSymbol>[64]
|
Symbols provided to the driver, for |node|. These come from the driver that added |node|, and are filtered to the symbols requested in the bind program. |
4 | url |
fuchsia.url/Url
|
URL of the package containing the driver. This is purely informational, used only to provide data for inspect. |
5 | program |
fuchsia.data/Dictionary
|
Information about the driver to start. Currently, we support the following entries:
|
6 | ns |
vector<fuchsia.component.runner/ComponentNamespaceEntry>[32]
|
Incoming namespace provided to the driver. |
7 | outgoing_dir |
request<fuchsia.io/Directory>
|
Outgoing directory served by the driver. |
8 | exposed_dir |
fuchsia.io/Directory
|
Exposed directory provided to the driver, for |node|. |
NodeAddArgs
Defined in fuchsia.driver.framework/topology.fidl
Arguments for adding a node.
Ordinal | Name | Type | Description |
---|---|---|---|
1 | name |
string[128]
|
Name of the node. |
2 | offers |
vector<string>[64]
|
FIDL services to offer to the driver that is bound to this node. |
3 | symbols |
vector<NodeSymbol>[64]
|
Functions to provide to the driver that is bound to this node. |
4 | properties |
vector<NodeProperty>[64]
|
Properties of the node. |
NodeProperty
Defined in fuchsia.driver.framework/topology.fidl
Definition of a property for a node. A property is commonly used to match a node to a driver for driver binding.
Ordinal | Name | Type | Description |
---|---|---|---|
1 | key |
uint32
|
Key for the property. |
2 | value |
uint32
|
Value for the property. |
NodeSymbol
Defined in fuchsia.driver.framework/topology.fidl
Definition of a symbol provided by a driver for a node. A symbol is local to a driver host.
Ordinal | Name | Type | Description |
---|---|---|---|
1 | name |
string[128]
|
Name of the symbol. |
2 | address |
zx/vaddr
|
Virtual address of the symbol, within a driver host's process. |
UNIONS
DriverIndex_MatchDriver_Result
Defined in fuchsia.driver.framework/driver_index.fidl
Name | Type | Description |
---|---|---|
response |
DriverIndex_MatchDriver_Response
|
|
err |
zx/status
|
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
MAX_NODE_NAME_LENGTH |
128
|
uint8 |
|
MAX_OFFER_COUNT |
64
|
uint8 |
|
MAX_PROPERTY_COUNT |
64
|
uint8 |
|
MAX_SYMBOL_COUNT |
64
|
uint8 |
|
MAX_SYMBOL_NAME_LENGTH |
128
|
uint8 |
TYPE ALIASES
Name | Value | Description |
---|---|---|
NodePropertyKey |
string [256 ] |
|
NodePropertyValueBool |
bool |
|
NodePropertyValueEnum |
string [256 ] |
|
NodePropertyValueString |
string [256 ] |
|
NodePropertyValueUint |
uint32 |