]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerCustomizedUiSupport.h
MdeModulePkg/FaultTolerantWriteDxe: implement standalone MM version
[mirror_edk2.git] / MdeModulePkg / Library / BootMaintenanceManagerUiLib / BootMaintenanceManagerCustomizedUiSupport.h
1 /** @file
2 This library class defines a set of interfaces to be used by customize Ui module
3
4 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials are licensed and made available under
6 the terms and conditions of the BSD License that accompanies this distribution.
7 The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php.
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #ifndef __BOOT_MAINTENANCE_MANAGER_UI_LIB_H__
16 #define __BOOT_MAINTENANCE_MANAGER_UI_LIB_H__
17
18 /**
19 Create Time Out Menu in the page.
20
21 @param[in] HiiHandle The hii handle for the Uiapp driver.
22 @param[in] StartOpCodeHandle The opcode handle to save the new opcode.
23
24 **/
25 VOID
26 BmmCreateTimeOutMenu (
27 IN EFI_HII_HANDLE HiiHandle,
28 IN VOID *StartOpCodeHandle
29 );
30
31 /**
32 Create the dynamic item to allow user to set the "BootNext" vaule.
33
34 @param[in] HiiHandle The hii handle for the Uiapp driver.
35 @param[in] StartOpCodeHandle The opcode handle to save the new opcode.
36
37 **/
38 VOID
39 BmmCreateBootNextMenu(
40 IN EFI_HII_HANDLE HiiHandle,
41 IN VOID *StartOpCodeHandle
42 );
43
44 /**
45 Create Boot Option menu in the page.
46
47 @param[in] HiiHandle The hii handle for the Uiapp driver.
48 @param[in] StartOpCodeHandle The opcode handle to save the new opcode.
49
50 **/
51 VOID
52 BmmCreateBootOptionMenu (
53 IN EFI_HII_HANDLE HiiHandle,
54 IN VOID *StartOpCodeHandle
55 );
56
57 /**
58 Create Driver Option menu in the page.
59
60 @param[in] HiiHandle The hii handle for the Uiapp driver.
61 @param[in] StartOpCodeHandle The opcode handle to save the new opcode.
62
63 **/
64 VOID
65 BmmCreateDriverOptionMenu (
66 IN EFI_HII_HANDLE HiiHandle,
67 IN VOID *StartOpCodeHandle
68 );
69
70 /**
71 Create Com Option menu in the page.
72
73 @param[in] HiiHandle The hii handle for the Uiapp driver.
74 @param[in] StartOpCodeHandle The opcode handle to save the new opcode.
75
76 **/
77 VOID
78 BmmCreateComOptionMenu (
79 IN EFI_HII_HANDLE HiiHandle,
80 IN VOID *StartOpCodeHandle
81 );
82
83 /**
84 Create Com Option menu in the page.
85
86 @param[in] HiiHandle The hii handle for the Uiapp driver.
87 @param[in] StartOpCodeHandle The opcode handle to save the new opcode.
88
89 **/
90 VOID
91 BmmCreateBootFromFileMenu (
92 IN EFI_HII_HANDLE HiiHandle,
93 IN VOID *StartOpCodeHandle
94 );
95
96 /**
97 Create empty line menu in the front page.
98
99 @param HiiHandle The hii handle for the Uiapp driver.
100 @param StartOpCodeHandle The opcode handle to save the new opcode.
101
102 **/
103 VOID
104 BmmCreateEmptyLine (
105 IN EFI_HII_HANDLE HiiHandle,
106 IN VOID *StartOpCodeHandle
107 );
108
109 /**
110 Rename the driver name if necessary.
111
112 @param DriverName Input the driver name.
113 @param NewDriverName Return the new driver name.
114 @param EmptyLineAfter Whether need to insert empty line.
115
116 @retval New driver name if compared, else NULL.
117
118 **/
119 typedef
120 EFI_STATUS
121 (EFIAPI *DRIVER_SPECIAL_HANDLER)(
122 IN CHAR16 *DriverName,
123 OUT CHAR16 **NewName,
124 OUT BOOLEAN *EmptyLineAfter
125 );
126
127 /**
128 Search the drivers in the system which need to show in the front page
129 and insert the menu to the front page.
130
131 @param HiiHandle The hii handle for the Uiapp driver.
132 @param ClassGuid The class guid for the driver which is the target.
133 @param SpecialHandlerFn The pointer to the specail handler function, if any.
134 @param StartOpCodeHandle The opcode handle to save the new opcode.
135
136 @retval EFI_SUCCESS Search the driver success
137
138 **/
139 EFI_STATUS
140 BmmListThirdPartyDrivers (
141 IN EFI_HII_HANDLE HiiHandle,
142 IN EFI_GUID *ClassGuid,
143 IN DRIVER_SPECIAL_HANDLER SpecialHandlerFn,
144 IN VOID *StartOpCodeHandle
145 );
146
147 #endif