This file declares Read-only Variable Service2 PPI.\r
This ppi permits read-only access to the UEFI variable store during the PEI phase.\r
\r
- Copyright (c) 2006 - 2009, Intel Corporation \r
- All rights reserved. This program and the accompanying materials \r
- are licensed and made available under the terms and conditions of the BSD License \r
- which accompanies this distribution. The full text of the license may be found at \r
- http://opensource.org/licenses/bsd-license.php \r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under\r
+the terms and conditions of the BSD License that accompanies this distribution.\r
+The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php.\r
\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
@par Revision Reference:\r
This PPI is introduced in PI Version 1.0.\r
/**\r
This service retrieves a variable's value using its name and GUID.\r
\r
- Read the specified variable from the UEFI variable store. If the Data \r
- buffer is too small to hold the contents of the variable, \r
+ Read the specified variable from the UEFI variable store. If the Data\r
+ buffer is too small to hold the contents of the variable,\r
the error EFI_BUFFER_TOO_SMALL is returned and DataSize is set to the\r
required buffer size to obtain the data.\r
\r
@param DataSize On entry, points to the size in bytes of the Data buffer.\r
On return, points to the size of the data returned in Data.\r
@param Data Points to the buffer which will hold the returned variable value.\r
+ May be NULL with a zero DataSize in order to determine the size of the buffer needed.\r
\r
@retval EFI_SUCCESS The variable was read successfully.\r
- @retval EFI_NOT_FOUND The variable could not be found.\r
- @retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the resulting data. \r
- DataSize is updated with the size required for \r
+ @retval EFI_NOT_FOUND The variable was not found.\r
+ @retval EFI_BUFFER_TOO_SMALL The DataSize is too small for the resulting data.\r
+ DataSize is updated with the size required for\r
the specified variable.\r
@retval EFI_INVALID_PARAMETER VariableName, VariableGuid, DataSize or Data is NULL.\r
@retval EFI_DEVICE_ERROR The variable could not be retrieved because of a device error.\r
IN CONST EFI_GUID *VariableGuid,\r
OUT UINT32 *Attributes,\r
IN OUT UINTN *DataSize,\r
- OUT VOID *Data\r
+ OUT VOID *Data OPTIONAL\r
);\r
\r
\r
/**\r
Return the next variable name and GUID.\r
\r
- This function is called multiple times to retrieve the VariableName \r
- and VariableGuid of all variables currently available in the system. \r
- On each call, the previous results are passed into the interface, \r
- and, on return, the interface returns the data for the next \r
- interface. When the entire variable list has been returned, \r
+ This function is called multiple times to retrieve the VariableName\r
+ and VariableGuid of all variables currently available in the system.\r
+ On each call, the previous results are passed into the interface,\r
+ and, on return, the interface returns the data for the next\r
+ interface. When the entire variable list has been returned,\r
EFI_NOT_FOUND is returned.\r
\r
@param This A pointer to this instance of the EFI_PEI_READ_ONLY_VARIABLE2_PPI.\r
\r
@param VariableNameSize On entry, points to the size of the buffer pointed to by VariableName.\r
+ On return, the size of the variable name buffer.\r
@param VariableName On entry, a pointer to a null-terminated string that is the variable's name.\r
On return, points to the next variable's null-terminated name string.\r
\r
- @param VariableGuid On entry, a pointer to an EFI_GUID that is the variable's GUID. \r
+ @param VariableGuid On entry, a pointer to an EFI_GUID that is the variable's GUID.\r
On return, a pointer to the next variable's GUID.\r
\r
@retval EFI_SUCCESS The variable was read successfully.\r
);\r
\r
///\r
-/// This PPI provides a lightweight, read-only variant of the full EFI \r
-/// variable services. \r
+/// This PPI provides a lightweight, read-only variant of the full EFI\r
+/// variable services.\r
///\r
struct _EFI_PEI_READ_ONLY_VARIABLE2_PPI {\r
EFI_PEI_GET_VARIABLE2 GetVariable;\r