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 148