class AllocEndpoint

Defined at line 235 of file fidling/gen/sdk/fidl/fuchsia.hardware.usb.dci/fuchsia.hardware.usb.dci/cpp/fidl/fuchsia.hardware.usb.dci/cpp/markers.h

Requests the DCI driver to allocate a physical endpoint.

This is used by the peripheral manager to dynamically allocate a physical

endpoint matching the requested `direction`, `endpoint_type`, and

`max_packet_size` specified in [`EndpointAllocationRequest`]. This method

must only be called if `GetHardwareInfo` reported `supports_dynamic_ep_sizing`

as true.

The allocation is atomic. If the DCI driver cannot satisfy the request,

it returns an error and no hardware state is modified.

Closing the `UsbDci` channel will automatically free all endpoints

allocated through it.

* error:

* `ZX_ERR_IO_NOT_PRESENT`: The DCI controller is not ready to take

allocation requests (for example, in controller drivers that update hardware

registers during allocation, if underlying hardware conditions such as power,

clocks, reset, or MMIO accessibility have not yet been met).

* `ZX_ERR_NO_RESOURCES`: No physical endpoints matching the request

are available.

* `ZX_ERR_NOT_SUPPORTED`: The DCI driver does not support dynamic

endpoint allocation.

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