SecurityPkg/Tcg/MemoryOverwriteRequestControlLock/TcgMorLock.h File Reference


Functions

EFI_STATUS EFIAPI InternalGetVariable (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, OUT UINT32 *Attributes, IN OUT UINTN *DataSize, OUT VOID *Data)
EFI_STATUS EFIAPI InternalSetVariable (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN UINT32 Attributes, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS EFIAPI SetVariableCheckHandlerMor (IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN UINT32 Attributes, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS EFIAPI MorLockDriverInit (VOID)

Detailed Description

TCG MOR (Memory Overwrite Request) Lock Control Driver header file.

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.


Function Documentation

EFI_STATUS EFIAPI InternalGetVariable ( IN CHAR16 *  VariableName,
IN EFI_GUID *  VendorGuid,
OUT UINT32 *  Attributes,
IN OUT UINTN *  DataSize,
OUT VOID *  Data 
)

This service is a wrapper for the UEFI Runtime Service GetVariable().

Parameters:
VariableName the name of the vendor's variable, it's a Null-Terminated Unicode String
VendorGuid Unify identifier for vendor.
Attributes Point to memory location to return the attributes of variable. If the point is NULL, the parameter would be ignored.
DataSize As input, point to the maximum size of return Data-Buffer. As output, point to the actual size of the returned Data-Buffer.
Data Point to return Data-Buffer.
Return values:
EFI_SUCCESS The function completed successfully.
EFI_NOT_FOUND The variable was not found.
EFI_BUFFER_TOO_SMALL The DataSize is too small for the result. DataSize has been updated with the size needed to complete the request.
EFI_INVALID_PARAMETER VariableName is NULL.
EFI_INVALID_PARAMETER VendorGuid is NULL.
EFI_INVALID_PARAMETER DataSize is NULL.
EFI_INVALID_PARAMETER The DataSize is not too small and Data is NULL.
EFI_DEVICE_ERROR The variable could not be retrieved due to a hardware error.
EFI_SECURITY_VIOLATION The variable could not be retrieved due to an authentication failure.

References mSmmVariable.

Referenced by SetVariableCheckHandlerMor().

EFI_STATUS EFIAPI InternalSetVariable ( IN CHAR16 *  VariableName,
IN EFI_GUID *  VendorGuid,
IN UINT32  Attributes,
IN UINTN  DataSize,
IN VOID *  Data 
)

This service is a wrapper for the UEFI Runtime Service SetVariable()

Parameters:
VariableName the name of the vendor's variable, as a Null-Terminated Unicode String
VendorGuid Unify identifier for vendor.
Attributes Point to memory location to return the attributes of variable. If the point is NULL, the parameter would be ignored.
DataSize The size in bytes of Data-Buffer.
Data Point to the content of the variable.
Return values:
EFI_SUCCESS The firmware has successfully stored the variable and its data as defined by the Attributes.
EFI_INVALID_PARAMETER An invalid combination of attribute bits was supplied, or the DataSize exceeds the maximum allowed.
EFI_INVALID_PARAMETER VariableName is an empty Unicode string.
EFI_OUT_OF_RESOURCES Not enough storage is available to hold the variable and its data.
EFI_DEVICE_ERROR The variable could not be saved due to a hardware failure.
EFI_WRITE_PROTECTED The variable in question is read-only.
EFI_WRITE_PROTECTED The variable in question cannot be deleted.
EFI_SECURITY_VIOLATION The variable could not be written due to EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS set but the AuthInfo does NOT pass the validation check carried out by the firmware.
EFI_NOT_FOUND The variable trying to be updated or deleted was not found.

References mSmmVariable.

Referenced by MorLockDriverInit().

EFI_STATUS EFIAPI MorLockDriverInit ( VOID   ) 

Entry Point for MOR Lock Control driver.

Parameters:
[in] ImageHandle Image handle of this driver.
[in] SystemTable A Pointer to the EFI System Table.
Return values:
EFI_SUCEESS 
Returns:
Others Some error occurs.

References EFI_STATUS(), and InternalSetVariable().

Referenced by MorLockDriverEntryPointSmm().

EFI_STATUS EFIAPI SetVariableCheckHandlerMor ( IN CHAR16 *  VariableName,
IN EFI_GUID *  VendorGuid,
IN UINT32  Attributes,
IN UINTN  DataSize,
IN VOID *  Data 
)

This service is a checker handler for the UEFI Runtime Service SetVariable()

Parameters:
VariableName the name of the vendor's variable, as a Null-Terminated Unicode String
VendorGuid Unify identifier for vendor.
Attributes Point to memory location to return the attributes of variable. If the point is NULL, the parameter would be ignored.
DataSize The size in bytes of Data-Buffer.
Data Point to the content of the variable.
Return values:
EFI_SUCCESS The firmware has successfully stored the variable and its data as defined by the Attributes.
EFI_INVALID_PARAMETER An invalid combination of attribute bits was supplied, or the DataSize exceeds the maximum allowed.
EFI_INVALID_PARAMETER VariableName is an empty Unicode string.
EFI_OUT_OF_RESOURCES Not enough storage is available to hold the variable and its data.
EFI_DEVICE_ERROR The variable could not be saved due to a hardware failure.
EFI_WRITE_PROTECTED The variable in question is read-only.
EFI_WRITE_PROTECTED The variable in question cannot be deleted.
EFI_SECURITY_VIOLATION The variable could not be written due to EFI_VARIABLE_AUTHENTICATED_WRITE_ACCESS set but the AuthInfo does NOT pass the validation check carried out by the firmware.
EFI_NOT_FOUND The variable trying to be updated or deleted was not found.

References BOOLEAN(), EFI_STATUS(), InternalGetVariable(), IsAnyMorVariable(), IsMorLockVariable(), and UINTN().

Referenced by MorLockDriverEntryPointSmm().


Generated on Thu Sep 24 23:44:24 2015 for SecurityPkg[ALL] by  doxygen 1.5.7.1