class SetConfigured
Defined at line 93 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.function/fuchsia.hardware.usb.function/cpp/fidl/fuchsia.hardware.usb.function/cpp/markers.h
Inform the protocol server (of [`UsbFunctionInterface`]) when the USB device configured
state changes.
Called with `configured == true` in response to a `SET_CONFIGURATION` control request that
selects a configuration that contains this function. In this case, the protocol server
should use [`UsbFunction.ConfigureEndpoint`] to configure its endpoints.
Per USB 2.0 Specification Section 9.4.7, receiving a `SET_CONFIGURATION` request when the
function is already configured is valid and should reset/re-initialize the function state
rather than returning an error.
Called with `configured == false` when configuration is disabled or USB is disconnected.
The protocol server should then use [`UsbFunction.DisableEndpoint`] to disable its
endpoints.
The protocol server must perform all endpoint configuration/disabling and wait for those
calls to complete before replying to this method. This ensures that the protocol client can
report success/failure back to the host (by ACK'ing or STALL'ing the `SET_CONFIGURATION`
request).
Any error returned by this method causes the peripheral controller to stall Control
Endpoint 0, signaling a failure to the host (rejecting the `SET_CONFIGURATION` request).
* error:
* `ZX_ERR_BAD_STATE` if the device or function is in an uninitialized state where
configuration transitions are invalid (excluding re-configuring an active state).
* `ZX_ERR_INVALID_ARGS` if the speed or configuration parameters are invalid.
* `ZX_ERR_NOT_SUPPORTED` if the requested speed or configuration is unsupported.
* `ZX_ERR_NO_RESOURCES` if endpoint allocation or hardware configuration fails.
Public Members
static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal