/** @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
+Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+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
#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
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
\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
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
UsbGetProtocolRequest (\r
IN EFI_USB_IO_PROTOCOL *UsbIo,\r
IN UINT8 Interface,\r
- IN UINT8 *Protocol\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
/**\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
\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
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
\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
UsbGetInterface (\r
IN EFI_USB_IO_PROTOCOL *UsbIo,\r
IN UINT16 Interface,\r
- OUT UINT8 *AlternateSetting,\r
+ OUT UINT16 *AlternateSetting,\r
OUT UINT32 *Status\r
);\r
\r
EFIAPI\r
UsbGetConfiguration (\r
IN EFI_USB_IO_PROTOCOL *UsbIo,\r
- OUT UINT8 *ConfigurationValue,\r
+ OUT UINT16 *ConfigurationValue,\r
OUT UINT32 *Status\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
IN EFI_USB_IO_PROTOCOL *UsbIo,\r
IN USB_TYPES_DEFINITION Recipient,\r
IN UINT16 Target,\r
- OUT UINT16 *DevStatus,\r
+ OUT UINT16 *DeviceStatus,\r
OUT UINT32 *Status\r
);\r
\r
\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