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 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_tdesc_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_trequest_type,uint8_trequest,uint16_tvalue,uint16_tindex,int64_ttimeout,const uint8_t *write_buffer,size_twrite_size)
USB protocol implementation.
Defined at line 230 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 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,boolenable)
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_tconfiguration,uint8_t *out_desc_buffer,size_tdesc_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_tdescs_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_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 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_tdesc_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