Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Protocols USB Support
Version 1.10 12/01/02 14-43
EFI_USB_IO_PROTOCOL.UsbBulkTransfer()
Summary
This function is used to manage a USB device with the bulk transfer pipe. Bulk Transfers are
typically used to transfer large amounts of data to/from USB devices.
Prototype
typedef
EFI_STATUS
(EFIAPI *EFI_USB_IO_BULK_TRANSFER) (
IN EFI_USB_IO_PROTOCOL *This,
IN UINT8 DeviceEndpoint,
IN OUT VOID *Data,
IN OUT UINTN *DataLength,
IN UINTN Timeout,
OUT UINT32 *Status
);
Parameters
This A pointer to the EFI_USB_IO_PROTOCOL instance. Type
EFI_USB_IO_PROTOCOL is defined in Section 14.2.5.
DeviceEndpoint The destination USB device endpoint to which the device request
is being sent. DeviceEndpoint must be between 0x01 and
0x0F or between 0x81 and 0x8F, otherwise
EFI_INVALID_PARAMETER is returned. If the endpoint is not a
BULK endpoint, EFI_INVALID_PARAMETER is returned. The
MSB of this parameter indicates the endpoint direction. The
number 1 stands for an IN endpoint, and 0 stands for an OUT
endpoint.
Data A pointer to the buffer of data that will be transmitted to USB
device or received from USB device.
DataLength On input, the size, in bytes, of the data buffer specified by Data.
On output, the number of bytes that were actually transferred.
Timeout Indicating the transfer should be completed within this time frame.
The units are in milliseconds. If Timeout is 0, then the caller
must wait for the function to be completed until EFI_SUCCESS
or EFI_DEVICE_ERROR is returned.
Status This parameter indicates the USB transfer status.