123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- /** @file
- UEFI variable support functions for Firmware Management Protocol based
- firmware updates.
- Copyright (c) 2016, Microsoft Corporation. All rights reserved.<BR>
- Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
- SPDX-License-Identifier: BSD-2-Clause-Patent
- **/
- #ifndef __VARIABLE_SUPPORT_H__
- #define __VARIABLE_SUPPORT_H__
- #define DEFAULT_VERSION 0x1
- #define DEFAULT_LOWESTSUPPORTEDVERSION 0x0
- #define DEFAULT_LASTATTEMPT 0x0
- #define VARNAME_VERSION L"FmpVersion"
- #define VARNAME_LSV L"FmpLsv"
- #define VARNAME_LASTATTEMPTSTATUS L"LastAttemptStatus"
- #define VARNAME_LASTATTEMPTVERSION L"LastAttemptVersion"
- /**
- Returns the value used to fill in the Version field of the
- EFI_FIRMWARE_IMAGE_DESCRIPTOR structure that is returned by the GetImageInfo()
- service of the Firmware Management Protocol. The value is read from a UEFI
- variable. If the UEFI variables does not exist, then a default version value
- is returned.
- UEFI Variable accessed: GUID = gEfiCallerIdGuid, Name = L"FmpVersion"
- @return The version of the firmware image in the firmware device.
- **/
- UINT32
- GetVersionFromVariable (
- VOID
- );
- /**
- Returns the value used to fill in the LowestSupportedVersion field of the
- EFI_FIRMWARE_IMAGE_DESCRIPTOR structure that is returned by the GetImageInfo()
- service of the Firmware Management Protocol. The value is read from a UEFI
- variable. If the UEFI variables does not exist, then a default lowest
- supported version value is returned.
- UEFI Variable accessed: GUID = gEfiCallerIdGuid, Name = L"FmpLsv"
- @return The lowest supported version of the firmware image in the firmware
- device.
- **/
- UINT32
- GetLowestSupportedVersionFromVariable (
- VOID
- );
- /**
- Returns the value used to fill in the LastAttemptStatus field of the
- EFI_FIRMWARE_IMAGE_DESCRIPTOR structure that is returned by the GetImageInfo()
- service of the Firmware Management Protocol. The value is read from a UEFI
- variable. If the UEFI variables does not exist, then a default last attempt
- status value is returned.
- UEFI Variable accessed: GUID = gEfiCallerIdGuid, Name = L"LastAttemptStatus"
- @return The last attempt status value for the most recent capsule update.
- **/
- UINT32
- GetLastAttemptStatusFromVariable (
- VOID
- );
- /**
- Returns the value used to fill in the LastAttemptVersion field of the
- EFI_FIRMWARE_IMAGE_DESCRIPTOR structure that is returned by the GetImageInfo()
- service of the Firmware Management Protocol. The value is read from a UEFI
- variable. If the UEFI variables does not exist, then a default last attempt
- version value is returned.
- UEFI Variable accessed: GUID = gEfiCallerIdGuid, Name = L"LastAttemptVersion"
- @return The last attempt version value for the most recent capsule update.
- **/
- UINT32
- GetLastAttemptVersionFromVariable (
- VOID
- );
- /**
- Saves the version current of the firmware image in the firmware device to a
- UEFI variable.
- UEFI Variable accessed: GUID = gEfiCallerIdGuid, Name = L"FmpVersion"
- @param[in] Version The version of the firmware image in the firmware device.
- **/
- VOID
- SetVersionInVariable (
- UINT32 Version
- );
- /**
- Saves the lowest supported version current of the firmware image in the
- firmware device to a UEFI variable.
- UEFI Variable accessed: GUID = gEfiCallerIdGuid, Name = L"FmpLsv"
- @param[in] LowestSupportedVersion The lowest supported version of the firmware image
- in the firmware device.
- **/
- VOID
- SetLowestSupportedVersionInVariable (
- UINT32 LowestSupportedVersion
- );
- /**
- Saves the last attempt status value of the most recent FMP capsule update to a
- UEFI variable.
- UEFI Variable accessed: GUID = gEfiCallerIdGuid, Name = L"LastAttemptStatus"
- @param[in] LastAttemptStatus The last attempt status of the most recent FMP
- capsule update.
- **/
- VOID
- SetLastAttemptStatusInVariable (
- UINT32 LastAttemptStatus
- );
- /**
- Saves the last attempt version value of the most recent FMP capsule update to
- a UEFI variable.
- UEFI Variable accessed: GUID = gEfiCallerIdGuid, Name = L"LastAttemptVersion"
- @param[in] LastAttemptVersion The last attempt version value of the most
- recent FMP capsule update.
- **/
- VOID
- SetLastAttemptVersionInVariable (
- UINT32 LastAttemptVersion
- );
- /**
- Locks all the UEFI Variables that use gEfiCallerIdGuid of the currently
- executing module.
- **/
- EFI_STATUS
- LockAllFmpVariables (
- VOID
- );
- #endif
|