TianoCore EDK2 master
Loading...
Searching...
No Matches
VarCheckLib.h File Reference

Go to the source code of this file.

Typedefs

typedef VOID(EFIAPI * VAR_CHECK_END_OF_DXE_CALLBACK) (VOID)
 

Enumerations

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

Functions

EFI_STATUS EFIAPI VarCheckLibRegisterEndOfDxeCallback (IN VAR_CHECK_END_OF_DXE_CALLBACK Callback)
 
VOID ***EFIAPI VarCheckLibInitializeAtEndOfDxe (IN OUT UINTN *AddressPointerCount OPTIONAL)
 
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

Definition in file VarCheckLib.h.

Typedef Documentation

◆ VAR_CHECK_END_OF_DXE_CALLBACK

typedef VOID(EFIAPI * VAR_CHECK_END_OF_DXE_CALLBACK) (VOID)

Definition at line 22 of file VarCheckLib.h.

Enumeration Type Documentation

◆ VAR_CHECK_REQUEST_SOURCE

enum VAR_CHECK_REQUEST_SOURCE

Definition at line 14 of file VarCheckLib.h.

Function Documentation

◆ VarCheckLibInitializeAtEndOfDxe()

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

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.

Definition at line 304 of file VarCheckLib.c.

◆ VarCheckLibRegisterAddressPointer()

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.

Definition at line 398 of file VarCheckLib.c.

◆ VarCheckLibRegisterEndOfDxeCallback()

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.

Definition at line 264 of file VarCheckLib.c.

◆ VarCheckLibRegisterSetVariableCheckHandler()

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.

Definition at line 440 of file VarCheckLib.c.

◆ VarCheckLibSetVariableCheck()

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.

Definition at line 607 of file VarCheckLib.c.

◆ VarCheckLibVariablePropertyGet()

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.

Definition at line 558 of file VarCheckLib.c.

◆ VarCheckLibVariablePropertySet()

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.

Definition at line 483 of file VarCheckLib.c.