]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableParsing.h
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableParsing.h
index b0d7f76bd8f070d400d5286d9ca0016f0e242e7d..951e8a089e34bceba9619d82f064bda83bfcfdd9 100644 (file)
@@ -26,8 +26,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 **/\r
 BOOLEAN\r
 IsValidVariableHeader (\r
-  IN  VARIABLE_HEADER       *Variable,\r
-  IN  VARIABLE_HEADER       *VariableStoreEnd\r
+  IN  VARIABLE_HEADER  *Variable,\r
+  IN  VARIABLE_HEADER  *VariableStoreEnd\r
   );\r
 \r
 /**\r
@@ -43,59 +43,71 @@ IsValidVariableHeader (
 **/\r
 VARIABLE_STORE_STATUS\r
 GetVariableStoreStatus (\r
-  IN VARIABLE_STORE_HEADER *VarStoreHeader\r
+  IN VARIABLE_STORE_HEADER  *VarStoreHeader\r
   );\r
 \r
 /**\r
   This code gets the size of variable header.\r
 \r
+  @param[in]  AuthFormat    TRUE indicates authenticated variables are used.\r
+                            FALSE indicates authenticated variables are not used.\r
+\r
   @return Size of variable header in bytes in type UINTN.\r
 \r
 **/\r
 UINTN\r
 GetVariableHeaderSize (\r
-  VOID\r
+  IN  BOOLEAN  AuthFormat\r
   );\r
 \r
 /**\r
 \r
   This code gets the size of name of variable.\r
 \r
-  @param Variable        Pointer to the Variable Header.\r
+  @param[in]  Variable      Pointer to the variable header.\r
+  @param[in]  AuthFormat    TRUE indicates authenticated variables are used.\r
+                            FALSE indicates authenticated variables are not used.\r
 \r
   @return UINTN          Size of variable in bytes.\r
 \r
 **/\r
 UINTN\r
 NameSizeOfVariable (\r
-  IN  VARIABLE_HEADER   *Variable\r
+  IN  VARIABLE_HEADER  *Variable,\r
+  IN  BOOLEAN          AuthFormat\r
   );\r
 \r
 /**\r
   This code sets the size of name of variable.\r
 \r
-  @param[in] Variable   Pointer to the Variable Header.\r
-  @param[in] NameSize   Name size to set.\r
+  @param[in]  Variable      Pointer to the Variable Header.\r
+  @param[in]  NameSize      Name size to set.\r
+  @param[in]  AuthFormat    TRUE indicates authenticated variables are used.\r
+                            FALSE indicates authenticated variables are not used.\r
 \r
 **/\r
 VOID\r
 SetNameSizeOfVariable (\r
-  IN VARIABLE_HEADER    *Variable,\r
-  IN UINTN              NameSize\r
+  IN VARIABLE_HEADER  *Variable,\r
+  IN UINTN            NameSize,\r
+  IN BOOLEAN          AuthFormat\r
   );\r
 \r
 /**\r
 \r
   This code gets the size of variable data.\r
 \r
-  @param Variable        Pointer to the Variable Header.\r
+  @param[in]  Variable      Pointer to the Variable Header.\r
+  @param[in]  AuthFormat    TRUE indicates authenticated variables are used.\r
+                            FALSE indicates authenticated variables are not used.\r
 \r
   @return Size of variable in bytes.\r
 \r
 **/\r
 UINTN\r
 DataSizeOfVariable (\r
-  IN  VARIABLE_HEADER   *Variable\r
+  IN  VARIABLE_HEADER  *Variable,\r
+  IN  BOOLEAN          AuthFormat\r
   );\r
 \r
 /**\r
@@ -103,80 +115,98 @@ DataSizeOfVariable (
 \r
   @param[in] Variable   Pointer to the Variable Header.\r
   @param[in] DataSize   Data size to set.\r
+  @param[in] AuthFormat TRUE indicates authenticated variables are used.\r
+                        FALSE indicates authenticated variables are not used.\r
 \r
 **/\r
 VOID\r
 SetDataSizeOfVariable (\r
-  IN VARIABLE_HEADER    *Variable,\r
-  IN UINTN              DataSize\r
+  IN  VARIABLE_HEADER  *Variable,\r
+  IN  UINTN            DataSize,\r
+  IN  BOOLEAN          AuthFormat\r
   );\r
 \r
 /**\r
 \r
   This code gets the pointer to the variable name.\r
 \r
-  @param Variable        Pointer to the Variable Header.\r
+  @param[in] Variable     Pointer to the Variable Header.\r
+  @param[in] AuthFormat   TRUE indicates authenticated variables are used.\r
+                          FALSE indicates authenticated variables are not used.\r
 \r
   @return Pointer to Variable Name which is Unicode encoding.\r
 \r
 **/\r
 CHAR16 *\r
 GetVariableNamePtr (\r
-  IN  VARIABLE_HEADER   *Variable\r
+  IN  VARIABLE_HEADER  *Variable,\r
+  IN  BOOLEAN          AuthFormat\r
   );\r
 \r
 /**\r
   This code gets the pointer to the variable guid.\r
 \r
-  @param Variable   Pointer to the Variable Header.\r
+  @param[in] Variable     Pointer to the Variable Header.\r
+  @param[in] AuthFormat   TRUE indicates authenticated variables are used.\r
+                          FALSE indicates authenticated variables are not used.\r
 \r
   @return A EFI_GUID* pointer to Vendor Guid.\r
 \r
 **/\r
 EFI_GUID *\r
 GetVendorGuidPtr (\r
-  IN VARIABLE_HEADER    *Variable\r
+  IN  VARIABLE_HEADER  *Variable,\r
+  IN  BOOLEAN          AuthFormat\r
   );\r
 \r
 /**\r
 \r
   This code gets the pointer to the variable data.\r
 \r
-  @param Variable        Pointer to the Variable Header.\r
+  @param[in] Variable     Pointer to the Variable Header.\r
+  @param[in] AuthFormat   TRUE indicates authenticated variables are used.\r
+                          FALSE indicates authenticated variables are not used.\r
 \r
   @return Pointer to Variable Data.\r
 \r
 **/\r
 UINT8 *\r
 GetVariableDataPtr (\r
-  IN  VARIABLE_HEADER   *Variable\r
+  IN  VARIABLE_HEADER  *Variable,\r
+  IN  BOOLEAN          AuthFormat\r
   );\r
 \r
 /**\r
   This code gets the variable data offset related to variable header.\r
 \r
-  @param Variable        Pointer to the Variable Header.\r
+  @param[in] Variable     Pointer to the Variable Header.\r
+  @param[in] AuthFormat   TRUE indicates authenticated variables are used.\r
+                          FALSE indicates authenticated variables are not used.\r
 \r
   @return Variable Data offset.\r
 \r
 **/\r
 UINTN\r
 GetVariableDataOffset (\r
-  IN  VARIABLE_HEADER   *Variable\r
+  IN  VARIABLE_HEADER  *Variable,\r
+  IN  BOOLEAN          AuthFormat\r
   );\r
 \r
 /**\r
 \r
   This code gets the pointer to the next variable header.\r
 \r
-  @param Variable        Pointer to the Variable Header.\r
+  @param[in] Variable     Pointer to the Variable Header.\r
+  @param[in] AuthFormat   TRUE indicates authenticated variables are used.\r
+                          FALSE indicates authenticated variables are not used.\r
 \r
   @return Pointer to next variable header.\r
 \r
 **/\r
 VARIABLE_HEADER *\r
 GetNextVariablePtr (\r
-  IN  VARIABLE_HEADER   *Variable\r
+  IN  VARIABLE_HEADER  *Variable,\r
+  IN  BOOLEAN          AuthFormat\r
   );\r
 \r
 /**\r
@@ -190,7 +220,7 @@ GetNextVariablePtr (
 **/\r
 VARIABLE_HEADER *\r
 GetStartPointer (\r
-  IN VARIABLE_STORE_HEADER       *VarStoreHeader\r
+  IN VARIABLE_STORE_HEADER  *VarStoreHeader\r
   );\r
 \r
 /**\r
@@ -207,7 +237,7 @@ GetStartPointer (
 **/\r
 VARIABLE_HEADER *\r
 GetEndPointer (\r
-  IN VARIABLE_STORE_HEADER       *VarStoreHeader\r
+  IN VARIABLE_STORE_HEADER  *VarStoreHeader\r
   );\r
 \r
 /**\r
@@ -223,8 +253,8 @@ GetEndPointer (
 **/\r
 BOOLEAN\r
 VariableCompareTimeStampInternal (\r
-  IN EFI_TIME               *FirstTime,\r
-  IN EFI_TIME               *SecondTime\r
+  IN EFI_TIME  *FirstTime,\r
+  IN EFI_TIME  *SecondTime\r
   );\r
 \r
 /**\r
@@ -235,6 +265,8 @@ VariableCompareTimeStampInternal (
   @param[in]       IgnoreRtCheck       Ignore EFI_VARIABLE_RUNTIME_ACCESS attribute\r
                                        check at runtime when searching variable.\r
   @param[in, out]  PtrTrack            Variable Track Pointer structure that contains Variable Information.\r
+  @param[in]       AuthFormat          TRUE indicates authenticated variables are used.\r
+                                       FALSE indicates authenticated variables are not used.\r
 \r
   @retval          EFI_SUCCESS         Variable found successfully\r
   @retval          EFI_NOT_FOUND       Variable not found\r
@@ -244,18 +276,23 @@ FindVariableEx (
   IN     CHAR16                  *VariableName,\r
   IN     EFI_GUID                *VendorGuid,\r
   IN     BOOLEAN                 IgnoreRtCheck,\r
-  IN OUT VARIABLE_POINTER_TRACK  *PtrTrack\r
+  IN OUT VARIABLE_POINTER_TRACK  *PtrTrack,\r
+  IN     BOOLEAN                 AuthFormat\r
   );\r
 \r
 /**\r
-  This code Finds the Next available variable.\r
+  This code finds the next available variable.\r
 \r
   Caution: This function may receive untrusted input.\r
   This function may be invoked in SMM mode. This function will do basic validation, before parse the data.\r
 \r
-  @param[in]  VariableName  Pointer to variable name.\r
-  @param[in]  VendorGuid    Variable Vendor Guid.\r
-  @param[out] VariablePtr   Pointer to variable header address.\r
+  @param[in]  VariableName      Pointer to variable name.\r
+  @param[in]  VendorGuid        Variable Vendor Guid.\r
+  @param[in]  VariableStoreList A list of variable stores that should be used to get the next variable.\r
+                                The maximum number of entries is the max value of VARIABLE_STORE_TYPE.\r
+  @param[out] VariablePtr       Pointer to variable header address.\r
+  @param[in]  AuthFormat        TRUE indicates authenticated variables are used.\r
+                                FALSE indicates authenticated variables are not used.\r
 \r
   @retval EFI_SUCCESS           The function completed successfully.\r
   @retval EFI_NOT_FOUND         The next variable was not found.\r
@@ -267,9 +304,11 @@ FindVariableEx (
 EFI_STATUS\r
 EFIAPI\r
 VariableServiceGetNextVariableInternal (\r
-  IN  CHAR16                *VariableName,\r
-  IN  EFI_GUID              *VendorGuid,\r
-  OUT VARIABLE_HEADER       **VariablePtr\r
+  IN  CHAR16                 *VariableName,\r
+  IN  EFI_GUID               *VendorGuid,\r
+  IN  VARIABLE_STORE_HEADER  **VariableStoreList,\r
+  OUT VARIABLE_HEADER        **VariablePtr,\r
+  IN  BOOLEAN                AuthFormat\r
   );\r
 \r
 /**\r
@@ -283,13 +322,14 @@ VariableServiceGetNextVariableInternal (
   the transaction. Data is allocated by this routine, but never\r
   freed.\r
 \r
-  @param[in] VariableName   Name of the Variable to track.\r
-  @param[in] VendorGuid     Guid of the Variable to track.\r
-  @param[in] Volatile       TRUE if volatile FALSE if non-volatile.\r
-  @param[in] Read           TRUE if GetVariable() was called.\r
-  @param[in] Write          TRUE if SetVariable() was called.\r
-  @param[in] Delete         TRUE if deleted via SetVariable().\r
-  @param[in] Cache          TRUE for a cache hit.\r
+  @param[in]      VariableName   Name of the Variable to track.\r
+  @param[in]      VendorGuid     Guid of the Variable to track.\r
+  @param[in]      Volatile       TRUE if volatile FALSE if non-volatile.\r
+  @param[in]      Read           TRUE if GetVariable() was called.\r
+  @param[in]      Write          TRUE if SetVariable() was called.\r
+  @param[in]      Delete         TRUE if deleted via SetVariable().\r
+  @param[in]      Cache          TRUE for a cache hit.\r
+  @param[in,out]  VariableInfo   Pointer to a pointer of VARIABLE_INFO_ENTRY structures.\r
 \r
 **/\r
 VOID\r
@@ -300,7 +340,8 @@ UpdateVariableInfo (
   IN  BOOLEAN                 Read,\r
   IN  BOOLEAN                 Write,\r
   IN  BOOLEAN                 Delete,\r
-  IN  BOOLEAN                 Cache\r
+  IN  BOOLEAN                 Cache,\r
+  IN OUT VARIABLE_INFO_ENTRY  **VariableInfo\r
   );\r
 \r
 #endif\r