class UsbHciProtocolClient

Defined at line 188 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

Public Members

static const uint32_t kProtocolId

Public Methods

void UsbHciProtocolClient ()

Defined at line 193 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

void UsbHciProtocolClient (const usb_hci_protocol_t * proto)

Defined at line 195 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

void UsbHciProtocolClient (zx_device_t * parent)

Defined at line 198 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

void UsbHciProtocolClient (zx_device_t * parent, const char * fragment_name)

Defined at line 209 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

zx_status_t CreateFromDevice (zx_device_t * parent, UsbHciProtocolClient * result)

Create a UsbHciProtocolClient from the given parent device + "fragment".

If ZX_OK is returned, the created object will be initialized in |result|.

Defined at line 223 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

zx_status_t CreateFromDevice (zx_device_t * parent, const char * fragment_name, UsbHciProtocolClient * result)

Create a UsbHciProtocolClient from the given parent device.

If ZX_OK is returned, the created object will be initialized in |result|.

Defined at line 238 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

void GetProto (usb_hci_protocol_t * proto)

Defined at line 250 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

bool is_valid ()

Defined at line 254 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

void clear ()

Defined at line 257 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

void RequestQueue (usb_request_t * usb_request, const usb_request_complete_callback_t * complete_cb)

Queues a USB request with the HCI driver.

The client must allocate sufficient space in the request object

by using the GetRequestSize() method.

Once the request is queued, the HCI driver owns it until the callback is invoked.

Defined at line 266 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

void SetBusInterface (void * bus_intf_ctx, const usb_bus_interface_protocol_ops_t * bus_intf_ops)

Registers callbacks to the USB bus driver with the HCI driver.

Defined at line 271 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

uint64_t GetMaxDeviceCount ()

Returns the maximum number of USB devices that might be connected to the controller.

Defined at line 281 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

zx_status_t EnableEndpoint (uint32_t device_id, const usb_endpoint_descriptor_t * ep_desc, const usb_ss_ep_comp_descriptor_t * ss_com_desc, bool enable)

Enables or disables an endpoint using parameters derived from |ep_desc|.

Defined at line 286 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

uint64_t GetCurrentFrame ()

Returns the current frame (in milliseconds), used for isochronous transfers.

Defined at line 291 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

zx_status_t ConfigureHub (uint32_t device_id, usb_speed_t speed, const usb_hub_descriptor_t * desc, bool multi_tt)

Called by the USB hub driver to configure a newly enumerated USB hub.

Defined at line 296 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

zx_status_t HubDeviceAdded (uint32_t device_id, uint32_t port, usb_speed_t speed)

Called by the USB hub driver when a new device is attached.

Defined at line 301 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

zx_status_t HubDeviceRemoved (uint32_t device_id, uint32_t port)

Called by the USB hub driver when a device has been removed.

Defined at line 306 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

zx_status_t HubDeviceReset (uint32_t device_id, uint32_t port)

Called by the USB hub driver when a device has been reset.

Defined at line 311 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

zx_status_t ResetEndpoint (uint32_t device_id, uint8_t ep_address)

Resets an endpoint on the specified device.

Defined at line 316 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

zx_status_t ResetDevice (uint32_t hub_address, uint32_t device_id)

Resets the specified device.

Defined at line 321 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

uint64_t GetMaxTransferSize (uint32_t device_id, uint8_t ep_address)

Returns the maximum size of a packet that can be queued on the specified endpoint.

Defined at line 326 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

zx_status_t CancelAll (uint32_t device_id, uint8_t ep_address)

Cancels all transactions currently queued on the specified endpoint.

Defined at line 331 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h

uint64_t GetRequestSize ()

Returns the size needed for a |usb_request_t|, including private storage needed by the

HCI driver.

Defined at line 337 of file fidling/gen/sdk/banjo/fuchsia.hardware.usb.hci/fuchsia.hardware.usb.hci/banjo/cpp/fuchsia/hardware/usb/hci/cpp/banjo.h