TianoCore EDK2 master
Loading...
Searching...
No Matches
PlatVarCleanup.h
Go to the documentation of this file.
1
9#ifndef _PLAT_VAR_CLEANUP_
10#define _PLAT_VAR_CLEANUP_
11
14#include <Library/BaseLib.h>
15#include <Library/DebugLib.h>
17#include <Library/PrintLib.h>
19#include <Library/HiiLib.h>
21
22#include <Protocol/Variable.h>
23#include <Protocol/VarCheck.h>
27#include <Protocol/DevicePath.h>
28
29#include <Guid/EventGroup.h>
30#include <Guid/MdeModuleHii.h>
32#include <Guid/VarErrorFlag.h>
33
34#include "PlatVarCleanupHii.h"
35
36//
37// This is the generated IFR binary data for each formset defined in VFR.
38// This data array is ready to be used as input of HiiAddPackages() to
39// create a packagelist (which contains Form packages, String packages, etc).
40//
41extern UINT8 PlatVarCleanupBin[];
42
43//
44// This is the generated String package data for all .UNI files.
45// This data array is ready to be used as input of HiiAddPackages() to
46// create a packagelist (which contains Form packages, String packages, etc).
47//
48extern UINT8 PlatformVarCleanupLibStrings[];
49
50#define USER_VARIABLE_NODE_SIGNATURE SIGNATURE_32 ('U', 'V', 'N', 'S')
51
52typedef struct {
53 UINTN Signature;
54 LIST_ENTRY Link;
55 EFI_GUID Guid;
56 CHAR16 *PromptString;
57 LIST_ENTRY NameLink;
59
60#define USER_VARIABLE_FROM_LINK(a) CR (a, USER_VARIABLE_NODE, Link, USER_VARIABLE_NODE_SIGNATURE)
61
62#define USER_VARIABLE_NAME_NODE_SIGNATURE SIGNATURE_32 ('U', 'V', 'N', 'N')
63
64typedef struct {
65 UINTN Signature;
66 LIST_ENTRY Link;
67 CHAR16 *Name;
68 UINTN DataSize;
69 UINT32 Attributes;
70 UINT16 Index;
71 EFI_QUESTION_ID QuestionId;
72 CHAR16 *PromptString;
73 CHAR16 *HelpString;
74 BOOLEAN Deleted;
76
77#define USER_VARIABLE_NAME_FROM_LINK(a) CR (a, USER_VARIABLE_NAME_NODE, Link, USER_VARIABLE_NAME_NODE_SIGNATURE)
78
79#pragma pack(1)
80//
81// HII specific Vendor Device Path definition.
82//
83typedef struct {
84 VENDOR_DEVICE_PATH VendorDevicePath;
87#pragma pack()
88
89#define VARIABLE_CLEANUP_HII_PRIVATE_SIGNATURE SIGNATURE_32 ('V', 'C', 'H', 'P')
90
91typedef struct {
92 UINTN Signature;
93 EFI_HANDLE DriverHandle;
94 EFI_HII_HANDLE HiiHandle;
97 VARIABLE_CLEANUP_DATA VariableCleanupData;
99
100#define VARIABLE_CLEANUP_HII_PRIVATE_FROM_THIS(a) CR (a, VARIABLE_CLEANUP_HII_PRIVATE_DATA, ConfigAccess, VARIABLE_CLEANUP_HII_PRIVATE_SIGNATURE)
101
102#endif
UINT64 UINTN
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
VOID * EFI_HII_HANDLE
Definition: Base.h:213