1) Move EFI_DEBUG_INFO structure to IntelFrameworkModule/Include/DebugInfo.h header...
[mirror_edk2.git] / IntelFrameworkPkg / Include / Framework / Capsule.h
1 /** @file
2 Defines for the EFI Capsule functionality.
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 These definitions are from Capsule Spec Version 0.9.
17
18 **/
19
20 #ifndef _EFI_CAPSULE_H_
21 #define _EFI_CAPSULE_H_
22
23 #include <PiPei.h>
24
25 //
26 // Bits in the flags field of the capsule header
27 //
28 #define EFI_CAPSULE_HEADER_FLAG_SETUP 0x00000001 // supports setup changes
29
30
31 #define CAPSULE_BLOCK_DESCRIPTOR_SIGNATURE EFI_SIGNATURE_32 ('C', 'B', 'D', 'S')
32
33 //
34 // An array of these describe the blocks that make up a capsule for
35 // a capsule update.
36 //
37 typedef struct {
38 UINT64 Length; // length of the data block
39 EFI_PHYSICAL_ADDRESS Data; // physical address of the data block
40 UINT32 Signature; // CBDS
41 UINT32 CheckSum; // to sum this structure to 0
42 } FRAMEWORK_EFI_CAPSULE_BLOCK_DESCRIPTOR;
43
44 typedef struct {
45 EFI_GUID OemGuid;
46 UINT32 HeaderSize;
47 //
48 // UINT8 OemHdrData[];
49 //
50 } EFI_CAPSULE_OEM_HEADER;
51
52 typedef struct {
53 EFI_GUID CapsuleGuid;
54 UINT32 HeaderSize;
55 UINT32 Flags;
56 UINT32 CapsuleImageSize;
57 UINT32 SequenceNumber;
58 EFI_GUID InstanceId;
59 UINT32 OffsetToSplitInformation;
60 UINT32 OffsetToCapsuleBody;
61 UINT32 OffsetToOemDefinedHeader;
62 UINT32 OffsetToAuthorInformation;
63 UINT32 OffsetToRevisionInformation;
64 UINT32 OffsetToShortDescription;
65 UINT32 OffsetToLongDescription;
66 UINT32 OffsetToApplicableDevices;
67 } FRAMEWORK_EFI_CAPSULE_HEADER;
68
69 #endif // #ifndef _EFI_CAPSULE_H_