Introduces two new APIs to EDKII_VARIABLE_POLICY_PROTOCOL: 1. GetVariablePolicyInfo() 2. GetLockOnVariableStateVariablePolicyInfo() These allow a caller to retrieve policy information associated with a UEFI variable given the variable name and vendor GUID. GetVariablePolicyInfo() - Returns the variable policy applied to the UEFI variable. If the variable policy is applied toward an individual UEFI variable, that name can optionally be returned. GetLockOnVariableStateVariablePolicyInfo() - Returns the Lock on Variable State policy applied to the UEFI variable. If the Lock on Variable State policy is applied to a specific variable name, that name can optionally be returned. These functions can be useful for a variety of purposes such as auditing, testing, and functional flows. Also fixed some variable name typos in code touched by the changes. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Message-Id: <20231030203112.736-2-mikuback@linux.microsoft.com>
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
## @file VariablePolicyLib.inf
 | 
						|
# Business logic for Variable Policy enforcement.
 | 
						|
#
 | 
						|
# Copyright (c) Microsoft Corporation.
 | 
						|
# SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
##
 | 
						|
 | 
						|
 | 
						|
[Defines]
 | 
						|
  INF_VERSION         = 0x00010017
 | 
						|
  BASE_NAME           = VariablePolicyLib
 | 
						|
  FILE_GUID           = E9ECD342-159A-4F24-9FDF-65724027C594
 | 
						|
  VERSION_STRING      = 1.0
 | 
						|
  MODULE_TYPE         = DXE_DRIVER
 | 
						|
  LIBRARY_CLASS       = VariablePolicyLib|DXE_DRIVER DXE_SMM_DRIVER MM_STANDALONE
 | 
						|
 | 
						|
#
 | 
						|
# The following information is for reference only and not required by the build tools.
 | 
						|
#
 | 
						|
#  VALID_ARCHITECTURES           = ANY
 | 
						|
#
 | 
						|
 | 
						|
 | 
						|
[Sources]
 | 
						|
  VariablePolicyLib.c
 | 
						|
  VariablePolicyExtraInitNull.c
 | 
						|
 | 
						|
 | 
						|
[Packages]
 | 
						|
  MdePkg/MdePkg.dec
 | 
						|
  MdeModulePkg/MdeModulePkg.dec
 | 
						|
 | 
						|
 | 
						|
[LibraryClasses]
 | 
						|
  BaseLib
 | 
						|
  DebugLib
 | 
						|
  BaseMemoryLib
 | 
						|
  MemoryAllocationLib
 | 
						|
  SafeIntLib
 | 
						|
  PcdLib
 | 
						|
 | 
						|
 | 
						|
[Pcd]
 | 
						|
  gEfiMdeModulePkgTokenSpaceGuid.PcdAllowVariablePolicyEnforcementDisable     ## CONSUMES
 | 
						|
 | 
						|
 | 
						|
[BuildOptions]
 | 
						|
  MSFT:NOOPT_*_*_CC_FLAGS   = -DINTERNAL_UNIT_TEST
 | 
						|
  GCC:NOOPT_*_*_CC_FLAGS    = -DINTERNAL_UNIT_TEST
 |