]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/CCode/Source/Include/Common/Capsule.h
More moves for Tool Packages
[mirror_edk2.git] / Tools / CCode / Source / Include / Common / Capsule.h
1 /** @file
2 Defines for the EFI Capsule functionality.
3
4 Copyright (c) 2006, 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 //
24 // Bits in the flags field of the capsule header
25 //
26 #define EFI_CAPSULE_HEADER_FLAG_SETUP 0x00000001 // supports setup changes
27
28
29 #define CAPSULE_BLOCK_DESCRIPTOR_SIGNATURE EFI_SIGNATURE_32 ('C', 'B', 'D', 'S')
30
31 //
32 // An array of these describe the blocks that make up a capsule for
33 // a capsule update.
34 //
35 typedef struct {
36 UINT64 Length; // length of the data block
37 EFI_PHYSICAL_ADDRESS Data; // physical address of the data block
38 UINT32 Signature; // CBDS
39 UINT32 CheckSum; // to sum this structure to 0
40 } EFI_CAPSULE_BLOCK_DESCRIPTOR;
41
42 typedef struct {
43 EFI_GUID OemGuid;
44 UINT32 HeaderSize;
45 //
46 // UINT8 OemHdrData[];
47 //
48 } EFI_CAPSULE_OEM_HEADER;
49
50 typedef struct {
51 EFI_GUID CapsuleGuid;
52 UINT32 HeaderSize;
53 UINT32 Flags;
54 UINT32 CapsuleImageSize;
55 UINT32 SequenceNumber;
56 EFI_GUID InstanceId;
57 UINT32 OffsetToSplitInformation;
58 UINT32 OffsetToCapsuleBody;
59 UINT32 OffsetToOemDefinedHeader;
60 UINT32 OffsetToAuthorInformation;
61 UINT32 OffsetToRevisionInformation;
62 UINT32 OffsetToShortDescription;
63 UINT32 OffsetToLongDescription;
64 UINT32 OffsetToApplicableDevices;
65 } EFI_CAPSULE_HEADER;
66
67 #endif // #ifndef _EFI_CAPSULE_H_