]>
Commit | Line | Data |
---|---|---|
bbcf6351 CZ |
1 | /** @file\r |
2 | Guid & data structure used for Capsule process result variables\r | |
9095d37b LG |
3 | \r |
4 | Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r | |
9344f092 | 5 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
bbcf6351 CZ |
6 | \r |
7 | @par Revision Reference:\r | |
8 | GUIDs defined in UEFI 2.4 spec.\r | |
9 | \r | |
10 | **/\r | |
11 | \r | |
bbcf6351 CZ |
12 | #ifndef _CAPSULE_REPORT_GUID_H__\r |
13 | #define _CAPSULE_REPORT_GUID_H__\r | |
14 | \r | |
15 | //\r | |
16 | // This is the GUID for capsule result variable.\r | |
17 | //\r | |
18 | #define EFI_CAPSULE_REPORT_GUID \\r | |
19 | { \\r | |
20 | 0x39b68c46, 0xf7fb, 0x441b, {0xb6, 0xec, 0x16, 0xb0, 0xf6, 0x98, 0x21, 0xf3 } \\r | |
21 | }\r | |
22 | \r | |
bbcf6351 | 23 | typedef struct {\r |
bbcf6351 CZ |
24 | ///\r |
25 | /// Size in bytes of the variable including any data beyond header as specified by CapsuleGuid\r | |
26 | ///\r | |
2f88bd3a | 27 | UINT32 VariableTotalSize;\r |
bbcf6351 CZ |
28 | \r |
29 | ///\r | |
30 | /// For alignment\r | |
31 | ///\r | |
2f88bd3a | 32 | UINT32 Reserved;\r |
bbcf6351 CZ |
33 | \r |
34 | ///\r | |
35 | /// Guid from EFI_CAPSULE_HEADER\r | |
36 | ///\r | |
2f88bd3a | 37 | EFI_GUID CapsuleGuid;\r |
bbcf6351 CZ |
38 | \r |
39 | ///\r | |
40 | /// Timestamp using system time when processing completed\r | |
41 | ///\r | |
2f88bd3a | 42 | EFI_TIME CapsuleProcessed;\r |
bbcf6351 CZ |
43 | \r |
44 | ///\r | |
45 | /// Result of the capsule processing. Exact interpretation of any error code may depend\r | |
46 | /// upon type of capsule processed\r | |
47 | ///\r | |
2f88bd3a | 48 | EFI_STATUS CapsuleStatus;\r |
bbcf6351 CZ |
49 | } EFI_CAPSULE_RESULT_VARIABLE_HEADER;\r |
50 | \r | |
bbcf6351 | 51 | typedef struct {\r |
bbcf6351 CZ |
52 | ///\r |
53 | /// Version of this structure, currently 0x00000001\r | |
54 | ///\r | |
2f88bd3a | 55 | UINT16 Version;\r |
bbcf6351 CZ |
56 | \r |
57 | ///\r | |
58 | /// The index of the payload within the FMP capsule which was processed to generate this report\r | |
59 | /// Starting from zero\r | |
60 | ///\r | |
2f88bd3a | 61 | UINT8 PayloadIndex;\r |
bbcf6351 CZ |
62 | \r |
63 | ///\r | |
64 | /// The UpdateImageIndex from EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER\r | |
65 | /// (after unsigned conversion from UINT8 to UINT16).\r | |
66 | ///\r | |
2f88bd3a | 67 | UINT8 UpdateImageIndex;\r |
bbcf6351 CZ |
68 | \r |
69 | ///\r | |
70 | /// The UpdateImageTypeId Guid from EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER.\r | |
71 | ///\r | |
2f88bd3a | 72 | EFI_GUID UpdateImageTypeId;\r |
bbcf6351 CZ |
73 | \r |
74 | ///\r | |
75 | /// In case of capsule loaded from disk, the zero-terminated array containing file name of capsule that was processed.\r | |
9095d37b | 76 | /// In case of capsule submitted directly to UpdateCapsule() there is no file name, and this field is required to contain a single 16-bit zero character\r |
bbcf6351 CZ |
77 | /// which is included in VariableTotalSize.\r |
78 | ///\r | |
79 | /// CHAR16 CapsuleFileName[];\r | |
80 | ///\r | |
81 | \r | |
82 | ///\r | |
9095d37b | 83 | /// This field will contain a zero-terminated CHAR16 string containing the text representation of the device path of device publishing Firmware Management Protocol\r |
bbcf6351 CZ |
84 | /// (if present). In case where device path is not present and the target is not otherwise known to firmware, or when payload was blocked by policy, or skipped,\r |
85 | /// this field is required to contain a single 16-bit zero character which is included in VariableTotalSize.\r | |
86 | ///\r | |
87 | /// CHAR16 CapsuleTarget[];\r | |
88 | ///\r | |
89 | } EFI_CAPSULE_RESULT_VARIABLE_FMP;\r | |
90 | \r | |
154e243a | 91 | typedef struct {\r |
154e243a OY |
92 | ///\r |
93 | /// Version of this structure, currently 0x00000001\r | |
94 | ///\r | |
95 | UINT32 Version;\r | |
96 | \r | |
97 | ///\r | |
98 | /// The unique identifier of the capsule whose processing result is recorded in this variable.\r | |
99 | /// 0x00000000 - 0xEFFFFFFF - Implementation Reserved\r | |
100 | /// 0xF0000000 - 0xFFFFFFFF - Specification Reserved\r | |
101 | /// #define REDFISH_DEFINED_JSON_SCHEMA 0xF000000\r | |
102 | /// The JSON payload shall conform to a Redfish-defined JSON schema, see DMTF-Redfish\r | |
103 | /// Specification.\r | |
104 | ///\r | |
2f88bd3a | 105 | UINT32 CapsuleId;\r |
154e243a OY |
106 | \r |
107 | ///\r | |
108 | /// The length of Resp in bytes.\r | |
109 | ///\r | |
2f88bd3a | 110 | UINT32 RespLength;\r |
154e243a OY |
111 | \r |
112 | ///\r | |
113 | /// Variable length buffer containing the replied JSON payload to the caller who delivered JSON\r | |
114 | /// capsule to system. The definition of the JSON schema used in the replied payload is beyond\r | |
115 | /// the scope of this specification.\r | |
116 | ///\r | |
2f88bd3a MK |
117 | UINT8 Resp[];\r |
118 | } EFI_CAPSULE_RESULT_VARIABLE_JSON;\r | |
bbcf6351 | 119 | \r |
2f88bd3a | 120 | extern EFI_GUID gEfiCapsuleReportGuid;\r |
bbcf6351 CZ |
121 | \r |
122 | #endif\r |