diff options
Diffstat (limited to 'src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PlatformVarCleanupLib/PlatVarCleanup.h')
-rw-r--r-- | src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PlatformVarCleanupLib/PlatVarCleanup.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PlatformVarCleanupLib/PlatVarCleanup.h b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PlatformVarCleanupLib/PlatVarCleanup.h new file mode 100644 index 00000000..1fa42673 --- /dev/null +++ b/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Library/PlatformVarCleanupLib/PlatVarCleanup.h @@ -0,0 +1,102 @@ +/** @file + Include file for platform variable cleanup. + +Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> +SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _PLAT_VAR_CLEANUP_ +#define _PLAT_VAR_CLEANUP_ + +#include <Library/UefiBootServicesTableLib.h> +#include <Library/UefiRuntimeServicesTableLib.h> +#include <Library/BaseLib.h> +#include <Library/DebugLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/PrintLib.h> +#include <Library/MemoryAllocationLib.h> +#include <Library/HiiLib.h> +#include <Library/PlatformVarCleanupLib.h> + +#include <Protocol/Variable.h> +#include <Protocol/VarCheck.h> +#include <Protocol/FormBrowser2.h> +#include <Protocol/HiiConfigAccess.h> +#include <Protocol/HiiConfigRouting.h> +#include <Protocol/DevicePath.h> + +#include <Guid/EventGroup.h> +#include <Guid/MdeModuleHii.h> +#include <Guid/ImageAuthentication.h> +#include <Guid/VarErrorFlag.h> + +#include "PlatVarCleanupHii.h" + +// +// This is the generated IFR binary data for each formset defined in VFR. +// This data array is ready to be used as input of HiiAddPackages() to +// create a packagelist (which contains Form packages, String packages, etc). +// +extern UINT8 PlatVarCleanupBin[]; + +// +// This is the generated String package data for all .UNI files. +// This data array is ready to be used as input of HiiAddPackages() to +// create a packagelist (which contains Form packages, String packages, etc). +// +extern UINT8 PlatformVarCleanupLibStrings[]; + +#define USER_VARIABLE_NODE_SIGNATURE SIGNATURE_32 ('U', 'V', 'N', 'S') + +typedef struct { + UINTN Signature; + LIST_ENTRY Link; + EFI_GUID Guid; + CHAR16 *PromptString; + LIST_ENTRY NameLink; +} USER_VARIABLE_NODE; + +#define USER_VARIABLE_FROM_LINK(a) CR (a, USER_VARIABLE_NODE, Link, USER_VARIABLE_NODE_SIGNATURE) + +#define USER_VARIABLE_NAME_NODE_SIGNATURE SIGNATURE_32 ('U', 'V', 'N', 'N') + +typedef struct { + UINTN Signature; + LIST_ENTRY Link; + CHAR16 *Name; + UINTN DataSize; + UINT32 Attributes; + UINT16 Index; + EFI_QUESTION_ID QuestionId; + CHAR16 *PromptString; + CHAR16 *HelpString; + BOOLEAN Deleted; +} USER_VARIABLE_NAME_NODE; + +#define USER_VARIABLE_NAME_FROM_LINK(a) CR (a, USER_VARIABLE_NAME_NODE, Link, USER_VARIABLE_NAME_NODE_SIGNATURE) + +#pragma pack(1) +// +// HII specific Vendor Device Path definition. +// +typedef struct { + VENDOR_DEVICE_PATH VendorDevicePath; + EFI_DEVICE_PATH_PROTOCOL End; +} HII_VENDOR_DEVICE_PATH; +#pragma pack() + +#define VARIABLE_CLEANUP_HII_PRIVATE_SIGNATURE SIGNATURE_32 ('V', 'C', 'H', 'P') + +typedef struct { + UINTN Signature; + EFI_HANDLE DriverHandle; + EFI_HII_HANDLE HiiHandle; + EFI_HII_CONFIG_ACCESS_PROTOCOL ConfigAccess; + EFI_HII_CONFIG_ROUTING_PROTOCOL *ConfigRouting; + VARIABLE_CLEANUP_DATA VariableCleanupData; +} VARIABLE_CLEANUP_HII_PRIVATE_DATA; + +#define VARIABLE_CLEANUP_HII_PRIVATE_FROM_THIS(a) CR (a, VARIABLE_CLEANUP_HII_PRIVATE_DATA, ConfigAccess, VARIABLE_CLEANUP_HII_PRIVATE_SIGNATURE) + +#endif |