2015-06-08 07:12:58 +02:00
/** @file
Guid & data structure used for Capsule process result variables
2018-06-27 15:11:33 +02:00
Copyright ( c ) 2015 - 2018 , Intel Corporation . All rights reserved . < BR >
2015-06-08 07:12:58 +02:00
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution . The full text of the license may be found at
http : //opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN " AS IS " BASIS ,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND , EITHER EXPRESS OR IMPLIED .
@ par Revision Reference :
GUIDs defined in UEFI 2.4 spec .
* */
# ifndef _CAPSULE_REPORT_GUID_H__
# define _CAPSULE_REPORT_GUID_H__
//
// This is the GUID for capsule result variable.
//
# define EFI_CAPSULE_REPORT_GUID \
{ \
0x39b68c46 , 0xf7fb , 0x441b , { 0xb6 , 0xec , 0x16 , 0xb0 , 0xf6 , 0x98 , 0x21 , 0xf3 } \
}
typedef struct {
///
/// Size in bytes of the variable including any data beyond header as specified by CapsuleGuid
///
UINT32 VariableTotalSize ;
///
/// For alignment
///
UINT32 Reserved ;
///
/// Guid from EFI_CAPSULE_HEADER
///
EFI_GUID CapsuleGuid ;
///
/// Timestamp using system time when processing completed
///
EFI_TIME CapsuleProcessed ;
///
/// Result of the capsule processing. Exact interpretation of any error code may depend
/// upon type of capsule processed
///
EFI_STATUS CapsuleStatus ;
} EFI_CAPSULE_RESULT_VARIABLE_HEADER ;
typedef struct {
///
/// Version of this structure, currently 0x00000001
///
UINT16 Version ;
///
/// The index of the payload within the FMP capsule which was processed to generate this report
/// Starting from zero
///
UINT8 PayloadIndex ;
///
/// The UpdateImageIndex from EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER
/// (after unsigned conversion from UINT8 to UINT16).
///
UINT8 UpdateImageIndex ;
///
/// The UpdateImageTypeId Guid from EFI_FIRMWARE_MANAGEMENT_CAPSULE_IMAGE_HEADER.
///
EFI_GUID UpdateImageTypeId ;
///
/// In case of capsule loaded from disk, the zero-terminated array containing file name of capsule that was processed.
2018-06-27 15:11:33 +02:00
/// 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
2015-06-08 07:12:58 +02:00
/// which is included in VariableTotalSize.
///
/// CHAR16 CapsuleFileName[];
///
///
2018-06-27 15:11:33 +02:00
/// This field will contain a zero-terminated CHAR16 string containing the text representation of the device path of device publishing Firmware Management Protocol
2015-06-08 07:12:58 +02:00
/// (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,
/// this field is required to contain a single 16-bit zero character which is included in VariableTotalSize.
///
/// CHAR16 CapsuleTarget[];
///
} EFI_CAPSULE_RESULT_VARIABLE_FMP ;
extern EFI_GUID gEfiCapsuleReportGuid ;
# endif