/** @file
Capsule format guid for Quark capsule image.
Copyright (c) 2013-2015 Intel Corporation.
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef _QUARK_CAPSULE_GUID_H_
#define _QUARK_CAPSULE_GUID_H_
#define QUARK_CAPSULE_GUID \
{ 0xd400d1e4, 0xa314, 0x442b, { 0x89, 0xed, 0xa9, 0x2e, 0x4c, 0x81, 0x97, 0xcb } }
#define SMI_INPUT_UPDATE_CAP 0x27
#define SMI_INPUT_GET_CAP 0x28
#define SMI_CAP_FUNCTION 0xEF
#pragma pack(1)
typedef struct {
UINT64 Address;
UINT32 BufferOffset;
UINT32 Size;
UINT32 Flags;
UINT32 Reserved;
} CAPSULE_FRAGMENT;
typedef struct {
UINTN CapsuleLocation; // Top of the capsule that point to structure CAPSULE_FRAGMENT
UINTN CapsuleSize; // Size of the capsule
EFI_STATUS Status; // Returned status
} CAPSULE_INFO_PACKET;
typedef struct {
UINTN BlocksCompleted; // # of blocks processed
UINTN TotalBlocks; // Total # of blocks to be processed
EFI_STATUS Status; // returned status
} UPDATE_STATUS_PACKET;
#pragma pack()
extern EFI_GUID gEfiQuarkCapsuleGuid;
#endif