xieyuanh 6b3ac9cbf8 MdeModulePkg: Add VarCheckHiiLibMmDependency library.
VarCheckHiiLibMmDependency retrieve data (mVarCheckHiiBin) at the end
of the DXE phase, and pass the acquired data to the
VarCheckHiiLibStandaloneMm through a communication protocol.

Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Hongbin1 Zhang <hongbin1.zhang@intel.com>
Cc: Wei6 Xu <wei6.xu@intel.com>
Cc: Dun Tan <dun.tan@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>

Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com>
2024-09-02 17:26:58 +00:00

62 lines
1.4 KiB
C

/** @file
Include file for Var Check Hii handler and bin.
Copyright (c) 2015 - 2024, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _VAR_CHECK_HII_H_
#define _VAR_CHECK_HII_H_
#include <Library/VarCheckLib.h>
#include <Library/BaseLib.h>
#include <Library/DebugLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Guid/MdeModuleHii.h>
#include <Protocol/HiiDatabase.h>
#include <Protocol/FirmwareVolume2.h>
#include <Protocol/FirmwareVolumeBlock.h>
#include "InternalVarCheckStructure.h"
#include "VarCheckHiiGen.h"
// #define DUMP_VAR_CHECK_HII
// #define DUMP_HII_DATA
typedef struct {
UINT8 HiiOpCode;
CHAR8 *HiiOpCodeStr;
} VAR_CHECK_HII_OPCODE_STRING;
typedef struct {
UINT8 PackageType;
CHAR8 *PackageTypeStr;
} VAR_CHECK_HII_PACKAGE_TYPE_STRING;
/**
Dump Var Check HII.
@param[in] VarCheckHiiBin Pointer to VarCheckHiiBin.
@param[in] VarCheckHiiBinSize VarCheckHiiBin size.
**/
VOID
DumpVarCheckHii (
IN VOID *VarCheckHiiBin,
IN UINTN VarCheckHiiBinSize
);
#define VAR_CHECK_RECEIVED_HII_BIN_HANDLER_GUID \
{ \
0xe63095c7, 0x2b34, 0x4163, { 0x80, 0x3d, 0xc8, 0x3c, 0x2e, 0xd6, 0xa0, 0x37 } \
}
extern EFI_GUID gVarCheckReceivedHiiBinHandlerGuid;
#endif