]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.h
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Application / BootManagerMenuApp / BootManagerMenu.h
1 /** @file
2 FrontPage routines to handle the callbacks and browser calls
3
4 Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9
10 #ifndef _BOOT_MANAGER_MENU_H_
11 #define _BOOT_MANAGER_MENU_H_
12
13 #include <Uefi.h>
14 #include <Guid/MdeModuleHii.h>
15 #include <Library/UefiBootManagerLib.h>
16 #include <Library/UefiBootServicesTableLib.h>
17 #include <Library/UefiLib.h>
18 #include <Library/HiiLib.h>
19 #include <Library/MemoryAllocationLib.h>
20 #include <Library/DebugLib.h>
21 #include <Library/BaseMemoryLib.h>
22 #include <Library/DevicePathLib.h>
23 #include <Protocol/LoadedImage.h>
24 #include <Protocol/BootLogo.h>
25
26 #define TITLE_TOKEN_COUNT 1
27 #define HELP_TOKEN_COUNT 3
28
29 typedef struct _BOOT_MENU_SCREEN {
30 UINTN StartCol;
31 UINTN StartRow;
32 UINTN Width;
33 UINTN Height;
34 } BOOT_MENU_SCREEN;
35
36 typedef struct _BOOT_MENU_SCROLL_BAR_CONTROL {
37 BOOLEAN HasScrollBar;
38 UINTN ItemCountPerScreen;
39 UINTN FirstItem;
40 UINTN LastItem;
41 } BOOT_MENU_SCROLL_BAR_CONTROL;
42
43 typedef struct _BOOT_MENU_POPUP_DATA {
44 EFI_STRING_ID TitleToken[TITLE_TOKEN_COUNT]; // Title string ID
45 UINTN ItemCount; // Selectable item count
46 EFI_STRING_ID *PtrTokens; // All of selectable items string ID
47 EFI_STRING_ID HelpToken[HELP_TOKEN_COUNT]; // All of help string ID
48 UINTN SelectItem; // Current select item
49 BOOT_MENU_SCREEN MenuScreen; // Boot menu screen information
50 BOOT_MENU_SCROLL_BAR_CONTROL ScrollBarControl; // Boot menu scroll bar inoformation
51 } BOOT_MENU_POPUP_DATA;
52
53 #endif
54