2 FrontPage routines to handle the callbacks and browser calls
4 Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
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.
16 #ifndef _BOOT_MANAGER_MENU_H_
17 #define _BOOT_MANAGER_MENU_H_
20 #include <Guid/MdeModuleHii.h>
21 #include <Library/UefiBootManagerLib.h>
22 #include <Library/UefiBootServicesTableLib.h>
23 #include <Library/UefiLib.h>
24 #include <Library/HiiLib.h>
25 #include <Library/MemoryAllocationLib.h>
26 #include <Library/DebugLib.h>
27 #include <Library/BaseMemoryLib.h>
28 #include <Library/DevicePathLib.h>
29 #include <Protocol/LoadedImage.h>
30 #include <Protocol/BootLogo.h>
32 #define TITLE_TOKEN_COUNT 1
33 #define HELP_TOKEN_COUNT 3
35 typedef struct _BOOT_MENU_SCREEN
{
42 typedef struct _BOOT_MENU_SCROLL_BAR_CONTROL
{
44 UINTN ItemCountPerScreen
;
47 } BOOT_MENU_SCROLL_BAR_CONTROL
;
49 typedef struct _BOOT_MENU_POPUP_DATA
{
50 EFI_STRING_ID TitleToken
[TITLE_TOKEN_COUNT
]; // Title string ID
51 UINTN ItemCount
; // Selectable item count
52 EFI_STRING_ID
*PtrTokens
; // All of selectable items string ID
53 EFI_STRING_ID HelpToken
[HELP_TOKEN_COUNT
]; // All of help string ID
54 UINTN SelectItem
; // Current select item
55 BOOT_MENU_SCREEN MenuScreen
; // Boot menu screen information
56 BOOT_MENU_SCROLL_BAR_CONTROL ScrollBarControl
; // Boot menu scroll bar inoformation
57 } BOOT_MENU_POPUP_DATA
;