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 |
e89ec8f6 |
48 | #define CAPSULE_BLOCK_DESCRIPTOR_SIGNATURE SIGNATURE_32 ('C', 'B', 'D', 'S')\r |
1b144bbf |
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 |
54 | typedef 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 |
61 | typedef 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 |
69 | typedef 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 |
86 | extern EFI_GUID gEfiCapsuleGuid;\r |
87 | extern EFI_GUID gEfiConfigFileNameGuid;\r |
88 | \r |
89 | #endif\r |