iPXE
Data Structures | Defines | 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...

Defines

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

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.


Define Documentation

#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.

Referenced by usbio_start().

#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.

Referenced by usbio_interrupt_callback(), usbio_interrupt_open(), and usbio_interrupt_poll().

#define USBIO_RING_COUNT   64

USB I/O ring buffer size.

This is a policy decision.

Definition at line 50 of file usbio.h.

Referenced by usbio_bulk_in_poll(), usbio_bulk_out_poll(), usbio_control_poll(), usbio_endpoint_close(), usbio_endpoint_enqueue(), and usbio_interrupt_poll().


Enumeration Type Documentation

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.

                 {
        /** This is a message transfer */
        USBIO_MESSAGE = 0x01,
        /** This transfer requires zero-length packet termination */
        USBIO_ZLEN = 0x02,
};

Function Documentation

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )