/**\r
Validate the dependency expression and output its size.\r
\r
- @param[in] Dependencies Pointer to the EFI_FIRMWARE_IMAGE_DEP.\r
- @param[in] MaxDepexSize Max size of the dependency.\r
- @param[out] DepexSize Size of dependency.\r
+ @param[in] Dependencies Pointer to the EFI_FIRMWARE_IMAGE_DEP.\r
+ @param[in] MaxDepexSize Max size of the dependency.\r
+ @param[out] DepexSize Size of dependency.\r
+ @param[out] LastAttemptStatus An optional pointer to a UINT32 that holds the\r
+ last attempt status to report back to the caller.\r
+ If a last attempt status error code is not returned,\r
+ this function will not modify the LastAttemptStatus value.\r
\r
@retval TRUE The dependency expression is valid.\r
@retval FALSE The dependency expression is invalid.\r
ValidateDependency (\r
IN EFI_FIRMWARE_IMAGE_DEP *Dependencies,\r
IN UINTN MaxDepexSize,\r
- OUT UINT32 *DepexSize\r
+ OUT UINT32 *DepexSize,\r
+ OUT UINT32 *LastAttemptStatus OPTIONAL\r
);\r
\r
/**\r
Get dependency from firmware image.\r
\r
- @param[in] Image Points to the firmware image.\r
- @param[in] ImageSize Size, in bytes, of the firmware image.\r
- @param[out] DepexSize Size, in bytes, of the dependency.\r
-\r
+ @param[in] Image Points to the firmware image.\r
+ @param[in] ImageSize Size, in bytes, of the firmware image.\r
+ @param[out] DepexSize Size, in bytes, of the dependency.\r
+ @param[out] LastAttemptStatus An optional pointer to a UINT32 that holds the\r
+ last attempt status to report back to the caller.\r
+ If a last attempt status error code is not returned,\r
+ this function will not modify the LastAttemptStatus value.\r
@retval The pointer to dependency.\r
@retval Null\r
\r
EFI_FIRMWARE_IMAGE_DEP*\r
EFIAPI\r
GetImageDependency (\r
- IN EFI_FIRMWARE_IMAGE_AUTHENTICATION *Image,\r
- IN UINTN ImageSize,\r
- OUT UINT32 *DepexSize\r
+ IN EFI_FIRMWARE_IMAGE_AUTHENTICATION *Image,\r
+ IN UINTN ImageSize,\r
+ OUT UINT32 *DepexSize,\r
+ OUT UINT32 *LastAttemptStatus OPTIONAL\r
);\r
\r
/**\r
parameter is optional and can be set to NULL.\r
@param[in] FmpVersionsCount Element count of the array. When FmpVersions\r
is NULL, FmpVersionsCount must be 0.\r
+ @param[out] LastAttemptStatus An optional pointer to a UINT32 that holds the\r
+ last attempt status to report back to the caller.\r
+ This function will set the value to LAST_ATTEMPT_STATUS_SUCCESS\r
+ if an error code is not set.\r
\r
@retval TRUE Dependency expressions evaluate to TRUE.\r
@retval FALSE Dependency expressions evaluate to FALSE.\r
BOOLEAN\r
EFIAPI\r
EvaluateDependency (\r
- IN EFI_FIRMWARE_IMAGE_DEP *Dependencies,\r
- IN UINTN DependenciesSize,\r
- IN FMP_DEPEX_CHECK_VERSION_DATA *FmpVersions OPTIONAL,\r
- IN UINTN FmpVersionsCount\r
+ IN EFI_FIRMWARE_IMAGE_DEP *Dependencies,\r
+ IN UINTN DependenciesSize,\r
+ IN FMP_DEPEX_CHECK_VERSION_DATA *FmpVersions, OPTIONAL\r
+ IN UINTN FmpVersionsCount,\r
+ OUT UINT32 *LastAttemptStatus OPTIONAL\r
);\r
\r
#endif\r