/** @file GUID and structure used for debug status code policy. @copyright Copyright 2017 - 2021 Intel Corporation.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _STATUS_CODE_DATA_TYPE_EX_DEBUG_GUID_H_ #define _STATUS_CODE_DATA_TYPE_EX_DEBUG_GUID_H_ #define STATUS_CODE_DATA_TYPE_EX_DEBUG_GUID \ { 0x7859daa2, 0x926e, 0x4b01,{0x85, 0x86, 0xc6, 0x2d, 0x45, 0x64, 0x21, 0xd2} } #define MAX_EX_DEBUG_SIZE 0x200 // Inherited from PEI status code max #define MAX_EX_DEBUG_STR_LEN (MAX_EX_DEBUG_SIZE - sizeof(EX_DEBUG_INFO)) typedef CHAR8 * (EFIAPI *PROCESS_BUFFER) ( IN VOID *ProcessDataPtr, IN CHAR8 *Buffer, IN OUT UINTN *BufferSize ); typedef VOID * (EFIAPI *PRINT_SYNC_ACQUIRE) ( VOID ); typedef VOID * (EFIAPI *PRINT_SYNC_RELEASE) ( VOID ); typedef struct { PROCESS_BUFFER ProcessBuffer; // Buffer processing function VOID *ProcessDataPtr; // Data needed for processing PRINT_SYNC_ACQUIRE PrintSyncAcquire; // Acquire sync function PRINT_SYNC_RELEASE PrintSyncRelease; // Release sync function UINT32 DebugStringLen; CHAR8 *DebugString; // Provided debug string } EX_DEBUG_INFO; extern EFI_GUID gStatusCodeDataTypeExDebugGuid; #endif // _STATUS_CODE_DATA_TYPE_EX_DEBUG_GUID_H_