]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/Guid/CapsuleReport.h
MdePkg: Apply uncrustify changes
[mirror_edk2.git] / MdePkg / Include / Guid / CapsuleReport.h
CommitLineData
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 23typedef 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 51typedef 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 91typedef 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 120extern EFI_GUID gEfiCapsuleReportGuid;\r
bbcf6351
CZ
121\r
122#endif\r