MdeModulePkg[all]  0.98
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
VarCheckLib.h File Reference

Enumerations

enum  VAR_CHECK_REQUEST_SOURCE { VarCheckRequestReserved0 = 0, VarCheckRequestReserved1 = 1, VarCheckFromTrusted = 2, VarCheckFromUntrusted = 3 }
 

Functions

typedef VOID (EFIAPI *VAR_CHECK_END_OF_DXE_CALLBACK)(VOID)
 
EFI_STATUS EFIAPI VarCheckLibRegisterEndOfDxeCallback (IN VAR_CHECK_END_OF_DXE_CALLBACK Callback)
 
VOID ***EFIAPI VarCheckLibInitializeAtEndOfDxe (IN OUT UINTN *AddressPointerCount)
 
EFI_STATUS EFIAPI VarCheckLibRegisterAddressPointer (IN VOID **AddressPointer)
 
EFI_STATUS EFIAPI VarCheckLibRegisterSetVariableCheckHandler (IN VAR_CHECK_SET_VARIABLE_CHECK_HANDLER Handler)
 
EFI_STATUS EFIAPI VarCheckLibVariablePropertySet (IN CHAR16 *Name, IN EFI_GUID *Guid, IN VAR_CHECK_VARIABLE_PROPERTY *VariableProperty)
 
EFI_STATUS EFIAPI VarCheckLibVariablePropertyGet (IN CHAR16 *Name, IN EFI_GUID *Guid, OUT VAR_CHECK_VARIABLE_PROPERTY *VariableProperty)
 
EFI_STATUS EFIAPI VarCheckLibSetVariableCheck (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN UINT32 Attributes, IN UINTN DataSize, IN VOID *Data, IN VAR_CHECK_REQUEST_SOURCE RequestSource)
 

Detailed Description

Provides variable check services and database management.

Copyright (c) 2015, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Enumeration Type Documentation

Enumerator
VarCheckRequestReserved0 
VarCheckRequestReserved1 
VarCheckFromTrusted 
VarCheckFromUntrusted 

Function Documentation

VOID*** EFIAPI VarCheckLibInitializeAtEndOfDxe ( IN OUT UINTN AddressPointerCount)

Var check initialize at END_OF_DXE.

This function needs to be called at END_OF_DXE. Address pointers may be returned, and caller needs to ConvertPointer() for the pointers.

Parameters
[in,out]AddressPointerCountOutput pointer to address pointer count.
Returns
Address pointer buffer, NULL if input AddressPointerCount is NULL.
EFI_STATUS EFIAPI VarCheckLibRegisterAddressPointer ( IN VOID **  AddressPointer)

Register address pointer. The AddressPointer may be returned by VarCheckLibInitializeAtEndOfDxe().

Parameters
[in]AddressPointerAddress pointer.
Return values
EFI_SUCCESSThe address pointer was registered successfully.
EFI_INVALID_PARAMETERAddressPointer is NULL.
EFI_ACCESS_DENIEDEFI_END_OF_DXE_EVENT_GROUP_GUID or EFI_EVENT_GROUP_READY_TO_BOOT has already been signaled.
EFI_OUT_OF_RESOURCESThere is not enough resource for the address pointer register request.
EFI_STATUS EFIAPI VarCheckLibRegisterEndOfDxeCallback ( IN VAR_CHECK_END_OF_DXE_CALLBACK  Callback)

Register END_OF_DXE callback. The callback will be invoked by VarCheckLibInitializeAtEndOfDxe().

Parameters
[in]CallbackEND_OF_DXE callback.
Return values
EFI_SUCCESSThe callback was registered successfully.
EFI_INVALID_PARAMETERCallback is NULL.
EFI_ACCESS_DENIEDEFI_END_OF_DXE_EVENT_GROUP_GUID or EFI_EVENT_GROUP_READY_TO_BOOT has already been signaled.
EFI_OUT_OF_RESOURCESThere is not enough resource for the callback register request.
EFI_STATUS EFIAPI VarCheckLibRegisterSetVariableCheckHandler ( IN VAR_CHECK_SET_VARIABLE_CHECK_HANDLER  Handler)

Register SetVariable check handler.

Parameters
[in]HandlerPointer to check handler.
Return values
EFI_SUCCESSThe SetVariable check handler was registered successfully.
EFI_INVALID_PARAMETERHandler is NULL.
EFI_ACCESS_DENIEDEFI_END_OF_DXE_EVENT_GROUP_GUID or EFI_EVENT_GROUP_READY_TO_BOOT has already been signaled.
EFI_OUT_OF_RESOURCESThere is not enough resource for the SetVariable check handler register request.
EFI_UNSUPPORTEDThis interface is not implemented. For example, it is unsupported in VarCheck protocol if both VarCheck and SmmVarCheck protocols are present.
EFI_STATUS EFIAPI VarCheckLibSetVariableCheck ( IN CHAR16 *  VariableName,
IN EFI_GUID *  VendorGuid,
IN UINT32  Attributes,
IN UINTN  DataSize,
IN VOID Data,
IN VAR_CHECK_REQUEST_SOURCE  RequestSource 
)

SetVariable check.

Parameters
[in]VariableNameName of Variable to set.
[in]VendorGuidVariable vendor GUID.
[in]AttributesAttribute value of the variable.
[in]DataSizeSize of Data to set.
[in]DataData pointer.
[in]RequestSourceRequest source.
Return values
EFI_SUCCESSThe SetVariable check result was success.
EFI_INVALID_PARAMETERAn invalid combination of attribute bits, name, GUID, DataSize and Data value was supplied.
EFI_WRITE_PROTECTEDThe variable in question is read-only.
OthersThe other return status from check handler.
EFI_STATUS EFIAPI VarCheckLibVariablePropertyGet ( IN CHAR16 *  Name,
IN EFI_GUID *  Guid,
OUT VAR_CHECK_VARIABLE_PROPERTY VariableProperty 
)

Variable property get.

Parameters
[in]NamePointer to the variable name.
[in]GuidPointer to the vendor GUID.
[out]VariablePropertyPointer to the output variable property.
Return values
EFI_SUCCESSThe property of variable specified by the Name and Guid was got successfully.
EFI_INVALID_PARAMETERName, Guid or VariableProperty is NULL, or Name is an empty string.
EFI_NOT_FOUNDThe property of variable specified by the Name and Guid was not found.
EFI_STATUS EFIAPI VarCheckLibVariablePropertySet ( IN CHAR16 *  Name,
IN EFI_GUID *  Guid,
IN VAR_CHECK_VARIABLE_PROPERTY VariableProperty 
)

Variable property set.

Parameters
[in]NamePointer to the variable name.
[in]GuidPointer to the vendor GUID.
[in]VariablePropertyPointer to the input variable property.
Return values
EFI_SUCCESSThe property of variable specified by the Name and Guid was set successfully.
EFI_INVALID_PARAMETERName, Guid or VariableProperty is NULL, or Name is an empty string, or the fields of VariableProperty are not valid.
EFI_ACCESS_DENIEDEFI_END_OF_DXE_EVENT_GROUP_GUID or EFI_EVENT_GROUP_READY_TO_BOOT has already been signaled.
EFI_OUT_OF_RESOURCESThere is not enough resource for the variable property set request.
typedef VOID ( EFIAPI *  EBC_DEBUGGER_DEBUG)

Given a pointer to a new VM context, debug one or more instructions.

Parameters
[in]ThisA pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
[in]VmPtrA pointer to a VM context.
Return values
EFI_UNSUPPORTEDNo support for it.
EFI_SUCCESSDebug one or more instructions.