TianoCore EDK2 master
Loading...
Searching...
No Matches
BootManager.h
Go to the documentation of this file.
1
9#ifndef _EFI_BOOT_MANAGER_H_
10#define _EFI_BOOT_MANAGER_H_
11
12#include <Guid/MdeModuleHii.h>
13#include <Guid/GlobalVariable.h>
14
18
19#include <Library/PrintLib.h>
20#include <Library/DebugLib.h>
23#include <Library/UefiLib.h>
26#include <Library/HiiLib.h>
29
30#pragma pack(1)
31
35typedef struct {
36 VENDOR_DEVICE_PATH VendorDevicePath;
39#pragma pack()
40
41//
42// These are defined as the same with vfr file
43//
44#define BOOT_MANAGER_FORMSET_GUID \
45 { \
46 0x847bc3fe, 0xb974, 0x446d, {0x94, 0x49, 0x5a, 0xd5, 0x41, 0x2e, 0x99, 0x3b} \
47 }
48
49#define BOOT_MANAGER_FORM_ID 0x1000
50
51#define LABEL_BOOT_OPTION 0x00
52#define LABEL_BOOT_OPTION_END 0x01
53#define MAX_STRING_LEN 200
54
55//
56// Variable created with this flag will be "Efi:...."
57//
58#define VAR_FLAG EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE
59
60//
61// These are the VFR compiler generated data representing our VFR data.
62//
63extern UINT8 BootManagerVfrBin[];
64
65#define BOOT_MANAGER_CALLBACK_DATA_SIGNATURE SIGNATURE_32 ('B', 'M', 'C', 'B')
66
67typedef struct {
68 UINTN Signature;
69
70 //
71 // HII relative handles
72 //
73 EFI_HII_HANDLE HiiHandle;
74 EFI_HANDLE DriverHandle;
75
76 //
77 // Produced protocols
78 //
81
101EFIAPI
104 IN EFI_BROWSER_ACTION Action,
105 IN EFI_QUESTION_ID QuestionId,
106 IN UINT8 Type,
107 IN EFI_IFR_TYPE_VALUE *Value,
108 OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
109 );
110
134EFIAPI
137 IN CONST EFI_STRING Request,
138 OUT EFI_STRING *Progress,
139 OUT EFI_STRING *Results
140 );
141
159EFIAPI
162 IN CONST EFI_STRING Configuration,
163 OUT EFI_STRING *Progress
164 );
165
166#endif
UINT64 UINTN
EFI_STATUS EFIAPI BootManagerCallback(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN EFI_BROWSER_ACTION Action, IN EFI_QUESTION_ID QuestionId, IN UINT8 Type, IN EFI_IFR_TYPE_VALUE *Value, OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest)
Definition: BootManager.c:789
EFI_STATUS EFIAPI BootManagerRouteConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
Definition: BootManager.c:683
EFI_STATUS EFIAPI BootManagerExtractConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Request, OUT EFI_STRING *Progress, OUT EFI_STRING *Results)
Definition: BootManager.c:650
#define CONST
Definition: Base.h:259
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
VOID * EFI_HII_HANDLE