]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Include/Guid/SmmVariableCommon.h
MdeModulePkg Variable: Implement VarCheck PROTOCOL
[mirror_edk2.git] / MdeModulePkg / Include / Guid / SmmVariableCommon.h
index 478fd056b07eeeb26f695182c1de71a4dd613d23..e92ab7fe79a6f8c18c8678a4672a4d91798e081f 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   The file defined some common structures used for communicating between SMM variable module and SMM variable wrapper module.\r
 \r
-Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2011 - 2015, 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
@@ -15,6 +15,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #ifndef _SMM_VARIABLE_COMMON_H_\r
 #define _SMM_VARIABLE_COMMON_H_\r
 \r
+#include <Protocol/VarCheck.h>\r
+\r
 #define EFI_SMM_VARIABLE_WRITE_GUID \\r
   { 0x93ba1826, 0xdffb, 0x45dd, { 0x82, 0xa7, 0xe7, 0xdc, 0xaa, 0x3b, 0xbd, 0xf3 } }\r
 \r
@@ -60,6 +62,14 @@ typedef struct {
 // is gEfiSmmVariableProtocolGuid.\r
 //\r
 #define SMM_VARIABLE_FUNCTION_GET_STATISTICS          7\r
+//\r
+// The payload for this function is SMM_VARIABLE_COMMUNICATE_LOCK_VARIABLE\r
+//\r
+#define SMM_VARIABLE_FUNCTION_LOCK_VARIABLE           8\r
+\r
+#define SMM_VARIABLE_FUNCTION_VAR_CHECK_VARIABLE_PROPERTY_SET  9\r
+\r
+#define SMM_VARIABLE_FUNCTION_VAR_CHECK_VARIABLE_PROPERTY_GET  10\r
 \r
 ///\r
 /// Size of SMM communicate header, without including the payload.\r
@@ -101,4 +111,13 @@ typedef struct {
   UINT32          Attributes; \r
 } SMM_VARIABLE_COMMUNICATE_QUERY_VARIABLE_INFO;\r
 \r
+typedef SMM_VARIABLE_COMMUNICATE_GET_NEXT_VARIABLE_NAME SMM_VARIABLE_COMMUNICATE_LOCK_VARIABLE;\r
+\r
+typedef struct {\r
+  EFI_GUID                      Guid;\r
+  UINTN                         NameSize;\r
+  VAR_CHECK_VARIABLE_PROPERTY   VariableProperty;\r
+  CHAR16                        Name[1];\r
+} SMM_VARIABLE_COMMUNICATE_VAR_CHECK_VARIABLE_PROPERTY;\r
+\r
 #endif // _SMM_VARIABLE_COMMON_H_
\ No newline at end of file