class UsbFunction

Defined at line 28 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.h

This class represents a USB function in the peripheral role configurations.

USB function drivers bind to this.

Public Methods

void UsbFunction (size_t index, UsbPeripheral * peripheral, fuchsia_hardware_usb_peripheral::wire::FunctionDescriptor desc, uint8_t configuration, async_dispatcher_t * dispatcher)

Defined at line 31 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.h

uint8_t configuration ()

Defined at line 58 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.h

const usb_descriptor_header_t * GetDescriptors (size_t * out_length)

Defined at line 60 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.h

const fuchsia_hardware_usb_peripheral::wire::FunctionDescriptor & GetFunctionDescriptor ()

Defined at line 65 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.h

uint8_t GetNumInterfaces ()

Defined at line 70 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.h

zx_status_t UsbFunctionSetInterface (const usb_function_interface_protocol_t * interface)

UsbFunctionProtocol implementation.

Defined at line 109 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx_status_t UsbFunctionAllocInterface (uint8_t * out_intf_num)

Defined at line 160 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx_status_t UsbFunctionAllocEp (uint8_t direction, uint8_t * out_address)

Defined at line 165 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx_status_t UsbFunctionConfigEp (const usb_endpoint_descriptor_t * ep_desc, const usb_ss_ep_comp_descriptor_t * ss_comp_desc)

Defined at line 170 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx_status_t UsbFunctionDisableEp (uint8_t address)

Defined at line 210 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx_status_t UsbFunctionAllocStringDesc (const char * str, uint8_t * out_index)

Defined at line 229 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

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

Defined at line 234 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx_status_t UsbFunctionEpSetStall (uint8_t ep_address)

Defined at line 240 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx_status_t UsbFunctionEpClearStall (uint8_t ep_address)

Defined at line 259 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

size_t UsbFunctionGetRequestSize ()

Defined at line 278 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx_status_t SetConfigured (bool configured, usb_speed_t speed)

Defined at line 294 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx_status_t SetInterface (uint8_t interface, uint8_t alt_setting)

Defined at line 303 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx_status_t Control (const usb_setup_t * setup, const void * write_buffer, size_t write_size, void * read_buffer, size_t read_size, size_t * out_read_actual)

Defined at line 312 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx_status_t UsbFunctionCancelAll (uint8_t ep_address)

Defined at line 155 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

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

fuchsia_hardware_usb_function.UsbFunction protocol implementation.

Defined at line 283 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

zx::result<> AddChild (fidl::UnownedClientEnd<fuchsia_driver_framework::Node> parent, const std::string & child_node_name, const std::shared_ptr<fdf::Namespace> & incoming, const std::shared_ptr<fdf::OutgoingDirectory> & outgoing)

Defined at line 22 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.cc

bool registered ()

Defined at line 82 of file ../../src/devices/usb/drivers/usb-peripheral/usb-function.h