Move the definition of Capsule from IntelFrameworkPkg/Include/Framework/Capsule.h...
[mirror_edk2.git] / IntelFrameworkPkg / Include / Guid / Capsule.h
CommitLineData
79964ac8 1/** @file\r
2 GUIDs used for EFI Capsule\r
3\r
4 Copyright (c) 2007, Intel Corporation\r
5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13 Module Name: Capsule.h\r
14\r
15 @par Revision Reference:\r
16 GUIDs defined in Capsule Spec Version 0.9\r
17\r
18**/\r
19\r
20#ifndef _CAPSULE_GUID_H__\r
21#define _CAPSULE_GUID_H__\r
22\r
b80fbe85 23#include <PiPei.h>\r
24\r
79964ac8 25//\r
26// This is the GUID of the capsule header of the image on disk.\r
27//\r
28#define EFI_CAPSULE_GUID \\r
29 { \\r
30 0x3B6686BD, 0x0D76, 0x4030, {0xB7, 0x0E, 0xB5, 0x51, 0x9E, 0x2F, 0xC5, 0xA0 } \\r
31 }\r
32\r
33//\r
34// This is the GUID of the configuration results file created by the capsule\r
35// application.\r
36//\r
37#define EFI_CONFIG_FILE_NAME_GUID \\r
38 { \\r
39 0x98B8D59B, 0xE8BA, 0x48EE, {0x98, 0xDD, 0xC2, 0x95, 0x39, 0x2F, 0x1E, 0xDB } \\r
40 }\r
41\r
1b144bbf 42//\r
43// Bits in the flags field of the capsule header\r
44//\r
45#define EFI_CAPSULE_HEADER_FLAG_SETUP 0x00000001 // supports setup changes\r
46\r
47\r
48#define CAPSULE_BLOCK_DESCRIPTOR_SIGNATURE EFI_SIGNATURE_32 ('C', 'B', 'D', 'S')\r
49\r
50//\r
51// An array of these describe the blocks that make up a capsule for\r
52// a capsule update.\r
53//\r
54typedef struct {\r
55 UINT64 Length; // length of the data block\r
56 EFI_PHYSICAL_ADDRESS Data; // physical address of the data block\r
57 UINT32 Signature; // CBDS\r
58 UINT32 CheckSum; // to sum this structure to 0\r
59} FRAMEWORK_EFI_CAPSULE_BLOCK_DESCRIPTOR;\r
60\r
61typedef struct {\r
62 EFI_GUID OemGuid;\r
63 UINT32 HeaderSize;\r
64 //\r
65 // UINT8 OemHdrData[];\r
66 //\r
67} EFI_CAPSULE_OEM_HEADER;\r
68\r
69typedef struct {\r
70 EFI_GUID CapsuleGuid;\r
71 UINT32 HeaderSize;\r
72 UINT32 Flags;\r
73 UINT32 CapsuleImageSize;\r
74 UINT32 SequenceNumber;\r
75 EFI_GUID InstanceId;\r
76 UINT32 OffsetToSplitInformation;\r
77 UINT32 OffsetToCapsuleBody;\r
78 UINT32 OffsetToOemDefinedHeader;\r
79 UINT32 OffsetToAuthorInformation;\r
80 UINT32 OffsetToRevisionInformation;\r
81 UINT32 OffsetToShortDescription;\r
82 UINT32 OffsetToLongDescription;\r
83 UINT32 OffsetToApplicableDevices;\r
84} FRAMEWORK_EFI_CAPSULE_HEADER;\r
85\r
79964ac8 86extern EFI_GUID gEfiCapsuleGuid;\r
87extern EFI_GUID gEfiConfigFileNameGuid;\r
88\r
89#endif\r