blob: 1e6beb562e56c4fb58776da614c6099aa8c7e29d [file] [log] [blame]
/** @file
Debug Mask Protocol.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef __DEBUG_MASK_H__
#define __DEBUG_MASK_H__
///
/// Protocol GUID for DXE Phase Debug Mask support
///
#define EFI_DEBUG_MASK_PROTOCOL_GUID \
{ 0x4c8a2451, 0xc207, 0x405b, {0x96, 0x94, 0x99, 0xea, 0x13, 0x25, 0x13, 0x41} }
///
/// Forward reference for pure ANSI compatability
///
typedef struct _EFI_DEBUG_MASK_PROTOCOL EFI_DEBUG_MASK_PROTOCOL;
///
///
///
#define EFI_DEBUG_MASK_REVISION 0x00010000
//
// DebugMask member functions definition
//
typedef
EFI_STATUS
(EFIAPI * EFI_GET_DEBUG_MASK) (
IN EFI_DEBUG_MASK_PROTOCOL *This,
IN OUT UINTN *CurrentDebugMask
);
typedef
EFI_STATUS
(EFIAPI *EFI_SET_DEBUG_MASK) (
IN EFI_DEBUG_MASK_PROTOCOL *This,
IN UINTN NewDebugMask
);
///
/// DebugMask protocol definition
///
struct _EFI_DEBUG_MASK_PROTOCOL {
INT64 Revision;
EFI_GET_DEBUG_MASK GetDebugMask;
EFI_SET_DEBUG_MASK SetDebugMask;
};
extern EFI_GUID gEfiDebugMaskProtocolGuid;
///
/// GUID used to store the global debug mask in an the "EFIDebug" EFI Variabe
/// Also used as a GUIDed HOB that contains a UINT32 debug mask default value
///
#define EFI_GENERIC_VARIABLE_GUID \
{ 0x59d1c24f, 0x50f1, 0x401a, {0xb1, 0x01, 0xf3, 0x3e, 0x0d, 0xae, 0xd4, 0x43} }
#define DEBUG_MASK_VARIABLE_NAME L"EFIDebug"
extern EFI_GUID gEfiGenericVariableGuid;
#endif