#ifndef __EFI_FIRMWARE_MANAGEMENT_PROTOCOL_H__\r
#define __EFI_FIRMWARE_MANAGEMENT_PROTOCOL_H__\r
\r
-\r
#define EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GUID \\r
{ \\r
0x86c77a67, 0xb97, 0x4633, {0xa1, 0x87, 0x49, 0x10, 0x4d, 0x6, 0x85, 0xc7 } \\r
///\r
/// Dependency Expression Opcode\r
///\r
-#define EFI_FMP_DEP_PUSH_GUID 0x00\r
-#define EFI_FMP_DEP_PUSH_VERSION 0x01\r
-#define EFI_FMP_DEP_VERSION_STR 0x02\r
-#define EFI_FMP_DEP_AND 0x03\r
-#define EFI_FMP_DEP_OR 0x04\r
-#define EFI_FMP_DEP_NOT 0x05\r
-#define EFI_FMP_DEP_TRUE 0x06\r
-#define EFI_FMP_DEP_FALSE 0x07\r
-#define EFI_FMP_DEP_EQ 0x08\r
-#define EFI_FMP_DEP_GT 0x09\r
-#define EFI_FMP_DEP_GTE 0x0A\r
-#define EFI_FMP_DEP_LT 0x0B\r
-#define EFI_FMP_DEP_LTE 0x0C\r
-#define EFI_FMP_DEP_END 0x0D\r
+#define EFI_FMP_DEP_PUSH_GUID 0x00\r
+#define EFI_FMP_DEP_PUSH_VERSION 0x01\r
+#define EFI_FMP_DEP_VERSION_STR 0x02\r
+#define EFI_FMP_DEP_AND 0x03\r
+#define EFI_FMP_DEP_OR 0x04\r
+#define EFI_FMP_DEP_NOT 0x05\r
+#define EFI_FMP_DEP_TRUE 0x06\r
+#define EFI_FMP_DEP_FALSE 0x07\r
+#define EFI_FMP_DEP_EQ 0x08\r
+#define EFI_FMP_DEP_GT 0x09\r
+#define EFI_FMP_DEP_GTE 0x0A\r
+#define EFI_FMP_DEP_LT 0x0B\r
+#define EFI_FMP_DEP_LTE 0x0C\r
+#define EFI_FMP_DEP_END 0x0D\r
\r
///\r
/// Image Attribute - Dependency\r
///\r
typedef struct {\r
- UINT8 Dependencies[1];\r
+ UINT8 Dependencies[1];\r
} EFI_FIRMWARE_IMAGE_DEP;\r
\r
///\r
/// A unique number identifying the firmware image within the device. The number is\r
/// between 1 and DescriptorCount.\r
///\r
- UINT8 ImageIndex;\r
+ UINT8 ImageIndex;\r
///\r
/// A unique GUID identifying the firmware image type.\r
///\r
- EFI_GUID ImageTypeId;\r
+ EFI_GUID ImageTypeId;\r
///\r
/// A unique number identifying the firmware image.\r
///\r
- UINT64 ImageId;\r
+ UINT64 ImageId;\r
///\r
/// A pointer to a null-terminated string representing the firmware image name.\r
///\r
- CHAR16 *ImageIdName;\r
+ CHAR16 *ImageIdName;\r
///\r
/// Identifies the version of the device firmware. The format is vendor specific and new\r
/// version must have a greater value than an old version.\r
///\r
- UINT32 Version;\r
+ UINT32 Version;\r
///\r
/// A pointer to a null-terminated string representing the firmware image version name.\r
///\r
- CHAR16 *VersionName;\r
+ CHAR16 *VersionName;\r
///\r
/// Size of the image in bytes. If size=0, then only ImageIndex and ImageTypeId are valid.\r
///\r
- UINTN Size;\r
+ UINTN Size;\r
///\r
/// Image attributes that are supported by this device. See 'Image Attribute Definitions'\r
/// for possible returned values of this parameter. A value of 1 indicates the attribute is\r
/// value of 0 indicates the attribute is not supported and the current setting value in\r
/// AttributesSetting is meaningless.\r
///\r
- UINT64 AttributesSupported;\r
+ UINT64 AttributesSupported;\r
///\r
/// Image attributes. See 'Image Attribute Definitions' for possible returned values of\r
/// this parameter.\r
///\r
- UINT64 AttributesSetting;\r
+ UINT64 AttributesSetting;\r
///\r
/// Image compatibilities. See 'Image Compatibility Definitions' for possible returned\r
/// values of this parameter.\r
///\r
- UINT64 Compatibilities;\r
+ UINT64 Compatibilities;\r
///\r
/// Describes the lowest ImageDescriptor version that the device will accept. Only\r
/// present in version 2 or higher.\r
///\r
- UINT32 LowestSupportedImageVersion;\r
+ UINT32 LowestSupportedImageVersion;\r
///\r
/// Describes the version that was last attempted to update. If no update attempted the\r
/// value will be 0. If the update attempted was improperly formatted and no version\r
/// number was available then the value will be zero. Only present in version 3 or higher.\r
- UINT32 LastAttemptVersion;\r
+ UINT32 LastAttemptVersion;\r
///\r
/// Describes the status that was last attempted to update. If no update has been attempted\r
/// the value will be LAST_ATTEMPT_STATUS_SUCCESS. Only present in version 3 or higher.\r
///\r
- UINT32 LastAttemptStatus;\r
+ UINT32 LastAttemptStatus;\r
///\r
/// An optional number to identify the unique hardware instance within the system for\r
/// devices that may have multiple instances (Example: a plug in pci network card). This\r
/// unique hardware instance number or a hardware instance number is not needed. Only\r
/// present in version 3 or higher.\r
///\r
- UINT64 HardwareInstance;\r
- EFI_FIRMWARE_IMAGE_DEP *Dependencies;\r
+ UINT64 HardwareInstance;\r
+ EFI_FIRMWARE_IMAGE_DEP *Dependencies;\r
} EFI_FIRMWARE_IMAGE_DESCRIPTOR;\r
\r
-\r
//\r
// Image Attribute Definitions\r
//\r
/// The attribute IMAGE_ATTRIBUTE_IMAGE_UPDATABLE indicates this device supports firmware\r
/// image update.\r
///\r
-#define IMAGE_ATTRIBUTE_IMAGE_UPDATABLE 0x0000000000000001\r
+#define IMAGE_ATTRIBUTE_IMAGE_UPDATABLE 0x0000000000000001\r
///\r
/// The attribute IMAGE_ATTRIBUTE_RESET_REQUIRED indicates a reset of the device is required\r
/// for the new firmware image to take effect after a firmware update. The device is the device hosting\r
/// the firmware image.\r
///\r
-#define IMAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002\r
+#define IMAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002\r
///\r
/// The attribute IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED indicates authentication is\r
/// required to perform the following image operations: GetImage(), SetImage(), and\r
/// CheckImage(). See 'Image Attribute - Authentication'.\r
///\r
-#define IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004\r
+#define IMAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004\r
///\r
/// The attribute IMAGE_ATTRIBUTE_IN_USE indicates the current state of the firmware image.\r
/// This distinguishes firmware images in a device that supports redundant images.\r
///\r
-#define IMAGE_ATTRIBUTE_IN_USE 0x0000000000000008\r
+#define IMAGE_ATTRIBUTE_IN_USE 0x0000000000000008\r
///\r
/// The attribute IMAGE_ATTRIBUTE_UEFI_IMAGE indicates that this image is an EFI compatible image.\r
///\r
-#define IMAGE_ATTRIBUTE_UEFI_IMAGE 0x0000000000000010\r
+#define IMAGE_ATTRIBUTE_UEFI_IMAGE 0x0000000000000010\r
///\r
/// The attribute IMAGE_ATTRIBUTE_DEPENDENCY indicates that there is an EFI_FIRMWARE_IMAGE_DEP\r
/// section associated with the image.\r
///\r
-#define IMAGE_ATTRIBUTE_DEPENDENCY 0x0000000000000020\r
-\r
+#define IMAGE_ATTRIBUTE_DEPENDENCY 0x0000000000000020\r
\r
//\r
// Image Compatibility Definitions\r
/// Values from 0x0000000000010000 thru 0xFFFFFFFFFFFFFFFF are used by firmware vendor for\r
/// compatibility check.\r
///\r
-#define IMAGE_COMPATIBILITY_CHECK_SUPPORTED 0x0000000000000001\r
+#define IMAGE_COMPATIBILITY_CHECK_SUPPORTED 0x0000000000000001\r
\r
///\r
/// Descriptor Version exposed by GetImageInfo() function\r
///\r
-#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 4\r
-\r
+#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 4\r
\r
///\r
/// Image Attribute - Authentication Required\r
/// It is included in the signature of AuthInfo. It is used to ensure freshness/no replay.\r
/// It is incremented during each firmware image operation.\r
///\r
- UINT64 MonotonicCount;\r
+ UINT64 MonotonicCount;\r
///\r
/// Provides the authorization for the firmware image operations. It is a signature across\r
/// the image data and the Monotonic Count value. Caller uses the private key that is\r
/// Because this is defined as a signature, WIN_CERTIFICATE_UEFI_GUID.CertType must\r
/// be EFI_CERT_TYPE_PKCS7_GUID.\r
///\r
- WIN_CERTIFICATE_UEFI_GUID AuthInfo;\r
+ WIN_CERTIFICATE_UEFI_GUID AuthInfo;\r
} EFI_FIRMWARE_IMAGE_AUTHENTICATION;\r
\r
-\r
//\r
// ImageUpdatable Definitions\r
//\r
/// the current image. SetImage VendorCode is optional but can be used for vendor\r
/// specific action.\r
///\r
-#define IMAGE_UPDATABLE_VALID 0x0000000000000001\r
+#define IMAGE_UPDATABLE_VALID 0x0000000000000001\r
///\r
/// IMAGE_UPDATABLE_INVALID indicates SetImage() will reject the new image. No additional\r
/// information is provided for the rejection.\r
///\r
-#define IMAGE_UPDATABLE_INVALID 0x0000000000000002\r
+#define IMAGE_UPDATABLE_INVALID 0x0000000000000002\r
///\r
/// IMAGE_UPDATABLE_INVALID_TYPE indicates SetImage() will reject the new image. The\r
/// rejection is due to the new image is not a firmware image recognized for this device.\r
///\r
-#define IMAGE_UPDATABLE_INVALID_TYPE 0x0000000000000004\r
+#define IMAGE_UPDATABLE_INVALID_TYPE 0x0000000000000004\r
///\r
/// IMAGE_UPDATABLE_INVALID_OLD indicates SetImage() will reject the new image. The\r
/// rejection is due to the new image version is older than the current firmware image\r
/// version in the device. The device firmware update policy does not support firmware\r
/// version downgrade.\r
///\r
-#define IMAGE_UPDATABLE_INVALID_OLD 0x0000000000000008\r
+#define IMAGE_UPDATABLE_INVALID_OLD 0x0000000000000008\r
///\r
/// IMAGE_UPDATABLE_VALID_WITH_VENDOR_CODE indicates SetImage() will accept and update\r
/// the new image only if a correct VendorCode is provided or else image would be\r
/// rejected and SetImage will return appropriate error.\r
///\r
-#define IMAGE_UPDATABLE_VALID_WITH_VENDOR_CODE 0x0000000000000010\r
-\r
+#define IMAGE_UPDATABLE_VALID_WITH_VENDOR_CODE 0x0000000000000010\r
\r
//\r
// Package Attribute Definitions\r
/// The attribute PACKAGE_ATTRIBUTE_VERSION_UPDATABLE indicates this device supports the\r
/// update of the firmware package version.\r
///\r
-#define PACKAGE_ATTRIBUTE_VERSION_UPDATABLE 0x0000000000000001\r
+#define PACKAGE_ATTRIBUTE_VERSION_UPDATABLE 0x0000000000000001\r
///\r
/// The attribute PACKAGE_ATTRIBUTE_RESET_REQUIRED indicates a reset of the device is\r
/// required for the new package info to take effect after an update.\r
///\r
-#define PACKAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002\r
+#define PACKAGE_ATTRIBUTE_RESET_REQUIRED 0x0000000000000002\r
///\r
/// The attribute PACKAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED indicates authentication\r
/// is required to update the package info.\r
///\r
-#define PACKAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004\r
+#define PACKAGE_ATTRIBUTE_AUTHENTICATION_REQUIRED 0x0000000000000004\r
\r
/**\r
Callback function to report the process of the firmware updating.\r
/// - Label all the firmware images within a device with a single version.\r
///\r
struct _EFI_FIRMWARE_MANAGEMENT_PROTOCOL {\r
- EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_IMAGE_INFO GetImageInfo;\r
- EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_IMAGE GetImage;\r
- EFI_FIRMWARE_MANAGEMENT_PROTOCOL_SET_IMAGE SetImage;\r
- EFI_FIRMWARE_MANAGEMENT_PROTOCOL_CHECK_IMAGE CheckImage;\r
- EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_PACKAGE_INFO GetPackageInfo;\r
- EFI_FIRMWARE_MANAGEMENT_PROTOCOL_SET_PACKAGE_INFO SetPackageInfo;\r
+ EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_IMAGE_INFO GetImageInfo;\r
+ EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_IMAGE GetImage;\r
+ EFI_FIRMWARE_MANAGEMENT_PROTOCOL_SET_IMAGE SetImage;\r
+ EFI_FIRMWARE_MANAGEMENT_PROTOCOL_CHECK_IMAGE CheckImage;\r
+ EFI_FIRMWARE_MANAGEMENT_PROTOCOL_GET_PACKAGE_INFO GetPackageInfo;\r
+ EFI_FIRMWARE_MANAGEMENT_PROTOCOL_SET_PACKAGE_INFO SetPackageInfo;\r
};\r
\r
-extern EFI_GUID gEfiFirmwareManagementProtocolGuid;\r
+extern EFI_GUID gEfiFirmwareManagementProtocolGuid;\r
\r
#endif\r