11#ifndef _INTERNAL_BM_H_
12#define _INTERNAL_BM_H_
46#include <Protocol/PlatformBootManager.h>
75#if !defined (EFI_REMOVABLE_MEDIA_FILE_NAME)
76 #if defined (MDE_CPU_EBC)
81#define EFI_REMOVABLE_MEDIA_FILE_NAME L"\\EFI\\BOOT\\BOOTEBC.EFI"
83 #error "Can not determine the default boot file name for unknown processor type!"
99(*BM_GET_BOOT_DESCRIPTION) (
106#define BM_OPTION_NAME_LEN sizeof ("PlatformRecovery####")
107extern CHAR16 *mBmLoadOptionName[];
113#define MAX_RECONNECT_REPAIR 10
143#define BM_BOOT_DESCRIPTION_ENTRY_SIGNATURE SIGNATURE_32 ('b', 'm', 'd', 'h')
158 UINTN ReconnectRepairCount
161#define BM_HOTKEY_SIGNATURE SIGNATURE_32 ('b', 'm', 'h', 'k')
173#define BM_HOTKEY_FROM_LINK(a) CR (a, BM_HOTKEY, Link, BM_HOTKEY_SIGNATURE)
188 IN EFI_BOOT_MANAGER_LOAD_OPTION_TYPE LoadOptionType,
189 OUT UINT16 *FreeOptionNumber
292 IN CHAR16 *VariableName,
294 IN UINT32 Attributes,
382 UINTN BootOptionCount
464 IN EFI_BOOT_MANAGER_LOAD_OPTION_TYPE Type,
VOID BmForEachVariable(BM_VARIABLE_VISITOR Visitor, VOID *Context)
VOID BmSetMemoryTypeInformationVariable(IN BOOLEAN Boot)
VOID BmMakeBootOptionDescriptionUnique(EFI_BOOT_MANAGER_LOAD_OPTION *BootOptions, UINTN BootOptionCount)
VOID BmPrintDp(EFI_DEVICE_PATH_PROTOCOL *DevicePath)
EFI_STATUS BmConnectUsbShortFormDevicePath(IN EFI_DEVICE_PATH_PROTOCOL *DevicePath)
VOID * BmGetNextLoadOptionBuffer(IN EFI_BOOT_MANAGER_LOAD_OPTION_TYPE Type, IN EFI_DEVICE_PATH_PROTOCOL *FilePath, OUT EFI_DEVICE_PATH_PROTOCOL **FullPath, OUT UINTN *FileSize)
UINTN BmCharToUint(IN CHAR16 Char)
EFI_STATUS BmSetVariableAndReportStatusCodeOnError(IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN UINT32 Attributes, IN UINTN DataSize, IN VOID *Data)
EFI_DEVICE_PATH_PROTOCOL * BmDelPartMatchInstance(IN EFI_DEVICE_PATH_PROTOCOL *Multi, IN EFI_DEVICE_PATH_PROTOCOL *Single)
EFI_DEVICE_PATH_PROTOCOL * BmGetNextLoadOptionDevicePath(IN EFI_DEVICE_PATH_PROTOCOL *FilePath, IN EFI_DEVICE_PATH_PROTOCOL *FullPath)
CHAR16 * BmGetBootDescription(IN EFI_HANDLE Handle)
VOID BmRepairAllControllers(UINTN ReconnectRepairCount)
EFI_DEVICE_PATH_PROTOCOL * BmGetRamDiskDevicePath(IN EFI_DEVICE_PATH_PROTOCOL *FilePath)
VOID BmDestroyRamDisk(IN EFI_DEVICE_PATH_PROTOCOL *RamDiskDevicePath)
BOOLEAN BmMatchDevicePaths(IN EFI_DEVICE_PATH_PROTOCOL *Multi, IN EFI_DEVICE_PATH_PROTOCOL *Single)
BOOLEAN BmMatchPartitionDevicePathNode(IN EFI_DEVICE_PATH_PROTOCOL *BlockIoDevicePath, IN HARDDRIVE_DEVICE_PATH *HardDriveDevicePath)
EFI_DEVICE_PATH_PROTOCOL * BmExpandLoadFile(IN EFI_HANDLE LoadFileHandle, IN EFI_DEVICE_PATH_PROTOCOL *FilePath)
VOID(* BM_VARIABLE_VISITOR)(CHAR16 *Name, EFI_GUID *Guid, VOID *Context)
VOID EFIAPI BmStopHotkeyService(IN EFI_EVENT Event, IN VOID *Context)
EFI_STATUS BmGetFreeOptionNumber(IN EFI_BOOT_MANAGER_LOAD_OPTION_TYPE LoadOptionType, OUT UINT16 *FreeOptionNumber)
CHAR16 *(EFIAPI * EFI_BOOT_MANAGER_BOOT_DESCRIPTION_HANDLER)(IN EFI_HANDLE Handle, IN CONST CHAR16 *DefaultDescription)