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_tdesc_length,async_dispatcher_t *dispatcher,std::unique_ptr<UsbInterface> *out_interface)
Defined at line 23 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_tdesc_length,async_dispatcher_t *dispatcher,std::unique_ptr<UsbInterface> *out_interface)
Defined at line 67 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 142 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
void DdkUnbind (ddk::UnbindTxn txn)
Defined at line 161 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
void DdkRelease ()
Defined at line 166 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
zx_status_t UsbControlOut (uint8_trequest_type,uint8_trequest,uint16_tvalue,uint16_tindex,int64_ttimeout,const uint8_t *write_buffer,size_twrite_size)
USB protocol implementation.
Defined at line 233 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
zx_status_t UsbControlIn (uint8_trequest_type,uint8_trequest,uint16_tvalue,uint16_tindex,int64_ttimeout,uint8_t *out_read_buffer,size_tread_size,size_t *out_read_actual)
Defined at line 239 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 246 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
usb_speed_t UsbGetSpeed ()
Defined at line 251 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 253 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
uint8_t UsbGetConfiguration ()
Defined at line 257 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
zx_status_t UsbSetConfiguration (uint8_t configuration)
Defined at line 259 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,boolenable)
Defined at line 263 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
zx_status_t UsbResetEndpoint (uint8_t ep_address)
Defined at line 269 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
zx_status_t UsbResetDevice ()
Defined at line 273 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
size_t UsbGetMaxTransferSize (uint8_t ep_address)
Defined at line 275 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
uint32_t UsbGetDeviceId ()
Defined at line 279 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
void UsbGetDeviceDescriptor (usb_device_descriptor_t * out_desc)
Defined at line 281 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 285 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
zx_status_t UsbGetConfigurationDescriptor (uint8_tconfiguration,uint8_t *out_desc_buffer,size_tdesc_size,size_t *out_desc_actual)
Defined at line 290 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
size_t UsbGetDescriptorsLength ()
Defined at line 297 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
void UsbGetDescriptors (uint8_t *out_descs_buffer,size_tdescs_size,size_t *out_descs_actual)
Defined at line 299 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
zx_status_t UsbGetStringDescriptor (uint8_tdesc_id,uint16_tlang_id,uint16_t *out_lang_id,uint8_t *out_string_buffer,size_tstring_size,size_t *out_string_actual)
Defined at line 335 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
zx_status_t UsbCancelAll (uint8_t ep_address)
Defined at line 342 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
uint64_t UsbGetCurrentFrame ()
Defined at line 344 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
size_t UsbGetRequestSize ()
Defined at line 346 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
size_t UsbCompositeGetAdditionalDescriptorLength ()
USB composite protocol implementation.
Defined at line 309 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
zx_status_t UsbCompositeGetAdditionalDescriptorList (uint8_t *out_desc_list,size_tdesc_count,size_t *out_desc_actual)
Defined at line 328 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 348 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
bool ContainsInterface (uint8_t interface_id)
Defined at line 372 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 387 of file ../../src/devices/usb/drivers/usb-composite/usb-interface.cc
Friends
template <auto* descriptors>
class UsbInterfaceTest