OvmfPkg[all]  0.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SerializeVariablesLib.h File Reference

Typedefs

typedef RETURN_STATUS(EFIAPI * VARIABLE_SERIALIZATION_ITERATION_CALLBACK )(IN VOID *Context, IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN UINT32 Attributes, IN UINTN DataSize, IN VOID *Data)
 

Functions

RETURN_STATUS EFIAPI SerializeVariablesNewInstance (OUT EFI_HANDLE *Handle)
 
RETURN_STATUS EFIAPI SerializeVariablesFreeInstance (IN EFI_HANDLE Handle)
 
RETURN_STATUS EFIAPI SerializeVariablesNewInstanceFromBuffer (OUT EFI_HANDLE *Handle, IN VOID *Buffer, IN UINTN Size)
 
RETURN_STATUS EFIAPI SerializeVariablesIterateSystemVariables (IN VARIABLE_SERIALIZATION_ITERATION_CALLBACK CallbackFunction, IN VOID *Context)
 
RETURN_STATUS EFIAPI SerializeVariablesIterateInstanceVariables (IN EFI_HANDLE Handle, IN VARIABLE_SERIALIZATION_ITERATION_CALLBACK CallbackFunction, IN VOID *Context)
 
RETURN_STATUS EFIAPI SerializeVariablesSetSerializedVariables (IN EFI_HANDLE Handle)
 
RETURN_STATUS EFIAPI SerializeVariablesAddVariable (IN EFI_HANDLE Handle, IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN UINT32 Attributes, IN UINTN DataSize, IN VOID *Data)
 
RETURN_STATUS EFIAPI SerializeVariablesToBuffer (IN EFI_HANDLE Handle, OUT VOID *Buffer, IN OUT UINTN *Size)
 

Detailed Description

Serialize & Deserialize UEFI Variables

Copyright (c) 2011, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Typedef Documentation

typedef RETURN_STATUS(EFIAPI * VARIABLE_SERIALIZATION_ITERATION_CALLBACK)(IN VOID *Context, IN CHAR16 *VariableName, IN EFI_GUID *VendorGuid, IN UINT32 Attributes, IN UINTN DataSize, IN VOID *Data)

Callback function for each variable

Parameters
[in]Context- Context as sent to the iteration function
[in]VariableName- Refer to RuntimeServices GetNextVariableName
[in]VendorGuid- Refer to RuntimeServices GetNextVariableName
[in]Attributes- Refer to RuntimeServices GetVariable
[in]DataSize- Refer to RuntimeServices GetVariable
[in]Data- Refer to RuntimeServices GetVariable
Return values
RETURN_SUCCESSContinue iterating through the variables
Returns
Any RETURN_ERROR Stop iterating through the variables

Function Documentation

RETURN_STATUS EFIAPI SerializeVariablesAddVariable ( IN EFI_HANDLE  Handle,
IN CHAR16 *  VariableName,
IN EFI_GUID *  VendorGuid,
IN UINT32  Attributes,
IN UINTN  DataSize,
IN VOID Data 
)

Adds a variable to the variable serialization instance

Parameters
[in]Handle- Handle for a variable serialization instance
[in]VariableName- Refer to RuntimeServices GetVariable
[in]VendorGuid- Refer to RuntimeServices GetVariable
[in]Attributes- Refer to RuntimeServices GetVariable
[in]DataSize- Refer to RuntimeServices GetVariable
[in]Data- Refer to RuntimeServices GetVariable
Return values
RETURN_SUCCESS- All variables were set successfully
RETURN_OUT_OF_RESOURCES- There we not enough resources to add the variable
RETURN_STATUS EFIAPI SerializeVariablesFreeInstance ( IN EFI_HANDLE  Handle)

Free memory associated with a variable serialization instance

Parameters
[in]Handle- Handle for a variable serialization instance
Return values
RETURN_SUCCESS- The variable serialization instance was successfully freed.
RETURN_INVALID_PARAMETER- Handle was not a valid variable serialization instance.
RETURN_STATUS EFIAPI SerializeVariablesIterateInstanceVariables ( IN EFI_HANDLE  Handle,
IN VARIABLE_SERIALIZATION_ITERATION_CALLBACK  CallbackFunction,
IN VOID Context 
)

Iterates all variables found in the variable serialization instance

Parameters
[in]Handle- Handle for a variable serialization instance
[in]CallbackFunction- Function called for each variable instance
[in]Context- Passed to each call of CallbackFunction
Return values
RETURN_SUCCESS- All variables were iterated without the CallbackFunction returning an error
RETURN_OUT_OF_RESOURCES- There we not enough resources to iterate through the variables
Returns
Any of RETURN_ERROR indicates an error reading the variable or an error was returned from CallbackFunction
RETURN_STATUS EFIAPI SerializeVariablesIterateSystemVariables ( IN VARIABLE_SERIALIZATION_ITERATION_CALLBACK  CallbackFunction,
IN VOID Context 
)

Iterates all variables found with RuntimeServices GetNextVariableName

Parameters
[in]CallbackFunction- Function called for each variable instance
[in]Context- Passed to each call of CallbackFunction
Return values
RETURN_SUCCESS- All variables were iterated without the CallbackFunction returning an error
RETURN_OUT_OF_RESOURCES- There we not enough resources to iterate through the variables
Returns
Any of RETURN_ERROR indicates an error reading the variable or an error was returned from CallbackFunction
RETURN_STATUS EFIAPI SerializeVariablesNewInstance ( OUT EFI_HANDLE *  Handle)

Creates a new variable serialization instance

Parameters
[out]Handle- Handle for a variable serialization instance
Return values
RETURN_SUCCESS- The variable serialization instance was successfully created.
RETURN_OUT_OF_RESOURCES- There we not enough resources to create the variable serialization instance.
RETURN_STATUS EFIAPI SerializeVariablesNewInstanceFromBuffer ( OUT EFI_HANDLE *  Handle,
IN VOID Buffer,
IN UINTN  Size 
)

Creates a new variable serialization instance using the given binary representation of the variables to fill the new instance

Parameters
[out]Handle- Handle for a variable serialization instance
[in]Buffer- A buffer with the serialized representation of the variables. Must be the same format as produced by SerializeVariablesToBuffer.
[in]Size- This is the size of the binary representation of the variables.
Return values
RETURN_SUCCESS- The binary representation was successfully imported into a new variable serialization instance
RETURN_OUT_OF_RESOURCES- There we not enough resources to create the new variable serialization instance
RETURN_STATUS EFIAPI SerializeVariablesSetSerializedVariables ( IN EFI_HANDLE  Handle)

Sets all variables found in the variable serialization instance

Parameters
[in]Handle- Handle for a variable serialization instance
Return values
RETURN_SUCCESS- All variables were set successfully
RETURN_OUT_OF_RESOURCES- There we not enough resources to set all the variables
Returns
Any of RETURN_ERROR indicates an error reading the variables or in attempting to set a variable
RETURN_STATUS EFIAPI SerializeVariablesToBuffer ( IN EFI_HANDLE  Handle,
OUT VOID Buffer,
IN OUT UINTN *  Size 
)

Serializes the variables known to this instance into the provided buffer.

Parameters
[in]Handle- Handle for a variable serialization instance
[out]Buffer- A buffer to store the binary representation of the variables.
[in,out]Size- On input this is the size of the buffer. On output this is the size of the binary representation of the variables.
Return values
RETURN_SUCCESS- The binary representation was successfully completed and returned in the buffer.
RETURN_OUT_OF_RESOURCES- There we not enough resources to save the variables to the buffer.
RETURN_INVALID_PARAMETER- Handle was not a valid variable serialization instance or Size or Buffer were NULL.