Home | History | Annotate | Download | only in Guid
      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