2 Common Dxe Libarary for USB
4 Copyright (c) 2006, Intel Corporation<BR>
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
16 #ifndef __USB_DXE_LIB_H__
17 #define __USB_DXE_LIB_H__
19 #include <Protocol/UsbIo.h>
22 // define the timeout time as 3ms
24 #define TIMEOUT_VALUE 3 * 1000
28 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
29 IN UINT8 InterfaceNum
,
30 OUT EFI_USB_HID_DESCRIPTOR
*HidDescriptor
34 UsbGetReportDescriptor (
35 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
36 IN UINT8 InterfaceNum
,
37 IN UINT16 DescriptorSize
,
38 OUT UINT8
*DescriptorBuffer
42 UsbGetProtocolRequest (
43 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
49 UsbSetProtocolRequest (
50 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
57 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
65 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
73 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
83 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
93 EfiUsbDeviceRemoteWakeup
94 } EFI_USB_STANDARD_FEATURE_SELECTOR
;
98 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
101 IN UINT16 DescriptorLength
,
102 OUT VOID
*Descriptor
,
108 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
111 IN UINT16 DescriptorLength
,
118 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
120 OUT UINT8
*AltSetting
,
126 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
127 IN UINT16 InterfaceNo
,
128 IN UINT16 AltSetting
,
133 UsbGetConfiguration (
134 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
135 OUT UINT8
*ConfigValue
,
140 UsbSetConfiguration (
141 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
148 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
157 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
166 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
169 OUT UINT16
*DevStatus
,
174 UsbGetHubDescriptor (
175 IN EFI_USB_IO_PROTOCOL
*UsbIo
,
178 IN UINT16 DescriptorLength
,
179 OUT VOID
*Descriptor
,
184 // Clear endpoint stall
187 UsbClearEndpointHalt (
188 IN EFI_USB_IO_PROTOCOL
*UsbIo
,