/** @file Define the EDKII_DEBUG_PPI that PEIMs can use to dump info to debug port. Copyright (c) 2019, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef __EDKII_DEBUG_PPI_H__ #define __EDKII_DEBUG_PPI_H__ #include // // Global ID for the EDKII_DEBUG_PPI // #define EDKII_DEBUG_PPI_GUID \ { \ 0x999e699c, 0xb013, 0x475e, {0xb1, 0x7b, 0xf3, 0xa8, 0xae, 0x5c, 0x48, 0x75} \ } /// /// Forward declaration for the PEI_DEBUG_LIB_DEBUG_PPI EDKII_DEBUG_PPI /// typedef struct _EDKII_DEBUG_PPI EDKII_DEBUG_PPI; /** Print a debug message to debug output device if the specified error level is enabled. @param[in] ErrorLevel The error level of the debug message. @param[in] Format Format string for the debug message to print. @param[in] Marker BASE_LIST marker for the variable argument list. **/ typedef VOID (EFIAPI *EDKII_DEBUG_BPRINT)( IN UINTN ErrorLevel, IN CONST CHAR8 *Format, IN BASE_LIST Marker ); /** Print an assert message containing a filename, line number, and description. This may be followed by a breakpoint or a dead loop. @param[in] FileName The pointer to the name of the source file that generated the assert condition. @param[in] LineNumber The line number in the source file that generated the assert condition @param[in] Description The pointer to the description of the assert condition. **/ typedef VOID (EFIAPI *EDKII_DEBUG_ASSERT)( IN CONST CHAR8 *FileName, IN UINTN LineNumber, IN CONST CHAR8 *Description ); /// /// This PPI contains a set of services to print message to debug output device /// struct _EDKII_DEBUG_PPI { EDKII_DEBUG_BPRINT DebugBPrint; EDKII_DEBUG_ASSERT DebugAssert; }; extern EFI_GUID gEdkiiDebugPpiGuid; #endif