]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/BdsDxe/Bds.h
1.retried graphics library class from MdePkg
[mirror_edk2.git] / MdeModulePkg / Universal / BdsDxe / Bds.h
CommitLineData
fd6a62f3 1/** @file\r
2 Head file for BDS Architectural Protocol implementation\r
93e3992d 3\r
fd6a62f3 4Copyright (c) 2004 - 2008, Intel Corporation. <BR>\r
93e3992d 5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
fd6a62f3 13**/\r
93e3992d 14\r
15#ifndef _BDS_MODULE_H_\r
16#define _BDS_MODULE_H_\r
17\r
18#undef EFI_SPECIFICATION_VERSION\r
19#define EFI_SPECIFICATION_VERSION 0x0002000A\r
20#include <PiDxe.h>\r
21#include <MdeModuleHii.h>\r
22\r
23#include <Guid/FileSystemVolumeLabelInfo.h>\r
24#include <Protocol/DevicePath.h>\r
25#include <Guid/BootState.h>\r
26#include <Guid/DataHubRecords.h>\r
27#include <Protocol/LoadFile.h>\r
28#include <Protocol/CpuIo.h>\r
93e3992d 29#include <Guid/FileInfo.h>\r
30#include <Protocol/HiiConfigRouting.h>\r
31#include <Protocol/Bds.h>\r
32#include <Protocol/DataHub.h>\r
33#include <Protocol/UgaDraw.h>\r
34#include <Protocol/BlockIo.h>\r
35#include <Guid/GlobalVariable.h>\r
36#include <Guid/GenericPlatformVariable.h>\r
37#include <Guid/CapsuleVendor.h>\r
38#include <Protocol/ConsoleControl.h>\r
39#include <Protocol/GenericMemoryTest.h>\r
40#include <Protocol/FormBrowser2.h>\r
41#include <Protocol/HiiConfigAccess.h>\r
42#include <Protocol/GraphicsOutput.h>\r
43#include <Protocol/SimpleFileSystem.h>\r
44#include <Protocol/HiiDatabase.h>\r
45#include <Protocol/HiiString.h>\r
46#include <Protocol/SerialIo.h>\r
47#include <Protocol/LegacyBios.h>\r
48#include <Protocol/SimpleTextInEx.h>\r
49#include <Protocol/Performance.h>\r
50\r
51#include <Library/UefiDriverEntryPoint.h>\r
52#include <Library/PrintLib.h>\r
53#include <Library/DebugLib.h>\r
54#include <Library/BaseMemoryLib.h>\r
55#include <Library/UefiBootServicesTableLib.h>\r
56#include <Library/UefiLib.h>\r
93e3992d 57#include <Library/MemoryAllocationLib.h>\r
93e3992d 58#include <Library/PerformanceLib.h>\r
59#include <Library/ReportStatusCodeLib.h>\r
60#include <Library/IfrSupportLib.h>\r
9226efe5 61#include <Library/ExtendedIfrSupportLib.h>\r
93e3992d 62#include <Library/UefiRuntimeServicesTableLib.h>\r
63#include <Library/HobLib.h>\r
64#include <Library/BaseLib.h>\r
65#include <Library/DevicePathLib.h>\r
66#include <Library/PcdLib.h>\r
67#include <Library/CapsuleLib.h>\r
68#include <Library/HiiLib.h>\r
9226efe5 69#include <Library/ExtendedHiiLib.h>\r
70\r
93e3992d 71\r
72#include <Library/GenericBdsLib.h>\r
73#include <Library/PlatformBdsLib.h>\r
74\r
75#define EFI_BDS_ARCH_PROTOCOL_INSTANCE_FROM_THIS(_this) \\r
76 CR (_this, \\r
77 EFI_BDS_ARCH_PROTOCOL_INSTANCE, \\r
78 Bds, \\r
79 EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE \\r
80 )\r
81\r
26238559 82/**\r
83\r
84 Show progress bar with title above it. It only works in Graphics mode.\r
85\r
86\r
87 @param TitleForeground Foreground color for Title.\r
88 @param TitleBackground Background color for Title.\r
89 @param Title Title above progress bar.\r
90 @param ProgressColor Progress bar color.\r
91 @param Progress Progress (0-100)\r
92 @param PreviousValue The previous value of the progress.\r
93\r
94 @retval EFI_STATUS Success update the progress bar\r
95\r
96**/\r
93e3992d 97EFI_STATUS\r
98PlatformBdsShowProgress (\r
99 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleForeground,\r
100 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleBackground,\r
101 IN CHAR16 *Title,\r
102 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL ProgressColor,\r
103 IN UINTN Progress,\r
104 IN UINTN PreviousValue\r
105 );\r
106\r
107//\r
108// Prototypes\r
109//\r
b30312ba 110\r
111/**\r
112\r
113 Install Boot Device Selection Protocol\r
114\r
115\r
116 @param ImageHandle The image handle.\r
117 @param SystemTable The system table.\r
118\r
119 @retval EFI_SUCEESS BDS has finished initializing.\r
120 Rerun the\r
121 dispatcher and recall BDS.Entry\r
122 @retval Other Return value from AllocatePool()\r
123 or gBS->InstallProtocolInterface\r
124\r
125**/\r
93e3992d 126EFI_STATUS\r
127EFIAPI\r
128BdsInitialize (\r
129 IN EFI_HANDLE ImageHandle,\r
130 IN EFI_SYSTEM_TABLE *SystemTable\r
131 );\r
132\r
b30312ba 133/**\r
134\r
135 Service routine for BdsInstance->Entry(). Devices are connected, the\r
136 consoles are initialized, and the boot options are tried.\r
137\r
b30312ba 138 @param This - Protocol Instance structure.\r
139\r
b30312ba 140**/\r
93e3992d 141VOID\r
142EFIAPI\r
143BdsEntry (\r
144 IN EFI_BDS_ARCH_PROTOCOL *This\r
145 );\r
146\r
147#endif\r