Project: /_project.yaml Book: /_book.yaml
Defined in fuchsia.device.manager/administrator.fidl
Provides administration services for the device manager service and the device tree it controls.
Ask all devices to enter the suspend state indicated by flags
. Flags should be some combination of DEVICE_SUSPEND_FLAG_*
from the DDK.
Defined in fuchsia.device.manager/coordinator.fidl
Protocol for controlling devices in a devhost process from the devcoordinator
Bind the requested driver to this device. driver_path
is informational, but all calls to BindDriver/CreateDevice should use the same driver_path
each time they use a driver
VMO with the same contents. Returns a status
and optionally a channel to the driver's test output. test_output
will be not present unless the driver is configured to run its run_unit_tests hook, in which case the other end of the channel will have been passed to the driver.
Give this device a channel to its shadow in another process.
Ask devhost to unbind this device. On success, the remote end of this interface channel will close instead of returning a result.
Ask the devhost to complete the removal of this device, which previously had invoked |ScheduleRemove|. This is a special case that can be removed once |device_remove| invokes |unbind|.
Ask the devhost to remove this device. On success, the remote end of this interface channel will close instead of returning a result.
Ask devhost to suspend this device, using the target state indicated by flags
.
Inform devhost about the compatibility test status when compatibility tests fail or complete successfully.
Defined in fuchsia.device.manager/coordinator.fidl
Protocol for controlling a devhost process from the devcoordinator
Create a device in the devhost that only implements the device protocol and claims to support the given protocol_id
. This device will communicate with the devcoordinator via rpc
.
Create a device in the devhost representing the shadowed half of device in another devhost. This new device will communicate with the devcoordinator via rpc
, and with its other half via parent_proxy
.
The new device will have the given driver responsible for running its half of the driver‘s cross-process protocol. It’s create() method will be invoked, giving it access to parent_proxy
and proxy_args
.
parent_proxy, if present, will usually be a channel to the upper half of a shadowed device. The one exception is when this method is used to create the Platform Bus, in which case it will be a channel to a fuchsia.boot.Items protocol.
local_device_id
will be a unique value within the device's devhost
Introduce a composite device that has the given name and properties. components
will be a list of all of the composite's components, described using devhost local device ids. The order of the components will match the original composite creation request. The new device will communicate with devcoordinator via rpc
.
local_device_id
will be a unique value within the device's devhost, identifying the resulting composite device.
Defined in fuchsia.device.manager/coordinator.fidl
Interface for the devices in devhosts to coordinate with the devcoordinator.
Record the addition of a new device that can be communicated with via rpc
. For binding purposes, it is has properties props
. name
and driver_path
are informational and used for debugging. The device will have protocol_id
as its primary protocol id. args
should only be used for shadowed devices, and will be forwarded to the shadow device. client_remote
, if present, will be passed to the device as an open connection for the client. On success, the returned local_device_id
is the identifier assigned by devmgr.
Behaves as AddDevice, but marks the device as initially invisible. This means that it will not be visible to other devices or the devfs until it is later marked visible (via MakeVisible).
Requests the devcoordinator schedule the removal of this device, and the unbinding of its children. If |unbind_self| is true, the unbind hook for this device will also be called.
Requests the devcoordinator schedule the unbinding of this device's children.
Sent as the response to |Unbind|.
Sent as the response to |CompleteRemoval|.
Record the removal of this device.
Mark this device as visible.
Attempt to bind a driver against this device. If driver_path
is null, this will initiate the driver matching algorithm. TODO(teisenbe): Specify the behavior of invoking this multiple times. I believe the current behavior is a bug.
Returns the topological path of this device.
Requests that the firmware at the given path be loaded and returned.
Retrieve the metadata blob associated with this device and the given key.
Retrieve the metadata size associated with this device and the given key.
Add metadata blob associated with this device and the given key. TODO(teisenbe): Document the behavior of calling this twice with the same key. I believe the current behavior results in inaccessible data that is kept around for the lifetime of the device.
Behaves like AddMetadata, but instead of associating it with the requesting device, associates it with the device at device_path
. If the device at device_path
is not a child of the requesting device AND the requesting device is not running in the sys devhost, then this will fail.
Adds the given composite device. This causes the devcoordinator to try to match the components against the existing device tree, and to monitor all new device additions in order to find the components as they are created.
Watches a directory, receiving events of added messages on the watcher request channel. See fuchsia.io.Directory for more information.
Run Compatibility tests for the driver that binds to this device. The hook_wait_time is the time that the driver expects to take for each device hook in nanoseconds. Returns whether the compatibility tests started, and does not convey anything about the status of the test.
Defined in fuchsia.device.manager/debug.fidl
Dumps text debug information.
All methods dump ascii text into a VMO, this allows the caller the flexibility to decide how much data they want. Use the returned written
value to read the data, no string termination is guaranteed.
Print device tree into output
, returns bytes written
and bytes available
to write.
Print information about all drivers into output
, returns bytes written
and bytes available
to write.
Print all devices and their binding properties into output
, returns bytes written
and bytes available
to write.
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/coordinator.fidl
Defined in fuchsia.device.manager/coordinator.fidl
A part of a description of a DeviceComponent
Defined in fuchsia.device.manager/coordinator.fidl
A piece of a composite device
Type: uint32
Defined in fuchsia.device.manager/coordinator.fidl
A enum of CompatibilityTestStatus
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Defined in fuchsia.device.manager/generated
Type: uint32