]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Application/UiApp/Ui.h
UiApp: Update copyright info, cover old code existed in old BdsDxe driver.
[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
33#include <Protocol/DevicePath.h>\r
34#include <Protocol/HiiConfigRouting.h>\r
35#include <Protocol/Smbios.h>\r
36#include <Protocol/UgaDraw.h>\r
37#include <Protocol/BlockIo.h>\r
38#include <Protocol/GenericMemoryTest.h>\r
39#include <Protocol/FormBrowser2.h>\r
40#include <Protocol/HiiConfigAccess.h>\r
41#include <Protocol/GraphicsOutput.h>\r
42#include <Protocol/SimpleFileSystem.h>\r
43#include <Protocol/HiiDatabase.h>\r
44#include <Protocol/HiiString.h>\r
45#include <Protocol/SerialIo.h>\r
143f0b1d
ED
46#include <Protocol/SimpleTextInEx.h>\r
47#include <Protocol/DriverHealth.h>\r
48#include <Protocol/DevicePathToText.h>\r
49\r
50#include <Library/UefiDriverEntryPoint.h>\r
51#include <Library/PrintLib.h>\r
52#include <Library/DebugLib.h>\r
53#include <Library/BaseMemoryLib.h>\r
54#include <Library/UefiBootServicesTableLib.h>\r
55#include <Library/UefiLib.h>\r
56#include <Library/MemoryAllocationLib.h>\r
57#include <Library/PerformanceLib.h>\r
58#include <Library/ReportStatusCodeLib.h>\r
59#include <Library/UefiRuntimeServicesTableLib.h>\r
60#include <Library/HobLib.h>\r
61#include <Library/BaseLib.h>\r
62#include <Library/DevicePathLib.h>\r
63#include <Library/PcdLib.h>\r
64#include <Library/CapsuleLib.h>\r
65#include <Library/HiiLib.h>\r
66#include <Library/DevicePathLib.h>\r
67#include <Library/PcdLib.h>\r
68#include <Library/UefiHiiServicesLib.h>\r
69\r
70#include <Library/UefiBootManagerLib.h>\r
71\r
72#pragma pack(1)\r
73\r
74///\r
75/// HII specific Vendor Device Path definition.\r
76///\r
77typedef struct {\r
78 VENDOR_DEVICE_PATH VendorDevicePath;\r
79 EFI_DEVICE_PATH_PROTOCOL End;\r
80} HII_VENDOR_DEVICE_PATH;\r
81\r
82#pragma pack()\r
83\r
84\r
85//\r
86//The interface functions related to the Setup Browser Reset Reminder feature\r
87//\r
88/**\r
89 Enable the setup browser reset reminder feature.\r
90 This routine is used in a platform tip. If the platform policy needs the feature, use the routine to enable it.\r
91\r
92**/\r
93VOID\r
94EFIAPI\r
95EnableResetReminderFeature (\r
96 VOID\r
97 );\r
98\r
99/**\r
100 Disable the setup browser reset reminder feature.\r
101 This routine is used in a platform tip. If the platform policy does not want the feature, use the routine to disable it.\r
102\r
103**/\r
104VOID\r
105EFIAPI\r
106DisableResetReminderFeature (\r
107 VOID\r
108 );\r
109\r
110/**\r
111 Record the info that a reset is required.\r
112 A module boolean variable is used to record whether a reset is required.\r
113\r
114**/\r
115VOID\r
116EFIAPI\r
117EnableResetRequired (\r
118 VOID\r
119 );\r
120\r
121\r
122/**\r
123 Record the info that no reset is required.\r
124 A module boolean variable is used to record whether a reset is required.\r
125\r
126**/\r
127VOID\r
128EFIAPI\r
129DisableResetRequired (\r
130 VOID\r
131 );\r
132\r
133/**\r
134 Check whether platform policy enables the reset reminder feature. The default is enabled.\r
135\r
136**/\r
137BOOLEAN\r
138EFIAPI\r
139IsResetReminderFeatureEnable (\r
140 VOID\r
141 );\r
142\r
143/**\r
144 Check if the user changed any option setting that needs a system reset to be effective.\r
145\r
146**/\r
147BOOLEAN\r
148EFIAPI\r
149IsResetRequired (\r
150 VOID\r
151 );\r
152\r
153/**\r
154 Check whether a reset is needed, and finish the reset reminder feature.\r
155 If a reset is needed, pop up a menu to notice user, and finish the feature\r
156 according to the user selection.\r
157\r
158**/\r
159VOID\r
160EFIAPI\r
161SetupResetReminder (\r
162 VOID\r
163 );\r
164\r
165/**\r
166 This function converts an input device structure to a Unicode string.\r
167\r
168 @param DevPath A pointer to the device path structure.\r
169\r
170 @return A new allocated Unicode string that represents the device path.\r
171\r
172**/\r
173CHAR16 *\r
174UiDevicePathToStr (\r
175 IN EFI_DEVICE_PATH_PROTOCOL *DevPath\r
176 );\r
177#endif\r