TianoCore EDK2 master
Loading...
Searching...
No Matches
DeviceManager.h
Go to the documentation of this file.
1
9#ifndef _DEVICE_MANAGER_H_
10#define _DEVICE_MANAGER_H_
11
12#include <Guid/MdeModuleHii.h>
14
16#include <Protocol/PciIo.h>
17
18#include <Library/PrintLib.h>
19#include <Library/DebugLib.h>
23#include <Library/BaseLib.h>
24#include <Library/HiiLib.h>
28
29//
30// These are defined as the same with vfr file
31//
32#define DEVICE_MANAGER_FORMSET_GUID \
33 { \
34 0x3ebfa8e6, 0x511d, 0x4b5b, {0xa9, 0x5f, 0xfb, 0x38, 0x26, 0xf, 0x1c, 0x27} \
35 }
36
37#define LABEL_END 0xffff
38#define LABEL_FORM_ID_OFFSET 0x0100
39
40#define DEVICE_MANAGER_FORM_ID 0x1000
41#define NETWORK_DEVICE_LIST_FORM_ID 0x1001
42#define NETWORK_DEVICE_FORM_ID 0x1002
43#define DEVICE_KEY_OFFSET 0x4000
44#define NETWORK_DEVICE_LIST_KEY_OFFSET 0x2000
45
46#define MAX_KEY_SECTION_LEN 0x1000
47
48#define QUESTION_NETWORK_DEVICE_ID 0x3FFF
49//
50// These are the VFR compiler generated data representing our VFR data.
51//
52extern UINT8 DeviceManagerVfrBin[];
53
54#define DEVICE_MANAGER_CALLBACK_DATA_SIGNATURE SIGNATURE_32 ('D', 'M', 'C', 'B')
55
59typedef struct {
60 VENDOR_DEVICE_PATH VendorDevicePath;
63
64typedef struct {
65 UINTN Signature;
66
71
72 EFI_HANDLE DriverHandle;
73
78
82 UINT8 VideoBios;
84
85typedef struct {
86 EFI_STRING_ID PromptId;
87 EFI_QUESTION_ID QuestionId;
89
90typedef struct {
91 UINTN CurListLen;
92 UINTN MaxListLen;
93 MENU_INFO_ITEM *NodeList;
95
96#define DEVICE_MANAGER_CALLBACK_DATA_FROM_THIS(a) \
97 CR (a, \
98 DEVICE_MANAGER_CALLBACK_DATA, \
99 ConfigAccess, \
100 DEVICE_MANAGER_CALLBACK_DATA_SIGNATURE \
101 )
102typedef struct {
103 EFI_STRING_ID StringId;
104 UINT16 Class;
106
130EFIAPI
133 IN CONST EFI_STRING Request,
134 OUT EFI_STRING *Progress,
135 OUT EFI_STRING *Results
136 );
137
155EFIAPI
158 IN CONST EFI_STRING Configuration,
159 OUT EFI_STRING *Progress
160 );
161
179EFIAPI
182 IN EFI_BROWSER_ACTION Action,
183 IN EFI_QUESTION_ID QuestionId,
184 IN UINT8 Type,
185 IN EFI_IFR_TYPE_VALUE *Value,
186 OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
187 );
188
189#endif
UINT64 UINTN
EFI_STATUS EFIAPI DeviceManagerExtractConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Request, OUT EFI_STRING *Progress, OUT EFI_STRING *Results)
EFI_STATUS EFIAPI DeviceManagerCallback(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)
EFI_STATUS EFIAPI DeviceManagerRouteConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
#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
EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess
Definition: DeviceManager.h:77