]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Library/PlatformVarCleanupLib/PlatVarCleanup.h
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Library / PlatformVarCleanupLib / PlatVarCleanup.h
CommitLineData
c95d9ab8
SZ
1/** @file\r
2 Include file for platform variable cleanup.\r
3\r
4Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
9d510e61 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
c95d9ab8
SZ
6\r
7**/\r
8\r
9#ifndef _PLAT_VAR_CLEANUP_\r
10#define _PLAT_VAR_CLEANUP_\r
11\r
12#include <Library/UefiBootServicesTableLib.h>\r
13#include <Library/UefiRuntimeServicesTableLib.h>\r
14#include <Library/BaseLib.h>\r
15#include <Library/DebugLib.h>\r
16#include <Library/BaseMemoryLib.h>\r
17#include <Library/PrintLib.h>\r
18#include <Library/MemoryAllocationLib.h>\r
19#include <Library/HiiLib.h>\r
20#include <Library/PlatformVarCleanupLib.h>\r
21\r
22#include <Protocol/Variable.h>\r
23#include <Protocol/VarCheck.h>\r
24#include <Protocol/FormBrowser2.h>\r
25#include <Protocol/HiiConfigAccess.h>\r
26#include <Protocol/HiiConfigRouting.h>\r
27#include <Protocol/DevicePath.h>\r
28\r
29#include <Guid/EventGroup.h>\r
30#include <Guid/MdeModuleHii.h>\r
31#include <Guid/ImageAuthentication.h>\r
32#include <Guid/VarErrorFlag.h>\r
33\r
34#include "PlatVarCleanupHii.h"\r
35\r
36//\r
37// This is the generated IFR binary data for each formset defined in VFR.\r
38// This data array is ready to be used as input of HiiAddPackages() to\r
39// create a packagelist (which contains Form packages, String packages, etc).\r
40//\r
41extern UINT8 PlatVarCleanupBin[];\r
42\r
43//\r
44// This is the generated String package data for all .UNI files.\r
45// This data array is ready to be used as input of HiiAddPackages() to\r
46// create a packagelist (which contains Form packages, String packages, etc).\r
47//\r
48extern UINT8 PlatformVarCleanupLibStrings[];\r
49\r
50#define USER_VARIABLE_NODE_SIGNATURE SIGNATURE_32 ('U', 'V', 'N', 'S')\r
51\r
52typedef struct {\r
53 UINTN Signature;\r
54 LIST_ENTRY Link;\r
55 EFI_GUID Guid;\r
56 CHAR16 *PromptString;\r
57 LIST_ENTRY NameLink;\r
58} USER_VARIABLE_NODE;\r
59\r
60#define USER_VARIABLE_FROM_LINK(a) CR (a, USER_VARIABLE_NODE, Link, USER_VARIABLE_NODE_SIGNATURE)\r
61\r
62#define USER_VARIABLE_NAME_NODE_SIGNATURE SIGNATURE_32 ('U', 'V', 'N', 'N')\r
63\r
64typedef struct {\r
65 UINTN Signature;\r
66 LIST_ENTRY Link;\r
67 CHAR16 *Name;\r
68 UINTN DataSize;\r
69 UINT32 Attributes;\r
70 UINT16 Index;\r
71 EFI_QUESTION_ID QuestionId;\r
72 CHAR16 *PromptString;\r
73 CHAR16 *HelpString;\r
74 BOOLEAN Deleted;\r
75} USER_VARIABLE_NAME_NODE;\r
76\r
77#define USER_VARIABLE_NAME_FROM_LINK(a) CR (a, USER_VARIABLE_NAME_NODE, Link, USER_VARIABLE_NAME_NODE_SIGNATURE)\r
78\r
79#pragma pack(1)\r
80//\r
81// HII specific Vendor Device Path definition.\r
82//\r
83typedef struct {\r
84 VENDOR_DEVICE_PATH VendorDevicePath;\r
85 EFI_DEVICE_PATH_PROTOCOL End;\r
86} HII_VENDOR_DEVICE_PATH;\r
87#pragma pack()\r
88\r
89#define VARIABLE_CLEANUP_HII_PRIVATE_SIGNATURE SIGNATURE_32 ('V', 'C', 'H', 'P')\r
90\r
91typedef struct {\r
92 UINTN Signature;\r
93 EFI_HANDLE DriverHandle;\r
94 EFI_HII_HANDLE HiiHandle;\r
95 EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess;\r
96 EFI_HII_CONFIG_ROUTING_PROTOCOL *ConfigRouting;\r
97 VARIABLE_CLEANUP_DATA VariableCleanupData;\r
98} VARIABLE_CLEANUP_HII_PRIVATE_DATA;\r
99\r
100#define VARIABLE_CLEANUP_HII_PRIVATE_FROM_THIS(a) CR (a, VARIABLE_CLEANUP_HII_PRIVATE_DATA, ConfigAccess, VARIABLE_CLEANUP_HII_PRIVATE_SIGNATURE)\r
101\r
102#endif\r