1 /** @file 2 3 Debug Mask Protocol. 4 5 Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR> 6 SPDX-License-Identifier: BSD-2-Clause-Patent 7 8 **/ 9 10 #ifndef __DEBUG_MASK_H__ 11 #define __DEBUG_MASK_H__ 12 13 /// 14 /// Protocol GUID for DXE Phase Debug Mask support 15 /// 16 #define EFI_DEBUG_MASK_PROTOCOL_GUID \ 17 { 0x4c8a2451, 0xc207, 0x405b, {0x96, 0x94, 0x99, 0xea, 0x13, 0x25, 0x13, 0x41} } 18 19 /// 20 /// Forward reference for pure ANSI compatability 21 /// 22 typedef struct _EFI_DEBUG_MASK_PROTOCOL EFI_DEBUG_MASK_PROTOCOL; 23 24 /// 25 /// 26 /// 27 #define EFI_DEBUG_MASK_REVISION 0x00010000 28 29 // 30 // DebugMask member functions definition 31 // 32 typedef 33 EFI_STATUS 34 (EFIAPI * EFI_GET_DEBUG_MASK) ( 35 IN EFI_DEBUG_MASK_PROTOCOL *This, 36 IN OUT UINTN *CurrentDebugMask 37 ); 38 39 typedef 40 EFI_STATUS 41 (EFIAPI *EFI_SET_DEBUG_MASK) ( 42 IN EFI_DEBUG_MASK_PROTOCOL *This, 43 IN UINTN NewDebugMask 44 ); 45 46 /// 47 /// DebugMask protocol definition 48 /// 49 struct _EFI_DEBUG_MASK_PROTOCOL { 50 INT64 Revision; 51 EFI_GET_DEBUG_MASK GetDebugMask; 52 EFI_SET_DEBUG_MASK SetDebugMask; 53 }; 54 55 extern EFI_GUID gEfiDebugMaskProtocolGuid; 56 57 /// 58 /// GUID used to store the global debug mask in an the "EFIDebug" EFI Variabe 59 /// Also used as a GUIDed HOB that contains a UINT32 debug mask default value 60 /// 61 #define EFI_GENERIC_VARIABLE_GUID \ 62 { 0x59d1c24f, 0x50f1, 0x401a, {0xb1, 0x01, 0xf3, 0x3e, 0x0d, 0xae, 0xd4, 0x43} } 63 64 #define DEBUG_MASK_VARIABLE_NAME L"EFIDebug" 65 66 extern EFI_GUID gEfiGenericVariableGuid; 67 68 #endif 69