/* Sends the 32-bit value specified by Value to a POST card, and returns Value. If Description is not NULL, then the ASCII string specified by Description is also passed to the handler that displays the POST card value. Some implementations of this library function may perform I/O operations directly to a POST card device. Other implementations may send Value to ReportStatusCode(), and the status code reporting mechanism will eventually display the 32-bit value on the status reporting device. */
UINT32 EFIAPI PostCodeWithDescription(IN UINT32 Value, IN CONST CHAR8 *Description OPTIONAL)
/* Sends the 32-bit value specified by Value to a POST card, and returns Value. If Description is not NULL, then the ASCII string specified by Description is also passed to the handler that displays the POST card value. Some implementations of this library function may perform I/O operations directly to a POST card device. Other implementations may send Value to ReportStatusCode(), and the status code reporting mechanism will eventually display the 32-bit value on the status reporting device. */
UINT32 EFIAPI PostCodeWithDescription(IN UINT32 Value, IN CONST CHAR8 *Description OPTIONAL)
{
  if (Description == NULL) {
    REPORT_STATUS_CODE (
      EFI_PROGRESS_CODE,
      POST_CODE_TO_STATUS_CODE_VALUE (Value)
      );
  } else {
    REPORT_STATUS_CODE_WITH_EXTENDED_DATA (
      EFI_PROGRESS_CODE,
      POST_CODE_TO_STATUS_CODE_VALUE (Value),
      Description,
      AsciiStrSize (Description)
      );
  }
  return Value;
}