pub enum DeviceControllerRequest {
    ConnectMultiplexed {
        server: Channel,
        include_node: bool,
        include_controller: bool,
        control_handle: DeviceControllerControlHandle,
    },
    ConnectToController {
        controller: ServerEnd<ControllerMarker>,
        control_handle: DeviceControllerControlHandle,
    },
    ConnectToDeviceProtocol {
        server: Channel,
        control_handle: DeviceControllerControlHandle,
    },
    BindDriver {
        driver_path: String,
        driver: Vmo,
        responder: DeviceControllerBindDriverResponder,
    },
    ConnectProxy_ {
        shadow: Channel,
        control_handle: DeviceControllerControlHandle,
    },
    Init {
        responder: DeviceControllerInitResponder,
    },
    Unbind {
        responder: DeviceControllerUnbindResponder,
    },
    CompleteRemoval {
        responder: DeviceControllerCompleteRemovalResponder,
    },
    Suspend {
        flags: u32,
        responder: DeviceControllerSuspendResponder,
    },
    Resume {
        target_system_state: u32,
        responder: DeviceControllerResumeResponder,
    },
}
Expand description

Protocol for controlling devices in a devhost process from the devcoordinator

Variants§

§

ConnectMultiplexed

Fields

§server: Channel
§include_node: bool
§include_controller: bool

Connect to the device’s FIDL, but also include other FIDLs multiplexed on the same channel.

  • request include_node if this is true then include fuchsia.io/Node on the channel.
  • request include_controller if this is true then include fuchsia.device/Controller on the channel.
§

ConnectToController

Fields

§controller: ServerEnd<ControllerMarker>

Connect to the device’s fuchsia.device/Controller API.

§

ConnectToDeviceProtocol

Fields

§server: Channel

Connect to the device’s API.

NOTE: This is not multiplexed with fuchsia.io/Node or fuchsia.device/Controller.

§

BindDriver

Fields

§driver_path: String
§driver: Vmo

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.

§

ConnectProxy_

Fields

§shadow: Channel

Give this device a channel to its shadow in another process.

§

Init

Ask devhost to call the device init hook.

§

Unbind

Ask devhost to unbind this device. On success, the remote end of this interface channel will close instead of returning a result.

§

CompleteRemoval

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.

§

Suspend

Ask devhost to suspend this device, using the target state indicated by flags.

§

Resume

Fields

§target_system_state: u32

Ask devhost to resume this device, using the target system state indicated by ‘target_system_state’.

Implementations§

Trait Implementations§

source§

impl Debug for DeviceControllerRequest

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more