pub enum DriverIndexRequest {
GetDriverInfo {
driver_filter: Vec<String>,
iterator: ServerEnd<DriverInfoIteratorMarker>,
control_handle: DriverIndexControlHandle,
},
GetCompositeNodeSpecs {
name_filter: Option<String>,
iterator: ServerEnd<CompositeNodeSpecIteratorMarker>,
control_handle: DriverIndexControlHandle,
},
DisableMatchWithDriverUrl {
driver_url: PackageUrl,
responder: DriverIndexDisableMatchWithDriverUrlResponder,
},
ReEnableMatchWithDriverUrl {
driver_url: PackageUrl,
responder: DriverIndexReEnableMatchWithDriverUrlResponder,
},
_UnknownMethod {
ordinal: u64,
control_handle: DriverIndexControlHandle,
method_type: MethodType,
},
}
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: DriverIndexControlHandle
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.
DisableMatchWithDriverUrl
Disable the given driver url from being returned as a match. When this is called, subsequent |fuchsia.driver.index.DriverIndex::MatchDriver| requests will not consider the driver with the given url. This can be used for all driver package types. The given driver url does not have to match existing drivers, it will apply even if the driver appears afterwards, for example through a |fuchsia.driver.registrar.Register| operation.
ReEnableMatchWithDriverUrl
Re-enables a given driver url, that was previously disabled with
|DisableMatchWithDriverUrl|, for matching again. This must be called for driver urls that
were previously disabled.
Will return ZX_ERR_NOT_FOUND if the driver_url
was not previously disabled.
_UnknownMethod
Fields
This variant is marked as non-exhaustive
control_handle: DriverIndexControlHandle
method_type: MethodType
An interaction was received which does not match any known method.
Implementations§
source§impl DriverIndexRequest
impl DriverIndexRequest
pub fn into_get_driver_info( self ) -> Option<(Vec<String>, ServerEnd<DriverInfoIteratorMarker>, DriverIndexControlHandle)>
pub fn into_get_composite_node_specs( self ) -> Option<(Option<String>, ServerEnd<CompositeNodeSpecIteratorMarker>, DriverIndexControlHandle)>
pub fn into_disable_match_with_driver_url( self ) -> Option<(PackageUrl, DriverIndexDisableMatchWithDriverUrlResponder)>
pub fn into_re_enable_match_with_driver_url( self ) -> Option<(PackageUrl, DriverIndexReEnableMatchWithDriverUrlResponder)>
sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL