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