]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/UefiUsbLib.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / Library / UefiUsbLib.h
index 2a6730d76ac0d71b9cc8b9d3e88ad6a7573767f5..a8ab47aeff9bca17ad1719946d5cc930a3a713e6 100644 (file)
@@ -1,35 +1,22 @@
 /** @file\r
-  Provides most usb APIs to support the Hid requests defined in Usb Hid 1.1 spec\r
-  and the standard requests defined in Usb 1.1 spec.\r
+  Provides most USB APIs to support the Hid requests defined in USB Hid 1.1 spec\r
+  and the standard requests defined in USB 1.1 spec.\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The 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
+Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
-\r
 #ifndef __USB_DXE_LIB_H__\r
 #define __USB_DXE_LIB_H__\r
 \r
 #include <Protocol/UsbIo.h>\r
-#include <IndustryStandard/Usb.h>\r
-\r
-///\r
-/// define the timeout time as 3ms\r
-///\r
-#define TIMEOUT_VALUE 3 * 1000\r
 \r
 /**\r
   Get the descriptor of the specified USB HID interface.\r
 \r
-  Submit a USB get HID descriptor request for the USB device specified by UsbIo\r
-  and Interface and return the HID descriptor in HidDescriptor.\r
+  Submit a UsbGetHidDescriptor() request for the USB device specified by UsbIo\r
+  and Interface, and return the HID descriptor in HidDescriptor.\r
   If UsbIo is NULL, then ASSERT().\r
   If HidDescriptor is NULL, then ASSERT().\r
 \r
@@ -47,17 +34,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 EFI_STATUS\r
 EFIAPI\r
 UsbGetHidDescriptor (\r
-  IN  EFI_USB_IO_PROTOCOL        *UsbIo,\r
-  IN  UINT8                      Interface,\r
-  OUT EFI_USB_HID_DESCRIPTOR     *HidDescriptor\r
+  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
+  IN  UINT8                   Interface,\r
+  OUT EFI_USB_HID_DESCRIPTOR  *HidDescriptor\r
   );\r
 \r
-\r
 /**\r
   Get the report descriptor of the specified USB HID interface.\r
 \r
   Submit a USB get HID report descriptor request for the USB device specified by\r
-  UsbIo and Interface and return the report descriptor in DescriptorBuffer.\r
+  UsbIo and Interface, and return the report descriptor in DescriptorBuffer.\r
   If UsbIo is NULL, then ASSERT().\r
   If DescriptorBuffer is NULL, then ASSERT().\r
 \r
@@ -68,7 +54,7 @@ UsbGetHidDescriptor (
 \r
   @retval  EFI_SUCCESS           The request executed successfully.\r
   @retval  EFI_OUT_OF_RESOURCES  The request could not be completed because the\r
-                                 buffer specifed by DescriptorLength and DescriptorBuffer\r
+                                 buffer specified by DescriptorLength and DescriptorBuffer\r
                                  is not large enough to hold the result of the request.\r
   @retval  EFI_TIMEOUT           A timeout occurred executing the request.\r
   @retval  EFI_DEVICE_ERROR      The request failed due to a device error.\r
@@ -77,17 +63,17 @@ UsbGetHidDescriptor (
 EFI_STATUS\r
 EFIAPI\r
 UsbGetReportDescriptor (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN  UINT8                   Interface,\r
-  IN  UINT16                  DescriptorLength,\r
-  OUT UINT8                   *DescriptorBuffer\r
+  IN  EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN  UINT8                Interface,\r
+  IN  UINT16               DescriptorLength,\r
+  OUT UINT8                *DescriptorBuffer\r
   );\r
 \r
 /**\r
   Get the HID protocol of the specified USB HID interface.\r
 \r
   Submit a USB get HID protocol request for the USB device specified by UsbIo\r
-  and Interface and return the protocol retrieved in Protocol.\r
+  and Interface, and return the protocol retrieved in Protocol.\r
   If UsbIo is NULL, then ASSERT().\r
   If Protocol is NULL, then ASSERT().\r
 \r
@@ -103,16 +89,16 @@ UsbGetReportDescriptor (
 EFI_STATUS\r
 EFIAPI\r
 UsbGetProtocolRequest (\r
-  IN EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN UINT8                   Interface,\r
-  IN UINT8                   *Protocol\r
+  IN EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN UINT8                Interface,\r
+  OUT UINT8               *Protocol\r
   );\r
 \r
 /**\r
   Set the HID protocol of the specified USB HID interface.\r
 \r
   Submit a USB set HID protocol request for the USB device specified by UsbIo\r
-  and Interface and set the protocol to the value specified by Protocol.\r
+  and Interface, and set the protocol to the value specified by Protocol.\r
   If UsbIo is NULL, then ASSERT().\r
 \r
   @param  UsbIo      A pointer to the USB I/O Protocol instance for the specific USB target.\r
@@ -127,9 +113,9 @@ UsbGetProtocolRequest (
 EFI_STATUS\r
 EFIAPI\r
 UsbSetProtocolRequest (\r
-  IN EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN UINT8                   Interface,\r
-  IN UINT8                   Protocol\r
+  IN EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN UINT8                Interface,\r
+  IN UINT8                Protocol\r
   );\r
 \r
 /**\r
@@ -152,10 +138,10 @@ UsbSetProtocolRequest (
 EFI_STATUS\r
 EFIAPI\r
 UsbSetIdleRequest (\r
-  IN EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN UINT8                   Interface,\r
-  IN UINT8                   ReportId,\r
-  IN UINT8                   Duration\r
+  IN EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN UINT8                Interface,\r
+  IN UINT8                ReportId,\r
+  IN UINT8                Duration\r
   );\r
 \r
 /**\r
@@ -179,15 +165,21 @@ UsbSetIdleRequest (
 EFI_STATUS\r
 EFIAPI\r
 UsbGetIdleRequest (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN  UINT8                   Interface,\r
-  IN  UINT8                   ReportId,\r
-  OUT UINT8                   *Duration\r
+  IN  EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN  UINT8                Interface,\r
+  IN  UINT8                ReportId,\r
+  OUT UINT8                *Duration\r
   );\r
 \r
 /**\r
   Set the report descriptor of the specified USB HID interface.\r
 \r
+  Submit a USB set HID report request for the USB device specified by UsbIo,\r
+  Interface, ReportId, and ReportType, and set the report descriptor using the\r
+  buffer specified by ReportLength and Report.\r
+  If UsbIo is NULL, then ASSERT().\r
+  If Report is NULL, then ASSERT().\r
+\r
   @param  UsbIo         A pointer to the USB I/O Protocol instance for the specific USB target.\r
   @param  Interface     The index of the report interface on the USB target.\r
   @param  ReportId      The identifier of the report to retrieve.\r
@@ -203,12 +195,12 @@ UsbGetIdleRequest (
 EFI_STATUS\r
 EFIAPI\r
 UsbSetReportRequest (\r
-  IN EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN UINT8                   Interface,\r
-  IN UINT8                   ReportId,\r
-  IN UINT8                   ReportType,\r
-  IN UINT16                  ReportLen,\r
-  IN UINT8                   *Report\r
+  IN EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN UINT8                Interface,\r
+  IN UINT8                ReportId,\r
+  IN UINT8                ReportType,\r
+  IN UINT16               ReportLen,\r
+  IN UINT8                *Report\r
   );\r
 \r
 /**\r
@@ -229,7 +221,7 @@ UsbSetReportRequest (
 \r
   @retval  EFI_SUCCESS           The request executed successfully.\r
   @retval  EFI_OUT_OF_RESOURCES  The request could not be completed because the\r
-                                 buffer specifed by ReportLength and Report is not\r
+                                 buffer specified by ReportLength and Report is not\r
                                  large enough to hold the result of the request.\r
   @retval  EFI_TIMEOUT           A timeout occurred executing the request.\r
   @retval  EFI_DEVICE_ERROR      The request failed due to a device error.\r
@@ -238,12 +230,12 @@ UsbSetReportRequest (
 EFI_STATUS\r
 EFIAPI\r
 UsbGetReportRequest (\r
-  IN EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN UINT8                   Interface,\r
-  IN UINT8                   ReportId,\r
-  IN UINT8                   ReportType,\r
-  IN UINT16                  ReportLen,\r
-  IN UINT8                   *Report\r
+  IN  EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN  UINT8                Interface,\r
+  IN  UINT8                ReportId,\r
+  IN  UINT8                ReportType,\r
+  IN  UINT16               ReportLen,\r
+  OUT UINT8                *Report\r
   );\r
 \r
 /**\r
@@ -265,7 +257,7 @@ UsbGetReportRequest (
 \r
   @retval EFI_SUCCESS           The request executed successfully.\r
   @retval EFI_OUT_OF_RESOURCES  The request could not be completed because the\r
-                                buffer specifed by DescriptorLength and Descriptor\r
+                                buffer specified by DescriptorLength and Descriptor\r
                                 is not large enough to hold the result of the request.\r
   @retval EFI_TIMEOUT           A timeout occurred executing the request.\r
   @retval EFI_DEVICE_ERROR      The request failed due to a device error. The transfer\r
@@ -275,12 +267,12 @@ UsbGetReportRequest (
 EFI_STATUS\r
 EFIAPI\r
 UsbGetDescriptor (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN  UINT16                  Value,\r
-  IN  UINT16                  Index,\r
-  IN  UINT16                  DescriptorLength,\r
-  OUT VOID                    *Descriptor,\r
-  OUT UINT32                  *Status\r
+  IN  EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN  UINT16               Value,\r
+  IN  UINT16               Index,\r
+  IN  UINT16               DescriptorLength,\r
+  OUT VOID                 *Descriptor,\r
+  OUT UINT32               *Status\r
   );\r
 \r
 /**\r
@@ -309,12 +301,12 @@ UsbGetDescriptor (
 EFI_STATUS\r
 EFIAPI\r
 UsbSetDescriptor (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN  UINT16                  Value,\r
-  IN  UINT16                  Index,\r
-  IN  UINT16                  DescriptorLength,\r
-  IN  VOID                    *Descriptor,\r
-  OUT UINT32                  *Status\r
+  IN  EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN  UINT16               Value,\r
+  IN  UINT16               Index,\r
+  IN  UINT16               DescriptorLength,\r
+  IN  VOID                 *Descriptor,\r
+  OUT UINT32               *Status\r
   );\r
 \r
 /**\r
@@ -341,10 +333,10 @@ UsbSetDescriptor (
 EFI_STATUS\r
 EFIAPI\r
 UsbGetInterface (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN  UINT16                  Interface,\r
-  OUT UINT8                   *AlternateSetting,\r
-  OUT UINT32                  *Status\r
+  IN  EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN  UINT16               Interface,\r
+  OUT UINT16               *AlternateSetting,\r
+  OUT UINT32               *Status\r
   );\r
 \r
 /**\r
@@ -370,10 +362,10 @@ UsbGetInterface (
 EFI_STATUS\r
 EFIAPI\r
 UsbSetInterface (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN  UINT16                  Interface,\r
-  IN  UINT16                  AlternateSetting,\r
-  OUT UINT32                  *Status\r
+  IN  EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN  UINT16               Interface,\r
+  IN  UINT16               AlternateSetting,\r
+  OUT UINT32               *Status\r
   );\r
 \r
 /**\r
@@ -399,9 +391,9 @@ UsbSetInterface (
 EFI_STATUS\r
 EFIAPI\r
 UsbGetConfiguration (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  OUT UINT8                   *ConfigurationValue,\r
-  OUT UINT32                  *Status\r
+  IN  EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  OUT UINT16               *ConfigurationValue,\r
+  OUT UINT32               *Status\r
   );\r
 \r
 /**\r
@@ -426,9 +418,9 @@ UsbGetConfiguration (
 EFI_STATUS\r
 EFIAPI\r
 UsbSetConfiguration (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN  UINT16                  ConfigurationValue,\r
-  OUT UINT32                  *Status\r
+  IN  EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN  UINT16               ConfigurationValue,\r
+  OUT UINT32               *Status\r
   );\r
 \r
 /**\r
@@ -457,11 +449,11 @@ UsbSetConfiguration (
 EFI_STATUS\r
 EFIAPI\r
 UsbSetFeature (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN  USB_TYPES_DEFINITION    Recipient,\r
-  IN  UINT16                  Value,\r
-  IN  UINT16                  Target,\r
-  OUT UINT32                  *Status\r
+  IN  EFI_USB_IO_PROTOCOL   *UsbIo,\r
+  IN  USB_TYPES_DEFINITION  Recipient,\r
+  IN  UINT16                Value,\r
+  IN  UINT16                Target,\r
+  OUT UINT32                *Status\r
   );\r
 \r
 /**\r
@@ -490,18 +482,18 @@ UsbSetFeature (
 EFI_STATUS\r
 EFIAPI\r
 UsbClearFeature (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN  USB_TYPES_DEFINITION    Recipient,\r
-  IN  UINT16                  Value,\r
-  IN  UINT16                  Target,\r
-  OUT UINT32                  *Status\r
+  IN  EFI_USB_IO_PROTOCOL   *UsbIo,\r
+  IN  USB_TYPES_DEFINITION  Recipient,\r
+  IN  UINT16                Value,\r
+  IN  UINT16                Target,\r
+  OUT UINT32                *Status\r
   );\r
 \r
 /**\r
   Get the status of the specified device.\r
 \r
   Submit a USB device get status request for the USB device specified by UsbIo,\r
-  Recipient, and Target and place the result in the buffer specified by DeviceStatus.\r
+  Recipient, and Target, and place the result in the buffer specified by DeviceStatus.\r
   The status of the transfer is returned in Status.\r
   If UsbIo is NULL, then ASSERT().\r
   If DeviceStatus is NULL, then ASSERT().\r
@@ -524,11 +516,11 @@ UsbClearFeature (
 EFI_STATUS\r
 EFIAPI\r
 UsbGetStatus (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN  USB_TYPES_DEFINITION    Recipient,\r
-  IN  UINT16                  Target,\r
-  OUT UINT16                  *DevStatus,\r
-  OUT UINT32                  *Status\r
+  IN  EFI_USB_IO_PROTOCOL   *UsbIo,\r
+  IN  USB_TYPES_DEFINITION  Recipient,\r
+  IN  UINT16                Target,\r
+  OUT UINT16                *DeviceStatus,\r
+  OUT UINT32                *Status\r
   );\r
 \r
 /**\r
@@ -536,7 +528,7 @@ UsbGetStatus (
 \r
   Retrieve the USB endpoint descriptor specified by UsbIo and EndPoint.\r
   If the USB endpoint descriptor can not be retrieved, then return EFI_NOT_FOUND.\r
-  If the endpoint descriptor is found, then clear the halt fature of this USB endpoint.\r
+  If the endpoint descriptor is found, then clear the halt feature of this USB endpoint.\r
   The status of the transfer is returned in Status.\r
   If UsbIo is NULL, then ASSERT().\r
   If Status is NULL, then ASSERT().\r
@@ -555,9 +547,9 @@ UsbGetStatus (
 EFI_STATUS\r
 EFIAPI\r
 UsbClearEndpointHalt (\r
-  IN  EFI_USB_IO_PROTOCOL     *UsbIo,\r
-  IN  UINT8                   Endpoint,\r
-  OUT UINT32                  *Status\r
+  IN  EFI_USB_IO_PROTOCOL  *UsbIo,\r
+  IN  UINT8                Endpoint,\r
+  OUT UINT32               *Status\r
   );\r
 \r
 #endif\r