--- /dev/null
+/** @file\r
+\r
+Capsule format guid for Quark capsule image.\r
+\r
+Copyright (c) 2013-2015 Intel Corporation.\r
+\r
+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
+\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 _QUARK_CAPSULE_GUID_H_\r
+#define _QUARK_CAPSULE_GUID_H_\r
+\r
+#define QUARK_CAPSULE_GUID \\r
+ { 0xd400d1e4, 0xa314, 0x442b, { 0x89, 0xed, 0xa9, 0x2e, 0x4c, 0x81, 0x97, 0xcb } }\r
+\r
+#define SMI_INPUT_UPDATE_CAP 0x27\r
+#define SMI_INPUT_GET_CAP 0x28\r
+\r
+#define SMI_CAP_FUNCTION 0xEF\r
+\r
+#pragma pack(1)\r
+typedef struct {\r
+ UINT64 Address;\r
+ UINT32 BufferOffset;\r
+ UINT32 Size;\r
+ UINT32 Flags;\r
+ UINT32 Reserved;\r
+} CAPSULE_FRAGMENT;\r
+\r
+typedef struct {\r
+ UINTN CapsuleLocation; // Top of the capsule that point to structure CAPSULE_FRAGMENT\r
+ UINTN CapsuleSize; // Size of the capsule\r
+ EFI_STATUS Status; // Returned status\r
+} CAPSULE_INFO_PACKET;\r
+\r
+typedef struct {\r
+ UINTN BlocksCompleted; // # of blocks processed\r
+ UINTN TotalBlocks; // Total # of blocks to be processed\r
+ EFI_STATUS Status; // returned status\r
+} UPDATE_STATUS_PACKET;\r
+#pragma pack()\r
+\r
+extern EFI_GUID gEfiQuarkCapsuleGuid;\r
+\r
+#endif\r