pub enum DriverDevelopmentRequest {
GetDriverInfo {
driver_filter: Vec<String>,
iterator: ServerEnd<DriverInfoIteratorMarker>,
control_handle: DriverDevelopmentControlHandle,
},
GetCompositeNodeSpecs {
name_filter: Option<String>,
iterator: ServerEnd<CompositeNodeSpecIteratorMarker>,
control_handle: DriverDevelopmentControlHandle,
},
RestartDriverHosts {
driver_path: String,
responder: DriverDevelopmentRestartDriverHostsResponder,
},
GetDeviceInfo {
device_filter: Vec<String>,
iterator: ServerEnd<DeviceInfoIteratorMarker>,
exact_match: bool,
control_handle: DriverDevelopmentControlHandle,
},
GetCompositeInfo {
iterator: ServerEnd<CompositeInfoIteratorMarker>,
control_handle: DriverDevelopmentControlHandle,
},
BindAllUnboundNodes {
responder: DriverDevelopmentBindAllUnboundNodesResponder,
},
IsDfv2 {
responder: DriverDevelopmentIsDfv2Responder,
},
AddTestNode {
args: TestNodeAddArgs,
responder: DriverDevelopmentAddTestNodeResponder,
},
RemoveTestNode {
name: String,
responder: DriverDevelopmentRemoveTestNodeResponder,
},
}
Expand description
Interface for developing and debugging drivers. This interface should only be used for development and disabled in release builds.
Variants§
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).
GetCompositeNodeSpecs
Fields
iterator: ServerEnd<CompositeNodeSpecIteratorMarker>
control_handle: DriverDevelopmentControlHandle
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.
RestartDriverHosts
Restarts all driver hosts containing the driver specified by driver path
, and returns the
number of driver hosts that were restarted.
GetDeviceInfo
Returns the list of devices that are running on the system.
If a |device_filter| is provided, the returned list will be filtered to only include devices specified in the filter. If |exact_match| is true, then the filter must exactly match a device’s topological path; otherwise, it performs a substring match. The list will be empty if no devices 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 device has more than the maximum number of properties (PROPERTIES_MAX).
GetCompositeInfo
Fields
iterator: ServerEnd<CompositeInfoIteratorMarker>
control_handle: DriverDevelopmentControlHandle
Returns the list of composites in the system. This includes composites that are not yet assembled and added into the node topology.
BindAllUnboundNodes
Fields
(DFv2) Attempts to bind all unbound nodes in the topology. Returns new successful binds.
IsDfv2
Fields
responder: DriverDevelopmentIsDfv2Responder
AddTestNode
(DFv2) Adds test node under the root node.
RemoveTestNode
(DFv2) Removes the test node. The node is removed asynchronously and is not guaranteed to be removed by the time this returns.
Implementations§
source§impl DriverDevelopmentRequest
impl DriverDevelopmentRequest
pub fn into_get_driver_info( self ) -> Option<(Vec<String>, ServerEnd<DriverInfoIteratorMarker>, DriverDevelopmentControlHandle)>
pub fn into_get_composite_node_specs( self ) -> Option<(Option<String>, ServerEnd<CompositeNodeSpecIteratorMarker>, DriverDevelopmentControlHandle)>
pub fn into_restart_driver_hosts( self ) -> Option<(String, DriverDevelopmentRestartDriverHostsResponder)>
pub fn into_get_device_info( self ) -> Option<(Vec<String>, ServerEnd<DeviceInfoIteratorMarker>, bool, DriverDevelopmentControlHandle)>
pub fn into_get_composite_info( self ) -> Option<(ServerEnd<CompositeInfoIteratorMarker>, DriverDevelopmentControlHandle)>
pub fn into_bind_all_unbound_nodes( self ) -> Option<DriverDevelopmentBindAllUnboundNodesResponder>
pub fn into_is_dfv2(self) -> Option<DriverDevelopmentIsDfv2Responder>
pub fn into_add_test_node( self ) -> Option<(TestNodeAddArgs, DriverDevelopmentAddTestNodeResponder)>
pub fn into_remove_test_node( self ) -> Option<(String, DriverDevelopmentRemoveTestNodeResponder)>
sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL