/*++ | |
Copyright (c) 2006, Intel Corporation | |
All rights reserved. This program and the accompanying materials | |
are licensed and made available under the terms and conditions of the BSD License | |
which 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. | |
Module Name: | |
DebugAssert.h | |
Abstract: | |
This protocol allows provides debug services to a driver. This is not | |
debugger support, but things like ASSERT() and DEBUG() macros | |
--*/ | |
#ifndef _DEBUG_ASSERT_H_ | |
#define _DEBUG_ASSERT_H_ | |
#define EFI_DEBUG_ASSERT_PROTOCOL_GUID \ | |
{ 0xbe499c92, 0x7d4b, 0x11d4, {0xbc, 0xee, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } } | |
// | |
// Forward reference for pure ANSI compatability | |
// | |
typedef struct _EFI_DEBUG_ASSERT_PROTOCOL EFI_DEBUG_ASSERT_PROTOCOL; | |
typedef | |
EFI_STATUS | |
(EFIAPI *EFI_DEBUG_ASSERT) ( | |
IN EFI_DEBUG_ASSERT_PROTOCOL *This, | |
IN CHAR8 *FileName, | |
IN INTN LineNumber, | |
IN CHAR8 *Description | |
); | |
typedef | |
EFI_STATUS | |
(EFIAPI *EFI_DEBUG_PRINT) ( | |
IN EFI_DEBUG_ASSERT_PROTOCOL *This, | |
IN UINTN ErrorLevel, | |
IN CHAR8 *Format, | |
IN VA_LIST Marker | |
); | |
typedef | |
EFI_STATUS | |
(EFIAPI *EFI_POST_CODE) ( | |
IN EFI_DEBUG_ASSERT_PROTOCOL *This, | |
IN UINT16 PostCode, | |
IN CHAR8 *PostCodeString OPTIONAL | |
); | |
typedef | |
EFI_STATUS | |
(EFIAPI *EFI_GET_ERROR_LEVEL) ( | |
IN EFI_DEBUG_ASSERT_PROTOCOL *This, | |
IN UINTN *ErrorLevel | |
); | |
typedef | |
EFI_STATUS | |
(EFIAPI *EFI_SET_ERROR_LEVEL) ( | |
IN EFI_DEBUG_ASSERT_PROTOCOL *This, | |
IN UINTN ErrorLevel | |
); | |
struct _EFI_DEBUG_ASSERT_PROTOCOL { | |
EFI_DEBUG_ASSERT Assert; | |
EFI_DEBUG_PRINT Print; | |
EFI_POST_CODE PostCode; | |
EFI_GET_ERROR_LEVEL GetErrorLevel; | |
EFI_SET_ERROR_LEVEL SetErrorLevel; | |
}; | |
extern EFI_GUID gEfiDebugAssertProtocolGuid; | |
#endif |