24 #define USBIO_MTU 16384 30 #define USBIO_INTR_COUNT 4 50 #define USBIO_RING_COUNT 64 A USB I/O protocol interface.
struct usbio_interrupt_ring * intr
Interrupt ring buffer (if applicable)
struct usbio_device * usbio
USB I/O device.
struct device dev
Generic device.
The device path protocol as defined in UEFI 2.0.
The EFI_USB_IO_PROTOCOL provides four basic transfers types described in the USB 1....
This protocol can be used on any device handle to obtain generic path/location information concerning...
unsigned int cons
Consumer counter.
#define USBIO_RING_COUNT
USB I/O ring buffer size.
EFI_USB_IO_PROTOCOL * io
USB I/O protocol.
A doubly-linked list entry (or list head)
A USB interrupt ring buffer.
uint8_t flags[USBIO_RING_COUNT]
Flags.
FILE_LICENCE(GPL2_OR_LATER_OR_UBDL)
size_t len[USBIO_INTR_COUNT]
Lengths.
unsigned int interface
Containing interface number.
void(* poll)(struct usbio_endpoint *endpoint)
Poll endpoint.
EFI_HANDLE handle
EFI handle.
This transfer requires zero-length packet termination.
struct list_head endpoints
List of endpoints.
unsigned int count
Usage count.
struct usb_bus * bus
USB bus.
unsigned int prod
Producer counter.
EFI_USB_IO_PROTOCOL * io
USB I/O protocol.
uint8_t first
First interface number.
void(* close)(struct usbio_endpoint *endpoint)
Close endpoint.
EFI_DEVICE_PATH_PROTOCOL * path
Device path.
struct usbio_operations * op
USB I/O endpoint operations.
struct usb_configuration_descriptor * config
Configuration descriptor.
struct usbio_endpoint * endpoint
USB I/O endpoint.
unsigned int prod
Producer counter.
EFI Usb I/O Protocol as defined in UEFI specification.
A USB configuration descriptor.
struct usbio_interface * interface
USB I/O protocol interfaces.
#define USBIO_INTR_COUNT
USB I/O interrupt ring buffer size.
USB_DEVICE_PATH * usbpath
Final component of USB device path.
Universal Serial Bus (USB)
EFI_USB_IO_PROTOCOL * io
USB I/O protocol.
unsigned int cons
Consumer counter.
int(* open)(struct usbio_endpoint *endpoint)
Open endpoint.
struct list_head list
List of endpoints.
struct usb_endpoint * ep
USB endpoint.
void * data[USBIO_INTR_COUNT]
Data buffers.
EFI_HANDLE handle
EFI device handle.
A USB I/O protocol device.
USB I/O endpoint operations.
EFI_HANDLE handle
EFI device handle.
usbio_flags
USB I/O transfer flags.
This is a message transfer.
struct io_buffer * iobuf[USBIO_RING_COUNT]
I/O buffers.