/**@file
|
|
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
**/
|
|
#ifndef _HOB_VARIABLE_LIB_H_
|
#define _HOB_VARIABLE_LIB_H_
|
|
/**
|
This function finds the default data and create GUID hob for it.
|
|
@retval EFI_SUCCESS The matched default data is found.
|
@retval EFI_NOT_FOUND The matched default data is not found.
|
@retval EFI_OUT_OF_RESOURCES No enough resource to create HOB.
|
|
**/
|
EFI_STATUS
|
EFIAPI
|
CreateVariableHob (
|
VOID
|
);
|
|
/**
|
This function finds the matched default data and create GUID hob for it.
|
|
@param StoreId Specifies the type of defaults to retrieve.
|
@param SkuId Specifies the platform board of defaults to retrieve.
|
|
@retval EFI_SUCCESS The matched default data is found.
|
@retval EFI_NOT_FOUND The matched default data is not found.
|
@retval EFI_OUT_OF_RESOURCES No enough resource to create HOB.
|
|
**/
|
EFI_STATUS
|
EFIAPI
|
CreateDefaultVariableHob (
|
IN UINT16 StoreId,
|
IN UINT16 SkuId
|
);
|
|
/**
|
Get variable from default variable HOB.
|
|
@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.
|
|
@retval EFI_SUCCESS The function completed successfully.
|
@retval EFI_NOT_FOUND The variable was not found.
|
@retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the result.
|
@retval EFI_INVALID_PARAMETER VariableName is NULL.
|
@retval EFI_INVALID_PARAMETER VendorGuid is NULL.
|
@retval EFI_INVALID_PARAMETER DataSize is NULL.
|
@retval EFI_INVALID_PARAMETER The DataSize is not too small and Data is NULL.
|
|
**/
|
EFI_STATUS
|
EFIAPI
|
GetVariableFromHob (
|
IN CHAR16 *VariableName,
|
IN EFI_GUID *VendorGuid,
|
OUT UINT32 *Attributes, OPTIONAL
|
IN OUT UINTN *DataSize,
|
OUT VOID *Data
|
);
|
|
/**
|
Set variable to default variable HOB.
|
|
@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[in] Attributes If not NULL, a pointer to the memory location to set the
|
attributes bitmask for the variable.
|
@param[in] DataSize On input, the size in bytes of the return Data buffer.
|
On output the size of data returned in Data.
|
@param[in] Data The buffer to return the contents of the variable.
|
|
@retval EFI_SUCCESS The function completed successfully.
|
@retval EFI_NOT_FOUND The variable was not found.
|
@retval EFI_INVALID_PARAMETER VariableName is NULL.
|
@retval EFI_INVALID_PARAMETER VendorGuid is NULL.
|
@retval EFI_INVALID_PARAMETER Attributes is not NULL, but attributes value is 0.
|
@retval EFI_INVALID_PARAMETER DataSize is not equal to the variable data size.
|
@retval EFI_INVALID_PARAMETER The DataSize is equal to the variable data size, but Data is NULL.
|
|
**/
|
EFI_STATUS
|
EFIAPI
|
SetVariableToHob (
|
IN CHAR16 *VariableName,
|
IN EFI_GUID *VendorGuid,
|
IN UINT32 *Attributes, OPTIONAL
|
IN UINTN DataSize,
|
IN VOID *Data
|
);
|
|
#endif
|