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