]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Library/UsbLib.h
move the temporary build script.We could directly generate SecMain using normal build...
[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
fb3df220 99EFI_STATUS\r
100UsbGetDescriptor (\r
101 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
102 IN UINT16 Value,\r
103 IN UINT16 Index,\r
104 IN UINT16 DescriptorLength,\r
105 OUT VOID *Descriptor,\r
106 OUT UINT32 *Status\r
107 );\r
108\r
fb3df220 109EFI_STATUS\r
f1787349 110EFIAPI\r
fb3df220 111UsbSetDescriptor (\r
112 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
113 IN UINT16 Value,\r
114 IN UINT16 Index,\r
115 IN UINT16 DescriptorLength,\r
116 IN VOID *Descriptor,\r
117 OUT UINT32 *Status\r
118 );\r
119\r
fb3df220 120EFI_STATUS\r
f1787349 121EFIAPI\r
ed838d0c 122UsbGetInterface (\r
fb3df220 123 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
124 IN UINT16 Index,\r
125 OUT UINT8 *AltSetting,\r
126 OUT UINT32 *Status\r
127 );\r
128\r
fb3df220 129EFI_STATUS\r
f1787349 130EFIAPI\r
ed838d0c 131UsbSetInterface (\r
fb3df220 132 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
133 IN UINT16 InterfaceNo,\r
134 IN UINT16 AltSetting,\r
135 OUT UINT32 *Status\r
136 );\r
137\r
fb3df220 138EFI_STATUS\r
f1787349 139EFIAPI\r
ed838d0c 140UsbGetConfiguration (\r
fb3df220 141 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
142 OUT UINT8 *ConfigValue,\r
143 OUT UINT32 *Status\r
144 );\r
145\r
fb3df220 146EFI_STATUS\r
f1787349 147EFIAPI\r
ed838d0c 148UsbSetConfiguration (\r
fb3df220 149 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
150 IN UINT16 Value,\r
151 OUT UINT32 *Status\r
152 );\r
153\r
fb3df220 154EFI_STATUS\r
f1787349 155EFIAPI\r
ed838d0c 156UsbSetFeature (\r
fb3df220 157 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
ed838d0c 158 IN UINTN Recipient,\r
fb3df220 159 IN UINT16 Value,\r
160 IN UINT16 Target,\r
161 OUT UINT32 *Status\r
162 );\r
163\r
fb3df220 164EFI_STATUS\r
f1787349 165EFIAPI\r
ed838d0c 166UsbClearFeature (\r
fb3df220 167 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
ed838d0c 168 IN UINTN Recipient,\r
fb3df220 169 IN UINT16 Value,\r
170 IN UINT16 Target,\r
171 OUT UINT32 *Status\r
172 );\r
173\r
fb3df220 174EFI_STATUS\r
f1787349 175EFIAPI\r
ed838d0c 176UsbGetStatus (\r
fb3df220 177 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
ed838d0c 178 IN UINTN Recipient,\r
fb3df220 179 IN UINT16 Target,\r
180 OUT UINT16 *DevStatus,\r
181 OUT UINT32 *Status\r
182 );\r
183\r
fb3df220 184//\r
185// Clear endpoint stall\r
186//\r
187EFI_STATUS\r
f1787349 188EFIAPI\r
fb3df220 189UsbClearEndpointHalt (\r
190 IN EFI_USB_IO_PROTOCOL *UsbIo,\r
191 IN UINT8 EndpointNo,\r
192 OUT UINT32 *Status\r
193 );\r
194\r
195#endif\r