/** @file\r
- Defines the PEI_USB_IO_PPI that the USB-related PEIM can use for I/O operations \r
- on the USB BUS. This interface enables recovery from a \r
- USB-class storage device, such as USB CD/DVD, USB hard drive, or USB FLASH \r
+ Defines the PEI_USB_IO_PPI that the USB-related PEIM can use for I/O operations\r
+ on the USB BUS. This interface enables recovery from a\r
+ USB-class storage device, such as USB CD/DVD, USB hard drive, or USB FLASH\r
drive. These interfaces are modeled on the UEFI 2.3 specification EFI_USB_IO_PROTOCOL.\r
- Refer to section 16.2.4 of the UEFI 2.3 Specification for more information on \r
+ Refer to section 16.2.4 of the UEFI 2.3 Specification for more information on\r
these interfaces.\r
\r
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions\r
-of the BSD License which accompanies this distribution. The\r
-full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
\r
@param[in] PeiServices The pointer to the PEI Services Table.\r
@param[in] This The pointer to this instance of the PEI_USB_IO_PPI.\r
- @param[in] Request A pointer to the USB device request that will be \r
+ @param[in] Request A pointer to the USB device request that will be\r
sent to the USB device.\r
- @param[in] Direction Specifies the data direction for the transfer. There \r
- are three values available: \r
+ @param[in] Direction Specifies the data direction for the transfer. There\r
+ are three values available:\r
EfiUsbDataIn, EfiUsbDataOut and EfiUsbNoData.\r
- @param[in] TimeOut Indicates the maximum time, in milliseconds, that \r
+ @param[in] Timeout Indicates the maximum time, in milliseconds, that\r
the transfer is allowed to complete.\r
- @param[in,out] Data A pointer to the buffer of data that will be \r
+ If Timeout is 0, then the caller must wait for the\r
+ function to be completed until EFI_SUCCESS or\r
+ EFI_DEVICE_ERROR is returned.\r
+ @param[in,out] Data A pointer to the buffer of data that will be\r
transmitted to or received from the USB device.\r
- @param[in] DataLength On input, indicates the size, in bytes, of the data \r
+ @param[in] DataLength On input, indicates the size, in bytes, of the data\r
buffer specified by Data.\r
- \r
+\r
@retval EFI_SUCCESS The control transfer was completed successfully.\r
@retval EFI_INVALID_PARAMETER Some parameters are invalid.\r
- @retval EFI_OUT_OF_RESOURCES The control transfer could not be completed due \r
+ @retval EFI_OUT_OF_RESOURCES The control transfer could not be completed due\r
to a lack of resources.\r
@retval EFI_TIMEOUT The control transfer failed due to timeout.\r
- @retval EFI_DEVICE_ERROR The control transfer failed due to host controller \r
+ @retval EFI_DEVICE_ERROR The control transfer failed due to host controller\r
or device error.\r
- Caller should check TransferResult for detailed \r
+ Caller should check TransferResult for detailed\r
error information.\r
\r
**/\r
\r
@param[in] PeiServices The pointer to the PEI Services Table.\r
@param[in] This The pointer to this instance of the PEI_USB_IO_PPI.\r
- @param[in] EndPointAddress The endpoint address.\r
+ @param[in] DeviceEndpoint The endpoint address.\r
@param[in] Data The data buffer to be transfered.\r
@param[in] DataLength The length of data buffer.\r
- @param[in] TimeOut The timeout for the transfer, in milliseconds.\r
+ @param[in] Timeout The timeout for the transfer, in milliseconds.\r
+ If Timeout is 0, then the caller must wait for the\r
+ function to be completed until EFI_SUCCESS or\r
+ EFI_DEVICE_ERROR is returned.\r
\r
@retval EFI_SUCCESS The bulk transfer completed successfully.\r
@retval EFI_INVALID_PARAMETER Some parameters are invalid.\r
- @retval EFI_OUT_OF_RESOURCES The bulk transfer could not be completed due to \r
+ @retval EFI_OUT_OF_RESOURCES The bulk transfer could not be completed due to\r
a lack of resources.\r
@retval EFI_TIMEOUT The bulk transfer failed due to timeout.\r
- @retval EFI_DEVICE_ERROR The bulk transfer failed due to host controller \r
+ @retval EFI_DEVICE_ERROR The bulk transfer failed due to host controller\r
or device error.\r
- Caller should check TransferResult for detailed \r
+ Caller should check TransferResult for detailed\r
error information.\r
\r
**/\r
\r
@retval EFI_SUCCESS The interface descriptor was returned.\r
@retval EFI_INVALID_PARAMETER Some parameters are invalid.\r
- @retval EFI_DEVICE_ERROR A device error occurred, the function failed to \r
+ @retval EFI_DEVICE_ERROR A device error occurred, the function failed to\r
get the interface descriptor.\r
\r
**/\r
\r
@retval EFI_SUCCESS The endpoint descriptor was returned.\r
@retval EFI_INVALID_PARAMETER Some parameters are invalid.\r
- @retval EFI_DEVICE_ERROR A device error occurred, the function failed to \r
+ @retval EFI_DEVICE_ERROR A device error occurred, the function failed to\r
get the endpoint descriptor.\r
\r
**/\r
///\r
/// This PPI contains a set of services to interact with the USB host controller.\r
/// These interfaces are modeled on the UEFI 2.3 specification EFI_USB_IO_PROTOCOL.\r
-/// Refer to section 16.2.4 of the UEFI 2.3 Specification for more information on \r
+/// Refer to section 16.2.4 of the UEFI 2.3 Specification for more information on\r
/// these interfaces.\r
///\r
struct _PEI_USB_IO_PPI {\r