]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Include/Library/PlatformBootManagerLib.h
6e2632904380722cb6bdc4f365507a8049ec8085
[mirror_edk2.git] / MdeModulePkg / Include / Library / PlatformBootManagerLib.h
1 /** @file
2 Platform Boot Manager library definition. A platform can implement
3 instances to support platform-specific behavior.
4
5 Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16
17 #ifndef __PLATFORM_BOOT_MANAGER_LIB_H_
18 #define __PLATFORM_BOOT_MANAGER_LIB_H_
19 #include <Library/UefiBootManagerLib.h>
20
21 /**
22 Do the platform specific action before the console is connected.
23
24 Such as:
25 Update console variable;
26 Register new Driver#### or Boot####;
27 Signal ReadyToLock event.
28 **/
29 VOID
30 EFIAPI
31 PlatformBootManagerBeforeConsole (
32 VOID
33 );
34
35 /**
36 Do the platform specific action after the console is connected.
37
38 Such as:
39 Dynamically switch output mode;
40 Signal console ready platform customized event;
41 Run diagnostics like memory testing;
42 Connect certain devices;
43 Dispatch aditional option roms.
44 **/
45 VOID
46 EFIAPI
47 PlatformBootManagerAfterConsole (
48 VOID
49 );
50
51 /**
52 This function is called each second during the boot manager waits the timeout.
53
54 @param TimeoutRemain The remaining timeout.
55 **/
56 VOID
57 EFIAPI
58 PlatformBootManagerWaitCallback (
59 UINT16 TimeoutRemain
60 );
61
62 /**
63 The function is called when no boot option could be launched,
64 including platform recovery options and options pointing to applications
65 built into firmware volumes.
66
67 If this function returns, BDS attempts to enter an infinite loop.
68 **/
69 VOID
70 EFIAPI
71 PlatformBootManagerUnableToBoot (
72 VOID
73 );
74
75 #endif