]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Application/UiApp/Ui.h
MdeModulePkg: Update UiApp to not display itself
[mirror_edk2.git] / MdeModulePkg / Application / UiApp / Ui.h
CommitLineData
143f0b1d
ED
1/** @file\r
2 FrontPage routines to handle the callbacks and browser calls\r
3\r
afc244a5 4Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>\r
143f0b1d
ED
5This 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
13**/\r
14\r
15\r
16#ifndef _BDS_MODULE_H_\r
17#define _BDS_MODULE_H_\r
18\r
19#include <PiDxe.h>\r
20#include <IndustryStandard/PeImage.h>\r
21#include <IndustryStandard/SmBios.h>\r
22\r
23#include <Guid/MdeModuleHii.h>\r
24#include <Guid/FileSystemVolumeLabelInfo.h>\r
25#include <Guid/HiiPlatformSetupFormset.h>\r
26#include <Guid/GlobalVariable.h>\r
27#include <Guid/CapsuleVendor.h>\r
28#include <Guid/StatusCodeDataTypeId.h>\r
29#include <Guid/FileInfo.h>\r
143f0b1d
ED
30#include <Guid/HiiBootMaintenanceFormset.h>\r
31\r
32#include <Protocol/LoadFile.h>\r
d4bf294e 33#include <Protocol/LoadedImage.h>\r
143f0b1d
ED
34#include <Protocol/DevicePath.h>\r
35#include <Protocol/HiiConfigRouting.h>\r
36#include <Protocol/Smbios.h>\r
37#include <Protocol/UgaDraw.h>\r
38#include <Protocol/BlockIo.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
143f0b1d
ED
47#include <Protocol/SimpleTextInEx.h>\r
48#include <Protocol/DriverHealth.h>\r
49#include <Protocol/DevicePathToText.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
57#include <Library/MemoryAllocationLib.h>\r
58#include <Library/PerformanceLib.h>\r
59#include <Library/ReportStatusCodeLib.h>\r
60#include <Library/UefiRuntimeServicesTableLib.h>\r
61#include <Library/HobLib.h>\r
62#include <Library/BaseLib.h>\r
63#include <Library/DevicePathLib.h>\r
64#include <Library/PcdLib.h>\r
65#include <Library/CapsuleLib.h>\r
66#include <Library/HiiLib.h>\r
67#include <Library/DevicePathLib.h>\r
68#include <Library/PcdLib.h>\r
69#include <Library/UefiHiiServicesLib.h>\r
70\r
71#include <Library/UefiBootManagerLib.h>\r
72\r
73#pragma pack(1)\r
74\r
75///\r
76/// HII specific Vendor Device Path definition.\r
77///\r
78typedef struct {\r
79 VENDOR_DEVICE_PATH VendorDevicePath;\r
80 EFI_DEVICE_PATH_PROTOCOL End;\r
81} HII_VENDOR_DEVICE_PATH;\r
82\r
83#pragma pack()\r
84\r
85\r
86//\r
87//The interface functions related to the Setup Browser Reset Reminder feature\r
88//\r
89/**\r
90 Enable the setup browser reset reminder feature.\r
91 This routine is used in a platform tip. If the platform policy needs the feature, use the routine to enable it.\r
92\r
93**/\r
94VOID\r
95EFIAPI\r
96EnableResetReminderFeature (\r
97 VOID\r
98 );\r
99\r
100/**\r
101 Disable the setup browser reset reminder feature.\r
102 This routine is used in a platform tip. If the platform policy does not want the feature, use the routine to disable it.\r
103\r
104**/\r
105VOID\r
106EFIAPI\r
107DisableResetReminderFeature (\r
108 VOID\r
109 );\r
110\r
111/**\r
112 Record the info that a reset is required.\r
113 A module boolean variable is used to record whether a reset is required.\r
114\r
115**/\r
116VOID\r
117EFIAPI\r
118EnableResetRequired (\r
119 VOID\r
120 );\r
121\r
122\r
123/**\r
124 Record the info that no reset is required.\r
125 A module boolean variable is used to record whether a reset is required.\r
126\r
127**/\r
128VOID\r
129EFIAPI\r
130DisableResetRequired (\r
131 VOID\r
132 );\r
133\r
134/**\r
135 Check whether platform policy enables the reset reminder feature. The default is enabled.\r
136\r
137**/\r
138BOOLEAN\r
139EFIAPI\r
140IsResetReminderFeatureEnable (\r
141 VOID\r
142 );\r
143\r
144/**\r
145 Check if the user changed any option setting that needs a system reset to be effective.\r
146\r
147**/\r
148BOOLEAN\r
149EFIAPI\r
150IsResetRequired (\r
151 VOID\r
152 );\r
153\r
154/**\r
155 Check whether a reset is needed, and finish the reset reminder feature.\r
156 If a reset is needed, pop up a menu to notice user, and finish the feature\r
157 according to the user selection.\r
158\r
159**/\r
160VOID\r
161EFIAPI\r
162SetupResetReminder (\r
163 VOID\r
164 );\r
165\r
166/**\r
167 This function converts an input device structure to a Unicode string.\r
168\r
169 @param DevPath A pointer to the device path structure.\r
170\r
171 @return A new allocated Unicode string that represents the device path.\r
172\r
173**/\r
174CHAR16 *\r
175UiDevicePathToStr (\r
176 IN EFI_DEVICE_PATH_PROTOCOL *DevPath\r
177 );\r
178#endif\r