iPXE
Data Structures | Macros | Enumerations | Functions
usbio.h File Reference

EFI_USB_IO_PROTOCOL pseudo Host Controller Interface driver. More...

#include <ipxe/list.h>
#include <ipxe/device.h>
#include <ipxe/efi/efi.h>
#include <ipxe/efi/Protocol/UsbIo.h>
#include <ipxe/efi/Protocol/DevicePath.h>
#include <ipxe/usb.h>

Go to the source code of this file.

Data Structures

struct  usbio_interrupt_ring
 A USB interrupt ring buffer. More...
 
struct  usbio_endpoint
 A USB I/O endpoint. More...
 
struct  usbio_operations
 USB I/O endpoint operations. More...
 
struct  usbio_interface
 A USB I/O protocol interface. More...
 
struct  usbio_device
 A USB I/O protocol device. More...
 

Macros

#define USBIO_MTU   16384
 USB I/O maximum transfer size. More...
 
#define USBIO_INTR_COUNT   4
 USB I/O interrupt ring buffer size. More...
 
#define USBIO_RING_COUNT   64
 USB I/O ring buffer size. More...
 

Enumerations

enum  usbio_flags { USBIO_MESSAGE = 0x01, USBIO_ZLEN = 0x02 }
 USB I/O transfer flags. More...
 

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 

Detailed Description

EFI_USB_IO_PROTOCOL pseudo Host Controller Interface driver.

Definition in file usbio.h.

Macro Definition Documentation

◆ USBIO_MTU

#define USBIO_MTU   16384

USB I/O maximum transfer size.

The API provides no way to discover the maximum transfer size. Assume the 16kB supported by EHCI.

Definition at line 24 of file usbio.h.

◆ USBIO_INTR_COUNT

#define USBIO_INTR_COUNT   4

USB I/O interrupt ring buffer size.

This is a policy decision.

Definition at line 30 of file usbio.h.

◆ USBIO_RING_COUNT

#define USBIO_RING_COUNT   64

USB I/O ring buffer size.

This is a policy decision.

Definition at line 50 of file usbio.h.

Enumeration Type Documentation

◆ usbio_flags

USB I/O transfer flags.

Enumerator
USBIO_MESSAGE 

This is a message transfer.

USBIO_ZLEN 

This transfer requires zero-length packet termination.

Definition at line 84 of file usbio.h.

84  {
85  /** This is a message transfer */
86  USBIO_MESSAGE = 0x01,
87  /** This transfer requires zero-length packet termination */
88  USBIO_ZLEN = 0x02,
89 };
This transfer requires zero-length packet termination.
Definition: usbio.h:88
This is a message transfer.
Definition: usbio.h:86

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )