blob: 876237df1881455a79d470e3b7348b1bfe14cbd1 [file] [log] [blame]
/** @file
FrontPage routines to handle the callbacks and browser calls
Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _BOOT_MANAGER_MENU_H_
#define _BOOT_MANAGER_MENU_H_
#include <Uefi.h>
#include <Guid/MdeModuleHii.h>
#include <Library/UefiBootManagerLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>
#include <Library/HiiLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/DebugLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/DevicePathLib.h>
#include <Protocol/LoadedImage.h>
#include <Protocol/BootLogo.h>
#define TITLE_TOKEN_COUNT 1
#define HELP_TOKEN_COUNT 3
typedef struct _BOOT_MENU_SCREEN {
UINTN StartCol;
UINTN StartRow;
UINTN Width;
UINTN Height;
} BOOT_MENU_SCREEN;
typedef struct _BOOT_MENU_SCROLL_BAR_CONTROL {
BOOLEAN HasScrollBar;
UINTN ItemCountPerScreen;
UINTN FirstItem;
UINTN LastItem;
} BOOT_MENU_SCROLL_BAR_CONTROL;
typedef struct _BOOT_MENU_POPUP_DATA {
EFI_STRING_ID TitleToken[TITLE_TOKEN_COUNT]; // Title string ID
UINTN ItemCount; // Selectable item count
EFI_STRING_ID *PtrTokens; // All of selectable items string ID
EFI_STRING_ID HelpToken[HELP_TOKEN_COUNT]; // All of help string ID
UINTN SelectItem; // Current select item
BOOT_MENU_SCREEN MenuScreen; // Boot menu screen information
BOOT_MENU_SCROLL_BAR_CONTROL ScrollBarControl; // Boot menu scroll bar information
} BOOT_MENU_POPUP_DATA;
#endif