--- /dev/null
+/** @file\r
+ This file defines the GUID and data structure used to pass variable setting \r
+ failure information to the Status Code Protocol.\r
+\r
+Copyright (c) 2014, 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
+\r
+**/\r
+\r
+#ifndef _STATUS_CODE_DATA_TYPE_VARIABLE_H_\r
+#define _STATUS_CODE_DATA_TYPE_VARIABLE_H_\r
+\r
+///\r
+/// The Global ID used to identify a structure of type EDKII_SET_VARIABLE_STATUS.\r
+/// The status code value is PcdGet32 (PcdErrorCodeSetVariable).\r
+///\r
+#define EDKII_STATUS_CODE_DATA_TYPE_VARIABLE_GUID \\r
+ { \\r
+ 0xf6ee6dbb, 0xd67f, 0x4ea0, { 0x8b, 0x96, 0x6a, 0x71, 0xb1, 0x9d, 0x84, 0xad } \\r
+ }\r
+\r
+typedef struct {\r
+ EFI_GUID Guid;\r
+ UINTN NameSize;\r
+ UINTN DataSize;\r
+ EFI_STATUS SetStatus;\r
+ UINT32 Attributes;\r
+ // CHAR16 Name[];\r
+ // UINT8 Data[];\r
+} EDKII_SET_VARIABLE_STATUS;\r
+\r
+extern EFI_GUID gEdkiiStatusCodeDataTypeVariableGuid;\r
+\r
+#endif // _STATUS_CODE_DATA_TYPE_VARIABLE_H_\r