]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Variable/RuntimeDxe/VariableNonVolatile.h
MdeModulePkg/Variable: Add a file for NV variable functions
[mirror_edk2.git] / MdeModulePkg / Universal / Variable / RuntimeDxe / VariableNonVolatile.h
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableNonVolatile.h b/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableNonVolatile.h
new file mode 100644 (file)
index 0000000..43653f2
--- /dev/null
@@ -0,0 +1,67 @@
+/** @file\r
+  Common variable non-volatile store routines.\r
+\r
+Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#ifndef _VARIABLE_NON_VOLATILE_H_\r
+#define _VARIABLE_NON_VOLATILE_H_\r
+\r
+#include "Variable.h"\r
+\r
+/**\r
+  Get non-volatile maximum variable size.\r
+\r
+  @return Non-volatile maximum variable size.\r
+\r
+**/\r
+UINTN\r
+GetNonVolatileMaxVariableSize (\r
+  VOID\r
+  );\r
+\r
+/**\r
+  Init emulated non-volatile variable store.\r
+\r
+  @param[out] VariableStoreBase Output pointer to emulated non-volatile variable store base.\r
+\r
+  @retval EFI_SUCCESS           Function successfully executed.\r
+  @retval EFI_OUT_OF_RESOURCES  Fail to allocate enough memory resource.\r
+\r
+**/\r
+EFI_STATUS\r
+InitEmuNonVolatileVariableStore (\r
+  EFI_PHYSICAL_ADDRESS  *VariableStoreBase\r
+  );\r
+\r
+/**\r
+  Init real non-volatile variable store.\r
+\r
+  @param[out] VariableStoreBase Output pointer to real non-volatile variable store base.\r
+\r
+  @retval EFI_SUCCESS           Function successfully executed.\r
+  @retval EFI_OUT_OF_RESOURCES  Fail to allocate enough memory resource.\r
+  @retval EFI_VOLUME_CORRUPTED  Variable Store or Firmware Volume for Variable Store is corrupted.\r
+\r
+**/\r
+EFI_STATUS\r
+InitRealNonVolatileVariableStore (\r
+  OUT EFI_PHYSICAL_ADDRESS              *VariableStoreBase\r
+  );\r
+\r
+/**\r
+  Init non-volatile variable store.\r
+\r
+  @retval EFI_SUCCESS           Function successfully executed.\r
+  @retval EFI_OUT_OF_RESOURCES  Fail to allocate enough memory resource.\r
+  @retval EFI_VOLUME_CORRUPTED  Variable Store or Firmware Volume for Variable Store is corrupted.\r
+\r
+**/\r
+EFI_STATUS\r
+InitNonVolatileVariableStore (\r
+  VOID\r
+  );\r
+\r
+#endif\r