-/**\r
- Reports a status code with full parameters.\r
-\r
- The function reports a status code. If ExtendedData is NULL and ExtendedDataSize\r
- is 0, then an extended data buffer is not reported. If ExtendedData is not\r
- NULL and ExtendedDataSize is not 0, then an extended data buffer is allocated.\r
- ExtendedData is assumed not have the standard status code header, so this function\r
- is responsible for allocating a buffer large enough for the standard header and\r
- the extended data passed into this function. The standard header is filled in\r
- with a GUID specified by ExtendedDataGuid. If ExtendedDataGuid is NULL, then a\r
- GUID of gEfiStatusCodeSpecificDatauid is used. The status code is reported with\r
- an instance specified by Instance and a caller ID specified by CallerId. If\r
- CallerId is NULL, then a caller ID of gEfiCallerIdGuid is used.\r
-\r
- ReportStatusCodeEx()must actively prevent recursion. If ReportStatusCodeEx()\r
- is called while processing another any other Report Status Code Library function,\r
- then ReportStatusCodeEx() must return EFI_DEVICE_ERROR immediately.\r
-\r
- If ExtendedData is NULL and ExtendedDataSize is not zero, then ASSERT().\r
- If ExtendedData is not NULL and ExtendedDataSize is zero, then ASSERT().\r
-\r
- @param Type Status code type.\r
- @param Value Status code value.\r
- @param Instance Status code instance number.\r
- @param CallerId Pointer to a GUID that identifies the caller of this\r
- function. If this parameter is NULL, then a caller\r
- ID of gEfiCallerIdGuid is used.\r
- @param ExtendedDataGuid Pointer to the GUID for the extended data buffer.\r
- If this parameter is NULL, then a the status code\r
- standard header is filled in with\r
- gEfiStatusCodeSpecificDataGuid.\r
- @param ExtendedData Pointer to the extended data buffer. This is an\r
- optional parameter that may be NULL.\r
- @param ExtendedDataSize The size, in bytes, of the extended data buffer.\r
-\r
- @retval EFI_SUCCESS The status code was reported.\r
- @retval EFI_OUT_OF_RESOURCES There were not enough resources to allocate\r
- the extended data section if it was specified.\r
- @retval EFI_UNSUPPORTED Report status code is not supported\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-InternalReportStatusCodeEx (\r
- IN EFI_STATUS_CODE_TYPE Type,\r
- IN EFI_STATUS_CODE_VALUE Value,\r
- IN UINT32 Instance,\r
- IN CONST EFI_GUID *CallerId OPTIONAL,\r
- IN CONST EFI_GUID *ExtendedDataGuid OPTIONAL,\r
- IN CONST VOID *ExtendedData OPTIONAL,\r
- IN UINTN ExtendedDataSize\r
- );\r
-\r
-\r
-\r
-#endif // __REPORT_STATUS_CODE_LIB_INTERNAL__H\r