GetImageInfo() is the only required function. GetImage(), SetImage(), \r
CheckImage(), GetPackageInfo(), and SetPackageInfo() shall return \r
EFI_UNSUPPORTED if not supported by the driver.\r
- \r
- Copyright (c) 2009, Intel Corporation \r
- All rights reserved. This program and the accompanying materials \r
+ \r
+ Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2013 - 2014, Hewlett-Packard Development Company, L.P.<BR> \r
+ This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
http://opensource.org/licenses/bsd-license.php \r
/// \r
UINT64 ImageId;\r
/// \r
- /// A pointer to a null-terminated Unicode string representing the firmware image name. \r
+ /// A pointer to a null-terminated string representing the firmware image name. \r
/// \r
CHAR16 *ImageIdName;\r
/// \r
/// \r
UINT32 Version;\r
/// \r
- /// A pointer to a null-terminated Unicode string representing the firmware image version name.\r
+ /// A pointer to a null-terminated string representing the firmware image version name.\r
/// \r
CHAR16 *VersionName;\r
/// \r
/// values of this parameter.\r
/// \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
} EFI_FIRMWARE_IMAGE_DESCRIPTOR;\r
\r
\r
/// This distinguishes firmware images in a device that supports redundant images. \r
/// \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
\r
\r
//\r
#define IMAGE_COMPATIBILITY_CHECK_SUPPORTED 0x0000000000000001\r
\r
///\r
-/// Descriptor Version\r
+/// Descriptor Version exposed by GetImageInfo() function\r
///\r
-#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 1\r
+#define EFI_FIRMWARE_IMAGE_DESCRIPTOR_VERSION 2\r
\r
\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
/// associated with a public key that has been provisioned via the key exchange. \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
} EFI_FIRMWARE_IMAGE_AUTHENTICATION;\r
0xFFFFFFFF. A value of 0xFFFFFFFE indicates that package version comparison\r
is to be performed using PackageVersionName. A value of 0xFFFFFFFD indicates\r
that package version update is in progress.\r
- @param[out] PackageVersionName A pointer to a pointer to a null-terminated Unicode string representing the\r
+ @param[out] PackageVersionName A pointer to a pointer to a null-terminated string representing the\r
package version name. The buffer is allocated by this function with \r
AllocatePool(), and it is the caller's responsibility to free it with a call\r
to FreePool().\r
@param[in] VendorCode This enables vendor to implement vendor-specific firmware image update policy. \r
Null indicates the caller did not specify the policy or use the default policy.\r
@param[in] Progress A function used by the driver to report the progress of the firmware update.\r
- @param[out] AbortReason A pointer to a pointer to a null-terminated Unicode string providing more\r
+ @param[out] AbortReason A pointer to a pointer to a null-terminated string providing more\r
details for the aborted operation. The buffer is allocated by this function \r
with AllocatePool(), and it is the caller's responsibility to free it with a\r
call to FreePool().\r
0xFFFFFFFF. A value of 0xFFFFFFFE indicates that package version\r
comparison is to be performed using PackageVersionName. A value of\r
0xFFFFFFFD indicates that package version update is in progress.\r
- @param[out] PackageVersionName A pointer to a pointer to a null-terminated Unicode string representing\r
+ @param[out] PackageVersionName A pointer to a pointer to a null-terminated string representing\r
the package version name. The buffer is allocated by this function with\r
AllocatePool(), and it is the caller's responsibility to free it with a\r
call to FreePool().\r