Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Extensible Firmware Interface Specification
14-42 12/01/02 Version 1.10
Description
This function allows a USB device driver to communicate with the USB device through a Control
Transfer. There are three control transfer types according to the data phase. If the Direction
parameter is EfiUsbNoData, Data is NULL, and DataLength is 0, then no data phase exists
for the control transfer. If the Direction parameter is EfiUsbDataOut, then Data specifies
the data to be transmitted to the device, and DataLength specifies the number of bytes to transfer
to the device. In this case there is an OUT DATA stage followed by a SETUP stage. If the
Direction parameter is EfiUsbDataIn, then Data specifies the data that is received from the
device, and DataLength specifies the number of bytes to receive from the device. In this case
there is an IN DATA stage followed by a SETUP stage. After the USB transfer has completed
successfully, EFI_SUCCESS is returned. If the transfer cannot be completed due to timeout, then
EFI_TIMEOUT is returned. If an error other than timeout occurs during the USB transfer, then
EFI_DEVICE_ERROR is returned and the detailed status code is returned in Status.
Status Code Returned
EFI_SUCCESS The control transfer has been successfully executed.
EFI_INVALID_PARAMETER
The parameter
Direction is not valid.
EFI_INVALID_PARAMETER
Request is NULL.
EFI-INVALID_PARAMETER
Status is NULL.
EFI_OUT_OF_RESOURCES The request could not be completed due to a lack of resources.
EFI_TIMEOUT The control transfer fails due to timeout.
EFI_DEVICE_ERROR
The transfer failed. The transfer status is returned in
Status.