/** @file
NULL implementation of Variable Read Lib
This library provides phase agnostic access to the UEFI Variable Services.
This is done by implementing a wrapper on top of the phase specific mechanism
for reading from UEFI variables. For example, the PEI implementation of this
library uses EFI_PEI_READ_ONLY_VARIABLE2_PPI. The DXE implementation accesses
the UEFI Runtime Services Table, and the SMM implementation uses
EFI_SMM_VARIABLE_PROTOCOL.
Using this library allows code to be written in a generic manner that can be
used in PEI, DXE, or SMM without modification.
@copyright
Copyright 2021 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include
/**
Returns the value of a variable.
@param[in] VariableName A Null-terminated string that is the name of the vendor's
variable.
@param[in] VendorGuid A unique identifier for the vendor.
@param[out] Attributes If not NULL, a pointer to the memory location to return the
attributes bitmask for the variable.
@param[in, out] DataSize On input, the size in bytes of the return Data buffer.
On output the size of data returned in Data.
@param[out] Data The buffer to return the contents of the variable. May be NULL
with a zero DataSize in order to determine the size buffer needed.
@retval EFI_UNSUPPORTED This function is not implemented by this instance of the LibraryClass
**/
EFI_STATUS
EFIAPI
VarLibGetVariable (
IN CHAR16 *VariableName,
IN EFI_GUID *VendorGuid,
OUT UINT32 *Attributes, OPTIONAL
IN OUT UINTN *DataSize,
OUT VOID *Data OPTIONAL
)
{
return EFI_UNSUPPORTED;
}
/**
Enumerates the current variable names.
@param[in, out] VariableNameSize The size of the VariableName buffer. The size must be large
enough to fit input string supplied in VariableName buffer.
@param[in, out] VariableName On input, supplies the last VariableName that was returned
by GetNextVariableName(). On output, returns the Nullterminated
string of the current variable.
@param[in, out] VendorGuid On input, supplies the last VendorGuid that was returned by
GetNextVariableName(). On output, returns the
VendorGuid of the current variable.
@retval EFI_UNSUPPORTED This function is not implemented by this instance of the LibraryClass
**/
EFI_STATUS
EFIAPI
VarLibGetNextVariableName (
IN OUT UINTN *VariableNameSize,
IN OUT CHAR16 *VariableName,
IN OUT EFI_GUID *VendorGuid
)
{
return EFI_UNSUPPORTED;
}