]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Library/UsbLib.h
Correct parameter UINTN to UINT32
[mirror_edk2.git] / MdePkg / Include / Library / UsbLib.h
CommitLineData
842f5579 1/** @file\r
ed838d0c 2 Common Dxe Libarary for USB\r
fb3df220 3\r
842f5579
A
4 Copyright (c) 2006, Intel Corporation<BR>\r
5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
fb3df220 14\r
fb3df220 15\r
842f5579
A
16#ifndef __USB_DXE_LIB_H__\r
17#define __USB_DXE_LIB_H__\r
fb3df220 18\r
c7d265a9 19#include <Protocol/UsbIo.h>\r
ed838d0c 20\r
fb3df220 21//\r
22// define the timeout time as 3ms\r
23//\r
24#define TIMEOUT_VALUE 3 * 1000\r
25\r
fb3df220 26EFI_STATUS\r
f1787349 27EFIAPI\r
fb3df220 28UsbGetHidDescriptor (\r
29 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
30 IN UINT8 InterfaceNum,\r
31 OUT EFI_USB_HID_DESCRIPTOR *HidDescriptor\r
32 );\r
33\r
34EFI_STATUS\r
f1787349 35EFIAPI\r
fb3df220 36UsbGetReportDescriptor (\r
37 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
38 IN UINT8 InterfaceNum,\r
39 IN UINT16 DescriptorSize,\r
40 OUT UINT8 *DescriptorBuffer\r
41 );\r
42\r
43EFI_STATUS\r
f1787349 44EFIAPI\r
fb3df220 45UsbGetProtocolRequest (\r
46 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
47 IN UINT8 Interface,\r
48 IN UINT8 *Protocol\r
49 );\r
50\r
51EFI_STATUS\r
f1787349 52EFIAPI\r
fb3df220 53UsbSetProtocolRequest (\r
54 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
55 IN UINT8 Interface,\r
56 IN UINT8 Protocol\r
57 );\r
58\r
59EFI_STATUS\r
f1787349 60EFIAPI\r
fb3df220 61UsbSetIdleRequest (\r
62 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
63 IN UINT8 Interface,\r
64 IN UINT8 ReportId,\r
65 IN UINT8 Duration\r
66 );\r
67\r
68EFI_STATUS\r
f1787349 69EFIAPI\r
fb3df220 70UsbGetIdleRequest (\r
71 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
72 IN UINT8 Interface,\r
73 IN UINT8 ReportId,\r
74 OUT UINT8 *Duration\r
75 );\r
76\r
77EFI_STATUS\r
f1787349 78EFIAPI\r
fb3df220 79UsbSetReportRequest (\r
80 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
81 IN UINT8 Interface,\r
82 IN UINT8 ReportId,\r
83 IN UINT8 ReportType,\r
84 IN UINT16 ReportLen,\r
85 IN UINT8 *Report\r
86 );\r
87\r
88EFI_STATUS\r
f1787349 89EFIAPI\r
fb3df220 90UsbGetReportRequest (\r
91 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
92 IN UINT8 Interface,\r
93 IN UINT8 ReportId,\r
94 IN UINT8 ReportType,\r
95 IN UINT16 ReportLen,\r
96 IN UINT8 *Report\r
97 );\r
98\r
ed838d0c 99typedef enum {\r
100 EfiUsbEndpointHalt,\r
101 EfiUsbDeviceRemoteWakeup\r
102} EFI_USB_STANDARD_FEATURE_SELECTOR;\r
103\r
fb3df220 104EFI_STATUS\r
105UsbGetDescriptor (\r
106 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
107 IN UINT16 Value,\r
108 IN UINT16 Index,\r
109 IN UINT16 DescriptorLength,\r
110 OUT VOID *Descriptor,\r
111 OUT UINT32 *Status\r
112 );\r
113\r
fb3df220 114EFI_STATUS\r
f1787349 115EFIAPI\r
fb3df220 116UsbSetDescriptor (\r
117 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
118 IN UINT16 Value,\r
119 IN UINT16 Index,\r
120 IN UINT16 DescriptorLength,\r
121 IN VOID *Descriptor,\r
122 OUT UINT32 *Status\r
123 );\r
124\r
fb3df220 125EFI_STATUS\r
f1787349 126EFIAPI\r
ed838d0c 127UsbGetInterface (\r
fb3df220 128 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
129 IN UINT16 Index,\r
130 OUT UINT8 *AltSetting,\r
131 OUT UINT32 *Status\r
132 );\r
133\r
fb3df220 134EFI_STATUS\r
f1787349 135EFIAPI\r
ed838d0c 136UsbSetInterface (\r
fb3df220 137 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
138 IN UINT16 InterfaceNo,\r
139 IN UINT16 AltSetting,\r
140 OUT UINT32 *Status\r
141 );\r
142\r
fb3df220 143EFI_STATUS\r
f1787349 144EFIAPI\r
ed838d0c 145UsbGetConfiguration (\r
fb3df220 146 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
147 OUT UINT8 *ConfigValue,\r
148 OUT UINT32 *Status\r
149 );\r
150\r
fb3df220 151EFI_STATUS\r
f1787349 152EFIAPI\r
ed838d0c 153UsbSetConfiguration (\r
fb3df220 154 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
155 IN UINT16 Value,\r
156 OUT UINT32 *Status\r
157 );\r
158\r
fb3df220 159EFI_STATUS\r
f1787349 160EFIAPI\r
ed838d0c 161UsbSetFeature (\r
fb3df220 162 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
ed838d0c 163 IN UINTN Recipient,\r
fb3df220 164 IN UINT16 Value,\r
165 IN UINT16 Target,\r
166 OUT UINT32 *Status\r
167 );\r
168\r
fb3df220 169EFI_STATUS\r
f1787349 170EFIAPI\r
ed838d0c 171UsbClearFeature (\r
fb3df220 172 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
ed838d0c 173 IN UINTN Recipient,\r
fb3df220 174 IN UINT16 Value,\r
175 IN UINT16 Target,\r
176 OUT UINT32 *Status\r
177 );\r
178\r
fb3df220 179EFI_STATUS\r
f1787349 180EFIAPI\r
ed838d0c 181UsbGetStatus (\r
fb3df220 182 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
ed838d0c 183 IN UINTN Recipient,\r
fb3df220 184 IN UINT16 Target,\r
185 OUT UINT16 *DevStatus,\r
186 OUT UINT32 *Status\r
187 );\r
188\r
fb3df220 189EFI_STATUS\r
f1787349 190EFIAPI\r
ed838d0c 191UsbGetHubDescriptor (\r
fb3df220 192 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
ed838d0c 193 IN UINT16 Value,\r
194 IN UINT16 Index,\r
195 IN UINT16 DescriptorLength,\r
196 OUT VOID *Descriptor,\r
fb3df220 197 OUT UINT32 *Status\r
198 );\r
199\r
200//\r
201// Clear endpoint stall\r
202//\r
203EFI_STATUS\r
f1787349 204EFIAPI\r
fb3df220 205UsbClearEndpointHalt (\r
206 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
207 IN UINT8 EndpointNo,\r
208 OUT UINT32 *Status\r
209 );\r
210\r
211#endif\r