]>
Commit | Line | Data |
---|---|---|
566771b0 | 1 | /** @file\r |
2 | Guid & data structure used for Delivering Capsules Containing Updates to Firmware\r | |
93e8d03c | 3 | Management Protocol\r |
566771b0 | 4 | \r |
2ca32f8d | 5 | Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>\r |
6e746540 HW |
6 | This program and the accompanying materials\r |
7 | are licensed and made available under the terms and conditions of the BSD License\r | |
8 | which accompanies this distribution. The full text of the license may be found at\r | |
9 | http://opensource.org/licenses/bsd-license.php\r | |
566771b0 | 10 | \r |
6e746540 HW |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r |
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r | |
566771b0 | 13 | \r |
14 | @par Revision Reference:\r | |
15 | GUIDs defined in UEFI 2.4 spec.\r | |
16 | \r | |
17 | **/\r | |
18 | \r | |
19 | \r | |
20 | #ifndef _FMP_CAPSULE_GUID_H__\r | |
21 | #define _FMP_CAPSULE_GUID_H__\r | |
22 | \r | |
23 | //\r | |
24 | // This is the GUID of the capsule for Firmware Management Protocol.\r | |
25 | //\r | |
26 | #define EFI_FIRMWARE_MANAGEMENT_CAPSULE_ID_GUID \\r | |
27 | { \\r | |
28 | 0x6dcbd5ed, 0xe82d, 0x4c44, {0xbd, 0xa1, 0x71, 0x94, 0x19, 0x9a, 0xd9, 0x2a } \\r | |
29 | }\r | |
30 | \r | |
31 | #pragma pack(1)\r | |
32 | \r | |
33 | typedef struct {\r | |
34 | UINT32 Version;\r | |
35 | \r | |
36 | ///\r | |
37 | /// The number of drivers included in the capsule and the number of corresponding\r | |
6e746540 | 38 | /// offsets stored in ItemOffsetList array.\r |
566771b0 | 39 | ///\r |
40 | UINT16 EmbeddedDriverCount;\r | |
41 | \r | |
42 | ///\r | |
43 | /// The number of payload items included in the capsule and the number of\r | |
44 | /// corresponding offsets stored in the ItemOffsetList array.\r | |
45 | ///\r | |
46 | UINT16 PayloadItemCount;\r | |
47 | \r | |
48 | ///\r | |
49 | /// Variable length array of dimension [EmbeddedDriverCount + PayloadItemCount]\r | |
50 | /// containing offsets of each of the drivers and payload items contained within the capsule\r | |
51 | ///\r | |
52 | // UINT64 ItemOffsetList[];\r | |
53 | } EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER;\r | |
54 | \r | |
55 | typedef struct {\r | |
56 | UINT32 Version;\r | |
57 | \r | |
58 | ///\r | |
2ca32f8d | 59 | /// Used to identify device firmware targeted by this update. This guid is matched by\r |
566771b0 | 60 | /// system firmware against ImageTypeId field within a EFI_FIRMWARE_IMAGE_DESCRIPTOR\r |
61 | ///\r | |
62 | EFI_GUID UpdateImageTypeId;\r | |
63 | \r | |
64 | ///\r | |
65 | /// Passed as ImageIndex in call to EFI_FIRMWARE_MANAGEMENT_PROTOCOL.SetImage()\r | |
66 | ///\r | |
67 | UINT8 UpdateImageIndex;\r | |
68 | UINT8 reserved_bytes[3];\r | |
69 | \r | |
70 | ///\r | |
71 | /// Size of the binary update image which immediately follows this structure\r | |
72 | ///\r | |
73 | UINT32 UpdateImageSize;\r | |
74 | \r | |
75 | ///\r | |
2ca32f8d | 76 | /// Size of the VendorCode bytes which optionally immediately follow binary update image in the capsule\r |
566771b0 | 77 | ///\r |
78 | UINT32 UpdateVendorCodeSize;\r | |
2ca32f8d HW |
79 | \r |
80 | ///\r | |
81 | /// The HardwareInstance to target with this update. If value is zero it means match all\r | |
82 | /// HardwareInstances. This field allows update software to target only a single device in\r | |
83 | /// cases where there are more than one device with the same ImageTypeId GUID.\r | |
84 | /// This header is outside the signed data of the Authentication Info structure and\r | |
85 | /// therefore can be modified without changing the Auth data.\r | |
86 | ///\r | |
87 | UINT64 UpdateHardwareInstance;\r | |
566771b0 | 88 | } EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER;\r |
89 | \r | |
90 | #pragma pack()\r | |
91 | \r | |
92 | \r | |
2ca32f8d HW |
93 | #define EFI_FIRMWARE_MANAGEMENT_CAPSULE_HEADER_INIT_VERSION 0x00000001\r |
94 | #define EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER_INIT_VERSION 0x00000002\r | |
566771b0 | 95 | \r |
96 | extern EFI_GUID gEfiFmpCapsuleGuid;\r | |
97 | \r | |
98 | #endif\r |