MdeModulePkg[all]
0.98
|
Macros | |
#define | LOCK_BOX_ATTRIBUTE_RESTORE_IN_PLACE BIT0 |
#define | LOCK_BOX_ATTRIBUTE_RESTORE_IN_S3_ONLY BIT1 |
Functions | |
RETURN_STATUS EFIAPI | SaveLockBox (IN GUID *Guid, IN VOID *Buffer, IN UINTN Length) |
RETURN_STATUS EFIAPI | SetLockBoxAttributes (IN GUID *Guid, IN UINT64 Attributes) |
RETURN_STATUS EFIAPI | UpdateLockBox (IN GUID *Guid, IN UINTN Offset, IN VOID *Buffer, IN UINTN Length) |
RETURN_STATUS EFIAPI | RestoreLockBox (IN GUID *Guid, IN VOID *Buffer, IN OUT UINTN *Length) |
RETURN_STATUS EFIAPI | RestoreAllLockBoxInPlace (VOID) |
This library is only intended to be used by DXE modules that need save confidential information to LockBox and get it by PEI modules in S3 phase.
Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
#define LOCK_BOX_ATTRIBUTE_RESTORE_IN_PLACE BIT0 |
#define LOCK_BOX_ATTRIBUTE_RESTORE_IN_S3_ONLY BIT1 |
RETURN_STATUS EFIAPI RestoreAllLockBoxInPlace | ( | VOID | ) |
This function will restore confidential information from all lockbox which have RestoreInPlace attribute.
RETURN_SUCCESS | the information is restored successfully. |
RETURN_NOT_STARTED | it is too early to invoke this interface |
RETURN_UNSUPPORTED | the service is not supported by implementaion. |
This function will restore confidential information from lockbox.
Guid | the guid to identify the confidential information |
Buffer | the address of the restored confidential information NULL means restored to original address, Length MUST be NULL at same time. |
Length | the length of the restored confidential information |
RETURN_SUCCESS | the information is restored successfully. |
RETURN_INVALID_PARAMETER | the Guid is NULL, or one of Buffer and Length is NULL. |
RETURN_WRITE_PROTECTED | Buffer and Length are NULL, but the LockBox has no LOCK_BOX_ATTRIBUTE_RESTORE_IN_PLACE attribute. |
RETURN_BUFFER_TOO_SMALL | the Length is too small to hold the confidential information. |
RETURN_NOT_FOUND | the requested GUID not found. |
RETURN_NOT_STARTED | it is too early to invoke this interface |
RETURN_ACCESS_DENIED | not allow to restore to the address |
RETURN_UNSUPPORTED | the service is not supported by implementaion. |
This function will save confidential information to lockbox.
Guid | the guid to identify the confidential information |
Buffer | the address of the confidential information |
Length | the length of the confidential information |
RETURN_SUCCESS | the information is saved successfully. |
RETURN_INVALID_PARAMETER | the Guid is NULL, or Buffer is NULL, or Length is 0 |
RETURN_ALREADY_STARTED | the requested GUID already exist. |
RETURN_OUT_OF_RESOURCES | no enough resource to save the information. |
RETURN_ACCESS_DENIED | it is too late to invoke this interface |
RETURN_NOT_STARTED | it is too early to invoke this interface |
RETURN_UNSUPPORTED | the service is not supported by implementaion. |
RETURN_STATUS EFIAPI SetLockBoxAttributes | ( | IN GUID * | Guid, |
IN UINT64 | Attributes | ||
) |
This function will set lockbox attributes.
Guid | the guid to identify the confidential information |
Attributes | the attributes of the lockbox |
RETURN_SUCCESS | the information is saved successfully. |
RETURN_INVALID_PARAMETER | attributes is invalid. |
RETURN_NOT_FOUND | the requested GUID not found. |
RETURN_ACCESS_DENIED | it is too late to invoke this interface |
RETURN_NOT_STARTED | it is too early to invoke this interface |
RETURN_UNSUPPORTED | the service is not supported by implementaion. |
RETURN_STATUS EFIAPI UpdateLockBox | ( | IN GUID * | Guid, |
IN UINTN | Offset, | ||
IN VOID * | Buffer, | ||
IN UINTN | Length | ||
) |
This function will update confidential information to lockbox.
Guid | the guid to identify the original confidential information |
Offset | the offset of the original confidential information |
Buffer | the address of the updated confidential information |
Length | the length of the updated confidential information |
RETURN_SUCCESS | the information is saved successfully. |
RETURN_INVALID_PARAMETER | the Guid is NULL, or Buffer is NULL, or Length is 0. |
RETURN_NOT_FOUND | the requested GUID not found. |
RETURN_BUFFER_TOO_SMALL | for lockbox without attribute LOCK_BOX_ATTRIBUTE_RESTORE_IN_S3_ONLY, the original buffer to too small to hold new information. |
RETURN_OUT_OF_RESOURCES | for lockbox with attribute LOCK_BOX_ATTRIBUTE_RESTORE_IN_S3_ONLY, no enough resource to save the information. |
RETURN_ACCESS_DENIED | it is too late to invoke this interface |
RETURN_NOT_STARTED | it is too early to invoke this interface |
RETURN_UNSUPPORTED | the service is not supported by implementaion. |