class UsbInterface

Defined at line 28 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.h

This class represents a USB interface in a composite device.

Public Methods

zx::result<fidl::ClientEnd<fuchsia_io::Directory>> Create (zx_device_t * parent, UsbComposite * composite, const ddk::UsbProtocolClient & usb, fidl::ClientEnd<fuchsia_hardware_usb::Usb> usb_new, const usb_interface_descriptor_t * interface_desc, size_t desc_length, async_dispatcher_t * dispatcher, std::unique_ptr<UsbInterface> * out_interface)

Defined at line 20 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

void UsbInterface (zx_device_t * parent, UsbComposite * composite, const ddk::UsbProtocolClient & usb, fidl::ClientEnd<fuchsia_hardware_usb::Usb> usb_new, async_dispatcher_t * dispatcher)

Defined at line 33 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.h

void ConnectToEndpoint (ConnectToEndpointRequest & request, ConnectToEndpointCompleter::Sync & completer)

fuchsia_hardware_usb_new::Usb protocol implementation.

Defined at line 58 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.h

zx::result<fidl::ClientEnd<fuchsia_io::Directory>> Create (zx_device_t * parent, UsbComposite * composite, const ddk::UsbProtocolClient & usb, fidl::ClientEnd<fuchsia_hardware_usb::Usb> usb_new, const usb_interface_assoc_descriptor_t * assoc_desc, size_t desc_length, async_dispatcher_t * dispatcher, std::unique_ptr<UsbInterface> * out_interface)

Defined at line 64 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

uint8_t usb_class ()

Defined at line 108 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.h

uint8_t usb_subclass ()

Defined at line 109 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.h

uint8_t usb_protocol ()

Defined at line 110 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.h

zx_status_t DdkGetProtocol (uint32_t proto_id, void * out)

Device protocol implementation.

Defined at line 139 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

void DdkUnbind (ddk::UnbindTxn txn)

Defined at line 158 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

void DdkRelease ()

Defined at line 163 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbControlOut (uint8_t request_type, uint8_t request, uint16_t value, uint16_t index, int64_t timeout, const uint8_t * write_buffer, size_t write_size)

USB protocol implementation.

Defined at line 230 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbControlIn (uint8_t request_type, uint8_t request, uint16_t value, uint16_t index, int64_t timeout, uint8_t * out_read_buffer, size_t read_size, size_t * out_read_actual)

Defined at line 236 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

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

Defined at line 243 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

usb_speed_t UsbGetSpeed ()

Defined at line 248 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbSetInterface (uint8_t interface_number, uint8_t alt_setting)

Defined at line 250 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

uint8_t UsbGetConfiguration ()

Defined at line 254 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbSetConfiguration (uint8_t configuration)

Defined at line 256 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbEnableEndpoint (const usb_endpoint_descriptor_t * ep_desc, const usb_ss_ep_comp_descriptor_t * ss_com_desc, bool enable)

Defined at line 260 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbResetEndpoint (uint8_t ep_address)

Defined at line 266 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbResetDevice ()

Defined at line 270 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

size_t UsbGetMaxTransferSize (uint8_t ep_address)

Defined at line 272 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

uint32_t UsbGetDeviceId ()

Defined at line 276 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

void UsbGetDeviceDescriptor (usb_device_descriptor_t * out_desc)

Defined at line 278 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbGetConfigurationDescriptorLength (uint8_t configuration, size_t * out_length)

Defined at line 282 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbGetConfigurationDescriptor (uint8_t configuration, uint8_t * out_desc_buffer, size_t desc_size, size_t * out_desc_actual)

Defined at line 287 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

size_t UsbGetDescriptorsLength ()

Defined at line 294 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

void UsbGetDescriptors (uint8_t * out_descs_buffer, size_t descs_size, size_t * out_descs_actual)

Defined at line 296 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbGetStringDescriptor (uint8_t desc_id, uint16_t lang_id, uint16_t * out_lang_id, uint8_t * out_string_buffer, size_t string_size, size_t * out_string_actual)

Defined at line 332 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbCancelAll (uint8_t ep_address)

Defined at line 339 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

uint64_t UsbGetCurrentFrame ()

Defined at line 341 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

size_t UsbGetRequestSize ()

Defined at line 343 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

size_t UsbCompositeGetAdditionalDescriptorLength ()

USB composite protocol implementation.

Defined at line 306 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbCompositeGetAdditionalDescriptorList (uint8_t * out_desc_list, size_t desc_count, size_t * out_desc_actual)

Defined at line 325 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t UsbCompositeClaimInterface (const usb_interface_descriptor_t * desc, uint32_t length)

Defined at line 345 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

bool ContainsInterface (uint8_t interface_id)

Defined at line 369 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

zx_status_t SetAltSetting (uint8_t interface_id, uint8_t alt_setting)

Defined at line 384 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc

Friends

template <auto* descriptors>
class UsbInterfaceTest