pub struct UsbFunctionSynchronousProxy { /* private fields */ }Implementations§
Source§impl UsbFunctionSynchronousProxy
impl UsbFunctionSynchronousProxy
pub fn new(channel: Channel) -> Self
pub fn into_channel(self) -> Channel
Sourcepub fn wait_for_event(
&self,
deadline: MonotonicInstant,
) -> Result<UsbFunctionEvent, Error>
pub fn wait_for_event( &self, deadline: MonotonicInstant, ) -> Result<UsbFunctionEvent, Error>
Waits until an event arrives and returns it. It is safe for other threads to make concurrent requests while waiting for an event.
Sourcepub fn connect_to_endpoint(
&self,
ep_addr: u8,
ep: ServerEnd<EndpointMarker>,
___deadline: MonotonicInstant,
) -> Result<UsbFunctionConnectToEndpointResult, Error>
pub fn connect_to_endpoint( &self, ep_addr: u8, ep: ServerEnd<EndpointMarker>, ___deadline: MonotonicInstant, ) -> Result<UsbFunctionConnectToEndpointResult, Error>
Connects to endpoint. Returns
- ZX_ERR_NOT_FOUND: if endpoint address does not exist.
- ZX_ERR_ALREADY_BOUND: if the endpoint is already bound.
Sourcepub fn configure(
&self,
configuration: &[u8],
iface: ClientEnd<UsbFunctionInterfaceMarker>,
___deadline: MonotonicInstant,
) -> Result<UsbFunctionConfigureResult, Error>
pub fn configure( &self, configuration: &[u8], iface: ClientEnd<UsbFunctionInterfaceMarker>, ___deadline: MonotonicInstant, ) -> Result<UsbFunctionConfigureResult, Error>
Configures the function with the given descriptors.
configuration is a vector of USB descriptors to configure the function
with. The descriptors are concatenated together following the USB
specification to form the configuration.
iface provides the control-plane callbacks for the function.
The function is unregistered from the USB function manager when
iface is closed.
Any resource address and numbers referenced in configuration must have
been allocated by a previous call to AllocResources.
Returns ZX_ERR_INVALID_ARGS if the configuration is invalid.
Sourcepub fn deconfigure(
&self,
___deadline: MonotonicInstant,
) -> Result<UsbFunctionDeconfigureResult, Error>
pub fn deconfigure( &self, ___deadline: MonotonicInstant, ) -> Result<UsbFunctionDeconfigureResult, Error>
Deconfigures the function.
This is the opposite of Configure. The server drops its connection to
the function upon receiving the call, if it’s bound.
Returns after the function channel has been unbound from the server.
Trivially succeeds if no function interface is bound.
Returns ZX_ERR_UNAVAILABLE if a deconfiguration is already in
progress.
Sourcepub fn alloc_resources(
&self,
interface_count: u8,
endpoints: Vec<EndpointResource>,
strings: &[String],
___deadline: MonotonicInstant,
) -> Result<UsbFunctionAllocResourcesResult, Error>
pub fn alloc_resources( &self, interface_count: u8, endpoints: Vec<EndpointResource>, strings: &[String], ___deadline: MonotonicInstant, ) -> Result<UsbFunctionAllocResourcesResult, Error>
Allocates resources for the function.
This function is used to allocate resources for the function.
interface_count informs how many interfaces to create.
interface_nums returns the allocate interface numbers referencing
the requested interfaces.
endpoints is a vector of endpoints to allocate. The direction and
endpoint server end are provided.
endpoint_addrs returns a vector of the same size containing the
allocated endpoint addresses. On success the endpoint server ends are
connected to a server. Closed otherwise.
strings is a vector of strings to allocate.
string_indices returns a vector of the same size containing the
allocated string indices.
Returns the interface ids, endpoint ids, and string ids that were allocated. On error, no resources are allocated. Returns:
ZX_ERR_NO_RESOURCESif any resource namespace numbers are exhausted.
The allocated resource numbers and addresses remain allocated for the
lifetime of the connection to UsbFunction.
Sourcepub fn endpoint_set_stall(
&self,
endpoint_address: u8,
___deadline: MonotonicInstant,
) -> Result<UsbFunctionEndpointSetStallResult, Error>
pub fn endpoint_set_stall( &self, endpoint_address: u8, ___deadline: MonotonicInstant, ) -> Result<UsbFunctionEndpointSetStallResult, Error>
Sets stall state in an endpoint.
Returns
ZX_ERR_IO_NOT_PRESENT: If device is not running, disconnected, or inactive.ZX_ERR_NOT_FOUND: If endpoint address does not exist.
Sourcepub fn endpoint_clear_stall(
&self,
endpoint_address: u8,
___deadline: MonotonicInstant,
) -> Result<UsbFunctionEndpointClearStallResult, Error>
pub fn endpoint_clear_stall( &self, endpoint_address: u8, ___deadline: MonotonicInstant, ) -> Result<UsbFunctionEndpointClearStallResult, Error>
Clears stall state in an endpoint.
Returns
ZX_ERR_IO_NOT_PRESENT: If device is not running, disconnected, or inactive.ZX_ERR_NOT_FOUND: If endpoint address does not exist.
Sourcepub fn configure_endpoint(
&self,
endpoint_address: u8,
endpoint_configuration: &EndpointConfiguration,
___deadline: MonotonicInstant,
) -> Result<UsbFunctionConfigureEndpointResult, Error>
pub fn configure_endpoint( &self, endpoint_address: u8, endpoint_configuration: &EndpointConfiguration, ___deadline: MonotonicInstant, ) -> Result<UsbFunctionConfigureEndpointResult, Error>
Configure and enable an endpoint with the given configuration.
See usb20 9.6.6.
Returns
ZX_ERR_IO_NOT_PRESENT: If device is not running, disconnected, or inactive.ZX_ERR_NOT_FOUND: If endpoint address does not exist.ZX_ERR_INVALID_ARGS: If the configuration is invalid.
Sourcepub fn disable_endpoint(
&self,
endpoint_address: u8,
___deadline: MonotonicInstant,
) -> Result<UsbFunctionDisableEndpointResult, Error>
pub fn disable_endpoint( &self, endpoint_address: u8, ___deadline: MonotonicInstant, ) -> Result<UsbFunctionDisableEndpointResult, Error>
Disable an endpoint.
Returns
ZX_ERR_IO_NOT_PRESENT: If device is not running, disconnected, or inactive.ZX_ERR_NOT_FOUND: If endpoint address does not exist.
Trait Implementations§
Source§impl Debug for UsbFunctionSynchronousProxy
impl Debug for UsbFunctionSynchronousProxy
Source§impl From<Channel> for UsbFunctionSynchronousProxy
Available on Fuchsia only.
impl From<Channel> for UsbFunctionSynchronousProxy
Source§impl From<UsbFunctionSynchronousProxy> for NullableHandle
Available on Fuchsia only.
impl From<UsbFunctionSynchronousProxy> for NullableHandle
Source§fn from(value: UsbFunctionSynchronousProxy) -> Self
fn from(value: UsbFunctionSynchronousProxy) -> Self
Source§impl FromClient for UsbFunctionSynchronousProxy
Available on Fuchsia only.
impl FromClient for UsbFunctionSynchronousProxy
Source§type Protocol = UsbFunctionMarker
type Protocol = UsbFunctionMarker
Source§fn from_client(value: ClientEnd<UsbFunctionMarker>) -> Self
fn from_client(value: ClientEnd<UsbFunctionMarker>) -> Self
Source§impl SynchronousProxy for UsbFunctionSynchronousProxy
Available on Fuchsia only.
impl SynchronousProxy for UsbFunctionSynchronousProxy
Source§type Proxy = UsbFunctionProxy
type Proxy = UsbFunctionProxy
Source§type Protocol = UsbFunctionMarker
type Protocol = UsbFunctionMarker
Proxy controls.