MdeModulePkg/Include/Protocol/VarCheck.h File Reference


Data Structures

struct  VAR_CHECK_VARIABLE_PROPERTY
struct  VARIABLE_ENTRY_PROPERTY
struct  _EDKII_VAR_CHECK_PROTOCOL

Defines

#define EDKII_VAR_CHECK_PROTOCOL_GUID
#define VAR_CHECK_VARIABLE_PROPERTY_REVISION   0x0001
#define VAR_CHECK_VARIABLE_PROPERTY_READ_ONLY   BIT0

Typedefs

typedef struct
_EDKII_VAR_CHECK_PROTOCOL 
EDKII_VAR_CHECK_PROTOCOL
typedef EFI_SET_VARIABLE VAR_CHECK_SET_VARIABLE_CHECK_HANDLER
typedef IN EFI_GUID * Guid
typedef IN EFI_GUID IN
VAR_CHECK_VARIABLE_PROPERTY
VariableProperty

Functions

typedef EFI_STATUS (EFIAPI *EDKII_VAR_CHECK_REGISTER_SET_VARIABLE_CHECK_HANDLER)(IN VAR_CHECK_SET_VARIABLE_CHECK_HANDLER Handler)

Variables

EFI_GUID gEdkiiVarCheckProtocolGuid

Detailed Description

Variable check definitions.

Copyright (c) 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php

THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.


Define Documentation

#define EDKII_VAR_CHECK_PROTOCOL_GUID

Value:

{ \
  0xaf23b340, 0x97b4, 0x4685, { 0x8d, 0x4f, 0xa3, 0xf2, 0x81, 0x69, 0xb2, 0x1d } \
};

#define VAR_CHECK_VARIABLE_PROPERTY_READ_ONLY   BIT0

#define VAR_CHECK_VARIABLE_PROPERTY_REVISION   0x0001


Typedef Documentation

typedef IN EFI_GUID * Guid

typedef EFI_SET_VARIABLE VAR_CHECK_SET_VARIABLE_CHECK_HANDLER

typedef IN EFI_GUID OUT VAR_CHECK_VARIABLE_PROPERTY * VariableProperty


Function Documentation

typedef EFI_STATUS ( EFIAPI *  EDKII_VARIABLE_LOCK_PROTOCOL_REQUEST_TO_LOCK  ) 

Register SetVariable check handler. Variable driver will call the handler to do check before really setting the variable into variable storage.

Parameters:
[in] Handler Pointer to the check handler.
Return values:
EFI_SUCCESS The SetVariable check handler was registered successfully.
EFI_INVALID_PARAMETER Handler is NULL.
EFI_ACCESS_DENIED EFI_END_OF_DXE_EVENT_GROUP_GUID or EFI_EVENT_GROUP_READY_TO_BOOT has already been signaled.
EFI_OUT_OF_RESOURCES There is not enough resource for the SetVariable check handler register request.
EFI_UNSUPPORTED This interface is not implemented. For example, it is unsupported in VarCheck protocol if both VarCheck and SmmVarCheck protocols are present.
Variable property set. Variable driver will do check according to the VariableProperty before really setting the variable into variable storage.

Parameters:
[in] Name Pointer to the variable name.
[in] Guid Pointer to the vendor GUID.
[in] VariableProperty Pointer to the input variable property.
Return values:
EFI_SUCCESS The property of variable specified by the Name and Guid was set successfully.
EFI_INVALID_PARAMETER Name, Guid or VariableProperty is NULL, or Name is an empty string, or the fields of VariableProperty are not valid.
EFI_ACCESS_DENIED EFI_END_OF_DXE_EVENT_GROUP_GUID or EFI_EVENT_GROUP_READY_TO_BOOT has already been signaled.
EFI_OUT_OF_RESOURCES There is not enough resource for the variable property set request.
Variable property get.

Parameters:
[in] Name Pointer to the variable name.
[in] Guid Pointer to the vendor GUID.
[out] VariableProperty Pointer to the output variable property.
Return values:
EFI_SUCCESS The property of variable specified by the Name and Guid was got successfully.
EFI_INVALID_PARAMETER Name, Guid or VariableProperty is NULL, or Name is an empty string.
EFI_NOT_FOUND The property of variable specified by the Name and Guid was not found.
Finds next variable in storage blocks of volatile and non-volatile storage areas.

This code finds next variable in storage blocks of volatile and non-volatile storage areas. If VariableName is an empty string, then we just return the first qualified variable without comparing VariableName and VendorGuid.

Parameters:
[in] VariableName Name of the variable to be found.
[in] VendorGuid Variable vendor GUID to be found.
[out] AuthVariableInfo Pointer to AUTH_VARIABLE_INFO structure for output of the next variable.
Return values:
EFI_INVALID_PARAMETER If VariableName is not an empty string, while VendorGuid is NULL.
EFI_SUCCESS Variable successfully found.
EFI_NOT_FOUND Variable not found
Update the variable region with Variable information.

Parameters:
[in] AuthVariableInfo Pointer AUTH_VARIABLE_INFO structure for input of the variable.
Return values:
EFI_SUCCESS The update operation is success.
EFI_INVALID_PARAMETER Invalid parameter.
EFI_WRITE_PROTECTED Variable is write-protected.
EFI_OUT_OF_RESOURCES There is not enough resource.
Get scratch buffer.

Parameters:
[in,out] ScratchBufferSize Scratch buffer size. If input size is greater than the maximum supported buffer size, this value contains the maximum supported buffer size as output.
[out] ScratchBuffer Pointer to scratch buffer address.
Return values:
EFI_SUCCESS Get scratch buffer successfully.
EFI_UNSUPPORTED If input size is greater than the maximum supported buffer size.
Clears any system state that was created in response to the Active call.

Parameters:
PeiServices General purpose services available to every PEIM.
This The PEI_SMM_CONTROL_PPI instance.
Periodic Optional parameter to repeat at this period one time or, if the Periodic Boolean is set, periodically.
Return values:
EFI_SUCCESS The SMI/PMI has been engendered.
EFI_DEVICE_ERROR The source could not be cleared.
EFI_INVALID_PARAMETER The service did not support the Periodic input argument.
Display one form, and return user input.

Parameters:
FormData Form Data to be shown.
UserInputData User input data.
Return values:
EFI_SUCCESS Form Data is shown, and user input is got.
This interface allows you to configure the EBC debug support driver. For example, turn on or off saving and printing of delta VM even if called. Or to even disable the entire interface, in which case all functions become no-ops.

Parameters:
[in] This A pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
[in] ConfigId ID to be configured.
[in] ConfigValue Value to be set.
Return values:
EFI_UNSUPPORTED No support for it.
EFI_SUCCESS Configure EBC debug.
Convert AsmText to the instruction. This function is only used for test purposes.

Parameters:
[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
[in] AsmText A pointer to EBC ASM text code.
[out] Buffer Buffer to store the instruction.
[out] BufferLen Size of buffer that is requried to store data.
Return values:
EFI_UNSUPPORTED This functionality is unsupported.
EFI_SUCCESS Successfully convert AsmText to the instruction.
Dump the executed instruction. This function is only used for test purposes.

Parameters:
[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
[out] AsmText Contain the disasm text.
[out] Buffer Buffer to store the instruction.
[out] BufferLen Size of buffer that is requried to store data.
Return values:
EFI_UNSUPPORTED This functionality is unsupported.
EFI_SUCCESS Successfully dump the executed instruction.
Register the hot key with its browser action, or unregistered the hot key. If the action value is zero, the hot key will be unregistered if it has been registered. If the same hot key has been registered, the new action and help string will override the previous ones.

Parameters:
[in] KeyData A pointer to a buffer that describes the keystroke information for the hot key. Its type is EFI_INPUT_KEY to be supported by all ConsoleIn devices.
[in] Action Action value that describes what action will be trigged when the hot key is pressed.
[in] DefaultId Specifies the type of defaults to retrieve, which is only for DEFAULT action.
[in] HelpString Help string that describes the hot key information. Its value may be NULL for the unregistered hot key.
Return values:
EFI_SUCCESS Hot key is registered or unregistered.
EFI_INVALID_PARAMETER KeyData is NULL.
Variable property set. Variable driver will do check according to the VariableProperty before really setting the variable into variable storage.

Parameters:
[in] Name Pointer to the variable name.
[in] Guid Pointer to the vendor GUID.
[in] VariableProperty Pointer to the input variable property.
Return values:
EFI_SUCCESS The property of variable specified by the Name and Guid was set successfully.
EFI_INVALID_PARAMETER Name, Guid or VariableProperty is NULL, or Name is an empty string, or the fields of VariableProperty are not valid.
EFI_ACCESS_DENIED EFI_END_OF_DXE_EVENT_GROUP_GUID or EFI_EVENT_GROUP_READY_TO_BOOT has already been signaled.
EFI_OUT_OF_RESOURCES There is not enough resource for the variable property set request.
Variable property get.

Parameters:
[in] Name Pointer to the variable name.
[in] Guid Pointer to the vendor GUID.
[out] VariableProperty Pointer to the output variable property.
Return values:
EFI_SUCCESS The property of variable specified by the Name and Guid was got successfully.
EFI_INVALID_PARAMETER Name, Guid or VariableProperty is NULL, or Name is an empty string.
EFI_NOT_FOUND The property of variable specified by the Name and Guid was not found.
Finds variable in storage blocks of volatile and non-volatile storage areas.

This code finds variable in storage blocks of volatile and non-volatile storage areas. If VariableName is an empty string, then we just return the first qualified variable without comparing VariableName and VendorGuid.

Parameters:
[in] VariableName Name of the variable to be found.
[in] VendorGuid Variable vendor GUID to be found.
[out] AuthVariableInfo Pointer to AUTH_VARIABLE_INFO structure for output of the variable found.
Return values:
EFI_INVALID_PARAMETER If VariableName is not an empty string, while VendorGuid is NULL.
EFI_SUCCESS Variable successfully found.
EFI_NOT_FOUND Variable not found
Finds next variable in storage blocks of volatile and non-volatile storage areas.

This code finds next variable in storage blocks of volatile and non-volatile storage areas. If VariableName is an empty string, then we just return the first qualified variable without comparing VariableName and VendorGuid.

Parameters:
[in] VariableName Name of the variable to be found.
[in] VendorGuid Variable vendor GUID to be found.
[out] AuthVariableInfo Pointer to AUTH_VARIABLE_INFO structure for output of the next variable.
Return values:
EFI_INVALID_PARAMETER If VariableName is not an empty string, while VendorGuid is NULL.
EFI_SUCCESS Variable successfully found.
EFI_NOT_FOUND Variable not found
Update the variable region with Variable information.

Parameters:
[in] AuthVariableInfo Pointer AUTH_VARIABLE_INFO structure for input of the variable.
Return values:
EFI_SUCCESS The update operation is success.
EFI_INVALID_PARAMETER Invalid parameter.
EFI_WRITE_PROTECTED Variable is write-protected.
EFI_OUT_OF_RESOURCES There is not enough resource.
Get scratch buffer.

Parameters:
[in,out] ScratchBufferSize Scratch buffer size. If input size is greater than the maximum supported buffer size, this value contains the maximum supported buffer size as output.
[out] ScratchBuffer Pointer to scratch buffer address.
Return values:
EFI_SUCCESS Get scratch buffer successfully.
EFI_UNSUPPORTED If input size is greater than the maximum supported buffer size.
A callback function to intercept events during message parser.

This function will be invoked during HttpParseMessageBody() with various events type. An error return status of the callback function will cause the HttpParseMessageBody() aborted.

Parameters:
[in] EventType Event type of this callback call.
[in] Data A pointer to data buffer.
[in] Length Length in bytes of the Data.
[in] Context Callback context set by HttpInitMsgParser().
Return values:
EFI_SUCCESS Continue to parser the message body.
Others Abort the parse.
Callback function which provided by user to remove one node in NetDestroyLinkList process.

Parameters:
[in] Entry The entry to be removed.
[in] Context Pointer to the callback context corresponds to the Context in NetDestroyLinkList.
Return values:
EFI_SUCCESS The entry has been removed successfully.
Others Fail to remove the entry.
The security handler is used to abstracts security-specific functions from the DXE Foundation of UEFI Image Verification, Trusted Computing Group (TCG) measured boot, User Identity policy for image loading and consoles, and for purposes of handling GUIDed section encapsulations.

Parameters:
[in] AuthenticationStatus The authentication status for the input file.
[in] File The pointer to the device path of the file that is being dispatched. This will optionally be used for logging.
[in] FileBuffer A pointer to the buffer with the UEFI file image
[in] FileSize The size of File buffer.
[in] BootPolicy A boot policy that was used to call LoadImage() UEFI service.
Return values:
EFI_SUCCESS The file specified by DevicePath and non-NULL FileBuffer did authenticate, and the platform policy dictates that the DXE Foundation may use the file.
EFI_SUCCESS The device path specified by NULL device path DevicePath and non-NULL FileBuffer did authenticate, and the platform policy dictates that the DXE Foundation may execute the image in FileBuffer.
EFI_SUCCESS FileBuffer is NULL and current user has permission to start UEFI device drivers on the device path specified by DevicePath.
EFI_SECURITY_VIOLATION The file specified by DevicePath and FileBuffer did not authenticate, and the platform policy dictates that the file should be placed in the untrusted state. The image has been added to the file execution table.
EFI_ACCESS_DENIED The file specified by File and FileBuffer did not authenticate, and the platform policy dictates that the DXE Foundation may not use File.
EFI_SECURITY_VIOLATION FileBuffer is NULL and the user has no permission to start UEFI device drivers on the device path specified by DevicePath.
EFI_SECURITY_VIOLATION FileBuffer is not NULL and the user has no permission to load drivers from the device path specified by DevicePath. The image has been added into the list of the deferred images.
The prototype called when UdpIo Library configures a UDP instance.

The prototype is set and called when creating a UDP_IO in UdpIoCreatePort().

Parameters:
[in] UdpIo The UDP_IO to configure.
[in] Context The user-defined data when calling UdpIoCreatePort().
Return values:
EFI_SUCCESS The configuration succeeded.
Others The UDP_IO fails to configure indicating UdpIoCreatePort() should fail.
This interface conveys performance information out of the Security (SEC) phase into PEI.

This service is published by the SEC phase. The SEC phase handoff has an optional EFI_PEI_PPI_DESCRIPTOR list as its final argument when control is passed from SEC into the PEI Foundation. As such, if the platform supports collecting performance data in SEC, this information is encapsulated into the data structure abstracted by this service. This information is collected for the boot-strap processor (BSP) on IA-32.

Parameters:
[in] PeiServices The pointer to the PEI Services Table.
[in] This The pointer to this instance of the PEI_SEC_PERFORMANCE_PPI.
[out] Performance The pointer to performance data collected in SEC phase.
Return values:
EFI_SUCCESS The performance data was successfully returned.
Invokes SMI activation from either the preboot or runtime environment.

Parameters:
PeiServices General purpose services available to every PEIM.
This The PEI_SMM_CONTROL_PPI instance.
ArgumentBuffer The optional sized data to pass into the protocol activation.
ArgumentBufferSize The optional size of the data.
Periodic An optional mechanism to periodically repeat activation.
ActivationInterval An optional parameter to repeat at this period one time or, if the Periodic Boolean is set, periodically.
Return values:
EFI_SUCCESS The SMI/PMI has been engendered.
EFI_DEVICE_ERROR The timing is unsupported.
EFI_INVALID_PARAMETER The activation period is unsupported.
EFI_NOT_STARTED The SMM base service has not been initialized.
Clears any system state that was created in response to the Active call.

Parameters:
PeiServices General purpose services available to every PEIM.
This The PEI_SMM_CONTROL_PPI instance.
Periodic Optional parameter to repeat at this period one time or, if the Periodic Boolean is set, periodically.
Return values:
EFI_SUCCESS The SMI/PMI has been engendered.
EFI_DEVICE_ERROR The source could not be cleared.
EFI_INVALID_PARAMETER The service did not support the Periodic input argument.
Perform Password check. Passwork may be encrypted by driver that requires the specific check.

Parameters:
Form Form where Password Statement is in.
Statement Password statement
PasswordString Password string to be checked. It may be NULL. NULL means to restore password. "" string can be used to checked whether old password does exist.
Returns:
Status Status of Password check.
Display one form, and return user input.

Parameters:
FormData Form Data to be shown.
UserInputData User input data.
Return values:
EFI_SUCCESS Form Data is shown, and user input is got.
Trig Exception on EBC VM.

Parameters:
[in] This A pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
[in] VmPtr A pointer to a VM context.
[in] ExceptionType Exception to be trigged.
Return values:
EFI_UNSUPPORTED No support for it.
EFI_SUCCESS Exception is trigged.
This interface allows you to configure the EBC debug support driver. For example, turn on or off saving and printing of delta VM even if called. Or to even disable the entire interface, in which case all functions become no-ops.

Parameters:
[in] This A pointer to the EFI_EBC_SIMPLE_DEBUGGER_PROTOCOL structure.
[in] ConfigId ID to be configured.
[in] ConfigValue Value to be set.
Return values:
EFI_UNSUPPORTED No support for it.
EFI_SUCCESS Configure EBC debug.
Given a pointer to a new VM context, execute one or more instructions. This function is only used for test purposes.

Parameters:
[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
[in] VmPtr A pointer to a VM context.
[in,out] InstructionCount A pointer to a UINTN value holding the number of instructions to execute. If it holds value of 0, then the instruction to be executed is 1.
Return values:
EFI_UNSUPPORTED At least one of the opcodes is not supported.
EFI_SUCCESS All of the instructions are executed successfully.
Convert AsmText to the instruction. This function is only used for test purposes.

Parameters:
[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
[in] AsmText A pointer to EBC ASM text code.
[out] Buffer Buffer to store the instruction.
[out] BufferLen Size of buffer that is requried to store data.
Return values:
EFI_UNSUPPORTED This functionality is unsupported.
EFI_SUCCESS Successfully convert AsmText to the instruction.
Dump the executed instruction. This function is only used for test purposes.

Parameters:
[in] This A pointer to the EFI_EBC_VM_TEST_PROTOCOL structure.
[out] AsmText Contain the disasm text.
[out] Buffer Buffer to store the instruction.
[out] BufferLen Size of buffer that is requried to store data.
Return values:
EFI_UNSUPPORTED This functionality is unsupported.
EFI_SUCCESS Successfully dump the executed instruction.
Execute the action requested by the Action parameter.

Parameters:
[in] Action Execute the request action.
[in] DefaultId The default Id info when need to load default value.
Return values:
EFI_SUCCESS Execute the request action succss.
Mark a variable that will become read-only after leaving the DXE phase of execution. Write request coming from SMM environment through EFI_SMM_VARIABLE_PROTOCOL is allowed.

Parameters:
[in] This The EDKII_VARIABLE_LOCK_PROTOCOL instance.
[in] VariableName A pointer to the variable name that will be made read-only subsequently.
[in] VendorGuid A pointer to the vendor GUID that will be made read-only subsequently.
Return values:
EFI_SUCCESS The variable specified by the VariableName and the VendorGuid was marked as pending to be read-only.
EFI_INVALID_PARAMETER VariableName or VendorGuid is NULL. Or VariableName is an empty string.
EFI_ACCESS_DENIED EFI_END_OF_DXE_EVENT_GROUP_GUID or EFI_EVENT_GROUP_READY_TO_BOOT has already been signaled.
EFI_OUT_OF_RESOURCES There is not enough resource to hold the lock request.


Variable Documentation


Generated on Thu Sep 24 23:30:15 2015 for MdeModulePkg[ALL] by  doxygen 1.5.7.1