/*++ Copyright (c) 2004, 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 // EFI_FORWARD_DECLARATION (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 ); typedef 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; } EFI_DEBUG_ASSERT_PROTOCOL; extern EFI_GUID gEfiDebugAssertProtocolGuid; #endif