1 /** @file 2 3 Debug Mask Protocol. 4 5 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR> 6 This program and the accompanying materials are licensed and made available under 7 the terms and conditions of the BSD License that accompanies this distribution. 8 The full text of the license may be found at 9 http://opensource.org/licenses/bsd-license.php. 10 11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 13 14 **/ 15 16 #ifndef __DEBUG_MASK_H__ 17 #define __DEBUG_MASK_H__ 18 19 /// 20 /// Protocol GUID for DXE Phase Debug Mask support 21 /// 22 #define EFI_DEBUG_MASK_PROTOCOL_GUID \ 23 { 0x4c8a2451, 0xc207, 0x405b, {0x96, 0x94, 0x99, 0xea, 0x13, 0x25, 0x13, 0x41} } 24 25 /// 26 /// Forward reference for pure ANSI compatability 27 /// 28 typedef struct _EFI_DEBUG_MASK_PROTOCOL EFI_DEBUG_MASK_PROTOCOL; 29 30 /// 31 /// 32 /// 33 #define EFI_DEBUG_MASK_REVISION 0x00010000 34 35 // 36 // DebugMask member functions definition 37 // 38 typedef 39 EFI_STATUS 40 (EFIAPI * EFI_GET_DEBUG_MASK) ( 41 IN EFI_DEBUG_MASK_PROTOCOL *This, 42 IN OUT UINTN *CurrentDebugMask 43 ); 44 45 typedef 46 EFI_STATUS 47 (EFIAPI *EFI_SET_DEBUG_MASK) ( 48 IN EFI_DEBUG_MASK_PROTOCOL *This, 49 IN UINTN NewDebugMask 50 ); 51 52 /// 53 /// DebugMask protocol definition 54 /// 55 struct _EFI_DEBUG_MASK_PROTOCOL { 56 INT64 Revision; 57 EFI_GET_DEBUG_MASK GetDebugMask; 58 EFI_SET_DEBUG_MASK SetDebugMask; 59 }; 60 61 extern EFI_GUID gEfiDebugMaskProtocolGuid; 62 63 /// 64 /// GUID used to store the global debug mask in an the "EFIDebug" EFI Variabe 65 /// Also used as a GUIDed HOB that contains a UINT32 debug mask default value 66 /// 67 #define EFI_GENERIC_VARIABLE_GUID \ 68 { 0x59d1c24f, 0x50f1, 0x401a, {0xb1, 0x01, 0xf3, 0x3e, 0x0d, 0xae, 0xd4, 0x43} } 69 70 #define DEBUG_MASK_VARIABLE_NAME L"EFIDebug" 71 72 extern EFI_GUID gEfiGenericVariableGuid; 73 74 #endif 75