MdeModulePkg[all]
0.98
|
Data Structures | |
struct | _PEI_USB_IO_PPI |
Macros | |
#define | PEI_USB_IO_PPI_GUID |
Typedefs | |
typedef struct _PEI_USB_IO_PPI | PEI_USB_IO_PPI |
typedef EFI_STATUS(EFIAPI * | PEI_USB_CONTROL_TRANSFER )(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *This, IN EFI_USB_DEVICE_REQUEST *Request, IN EFI_USB_DATA_DIRECTION Direction, IN UINT32 Timeout, IN OUT VOID *Data, IN UINTN DataLength) |
typedef EFI_STATUS(EFIAPI * | PEI_USB_BULK_TRANSFER )(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *This, IN UINT8 DeviceEndpoint, IN OUT VOID *Data, IN OUT UINTN *DataLength, IN UINTN Timeout) |
typedef EFI_STATUS(EFIAPI * | PEI_USB_GET_INTERFACE_DESCRIPTOR )(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *This, IN EFI_USB_INTERFACE_DESCRIPTOR **InterfaceDescriptor) |
typedef EFI_STATUS(EFIAPI * | PEI_USB_GET_ENDPOINT_DESCRIPTOR )(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *This, IN UINT8 EndpointIndex, IN EFI_USB_ENDPOINT_DESCRIPTOR **EndpointDescriptor) |
typedef EFI_STATUS(EFIAPI * | PEI_USB_PORT_RESET )(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *This) |
Variables | |
EFI_GUID | gPeiUsbIoPpiGuid |
Defines the PEI_USB_IO_PPI that the USB-related PEIM can use for I/O operations on the USB BUS. This interface enables recovery from a USB-class storage device, such as USB CD/DVD, USB hard drive, or USB FLASH drive. These interfaces are modeled on the UEFI 2.3 specification EFI_USB_IO_PROTOCOL. Refer to section 16.2.4 of the UEFI 2.3 Specification for more information on these interfaces.
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
#define PEI_USB_IO_PPI_GUID |
Global ID for the PEI_USB_IO_PPI.
typedef EFI_STATUS(EFIAPI * PEI_USB_BULK_TRANSFER)(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *This, IN UINT8 DeviceEndpoint, IN OUT VOID *Data, IN OUT UINTN *DataLength, IN UINTN Timeout) |
Submits bulk transfer to a target USB device.
[in] | PeiServices | The pointer to the PEI Services Table. |
[in] | This | The pointer to this instance of the PEI_USB_IO_PPI. |
[in] | DeviceEndpoint | The endpoint address. |
[in] | Data | The data buffer to be transfered. |
[in] | DataLength | The length of data buffer. |
[in] | Timeout | The timeout for the transfer, 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. |
EFI_SUCCESS | The bulk transfer completed successfully. |
EFI_INVALID_PARAMETER | Some parameters are invalid. |
EFI_OUT_OF_RESOURCES | The bulk transfer could not be completed due to a lack of resources. |
EFI_TIMEOUT | The bulk transfer failed due to timeout. |
EFI_DEVICE_ERROR | The bulk transfer failed due to host controller or device error. Caller should check TransferResult for detailed error information. |
typedef EFI_STATUS(EFIAPI * PEI_USB_CONTROL_TRANSFER)(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *This, IN EFI_USB_DEVICE_REQUEST *Request, IN EFI_USB_DATA_DIRECTION Direction, IN UINT32 Timeout, IN OUT VOID *Data, IN UINTN DataLength) |
Submits control transfer to a target USB device.
[in] | PeiServices | The pointer to the PEI Services Table. |
[in] | This | The pointer to this instance of the PEI_USB_IO_PPI. |
[in] | Request | A pointer to the USB device request that will be sent to the USB device. |
[in] | Direction | Specifies the data direction for the transfer. There are three values available: EfiUsbDataIn, EfiUsbDataOut and EfiUsbNoData. |
[in] | Timeout | Indicates the maximum time, in milliseconds, that the transfer is allowed to complete. If Timeout is 0, then the caller must wait for the function to be completed until EFI_SUCCESS or EFI_DEVICE_ERROR is returned. |
[in,out] | Data | A pointer to the buffer of data that will be transmitted to or received from the USB device. |
[in] | DataLength | On input, indicates the size, in bytes, of the data buffer specified by Data. |
EFI_SUCCESS | The control transfer was completed successfully. |
EFI_INVALID_PARAMETER | Some parameters are invalid. |
EFI_OUT_OF_RESOURCES | The control transfer could not be completed due to a lack of resources. |
EFI_TIMEOUT | The control transfer failed due to timeout. |
EFI_DEVICE_ERROR | The control transfer failed due to host controller or device error. Caller should check TransferResult for detailed error information. |
typedef EFI_STATUS(EFIAPI * PEI_USB_GET_ENDPOINT_DESCRIPTOR)(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *This, IN UINT8 EndpointIndex, IN EFI_USB_ENDPOINT_DESCRIPTOR **EndpointDescriptor) |
Get endpoint descriptor from a USB device.
[in] | PeiServices | The pointer to the PEI Services Table. |
[in] | This | The pointer to this instance of the PEI_USB_IO_PPI. |
[in] | EndPointIndex | The index of the end point. |
[in] | EndpointDescriptor | The endpoint descriptor. |
EFI_SUCCESS | The endpoint descriptor was returned. |
EFI_INVALID_PARAMETER | Some parameters are invalid. |
EFI_DEVICE_ERROR | A device error occurred, the function failed to get the endpoint descriptor. |
typedef EFI_STATUS(EFIAPI * PEI_USB_GET_INTERFACE_DESCRIPTOR)(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *This, IN EFI_USB_INTERFACE_DESCRIPTOR **InterfaceDescriptor) |
Get interface descriptor from a USB device.
[in] | PeiServices | The pointer to the PEI Services Table. |
[in] | This | The pointer to this instance of the PEI_USB_IO_PPI. |
[in] | InterfaceDescriptor | The interface descriptor. |
EFI_SUCCESS | The interface descriptor was returned. |
EFI_INVALID_PARAMETER | Some parameters are invalid. |
EFI_DEVICE_ERROR | A device error occurred, the function failed to get the interface descriptor. |
typedef struct _PEI_USB_IO_PPI PEI_USB_IO_PPI |
Forward declaration for the PEI_USB_IO_PPI.
typedef EFI_STATUS(EFIAPI * PEI_USB_PORT_RESET)(IN EFI_PEI_SERVICES **PeiServices, IN PEI_USB_IO_PPI *This) |
Issue a port reset to the device.
[in] | PeiServices | The pointer to the PEI Services Table. |
[in] | This | The pointer to this instance of the PEI_USB_IO_PPI. |
EFI_SUCCESS | The port reset was issued successfully. |
EFI_INVALID_PARAMETER | Some parameters are invalid. |
EFI_DEVICE_ERROR | Device error occurred. |
EFI_GUID gPeiUsbIoPpiGuid |