1 /*++ 2 3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 Module Name: 13 14 DebugAssert.h 15 16 Abstract: 17 18 This protocol allows provides debug services to a driver. This is not 19 debugger support, but things like ASSERT() and DEBUG() macros 20 21 --*/ 22 23 #ifndef _DEBUG_ASSERT_H_ 24 #define _DEBUG_ASSERT_H_ 25 26 27 #define EFI_DEBUG_ASSERT_PROTOCOL_GUID \ 28 { 0xbe499c92, 0x7d4b, 0x11d4, {0xbc, 0xee, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } 29 30 // 31 // Forward reference for pure ANSI compatability 32 // 33 EFI_FORWARD_DECLARATION (EFI_DEBUG_ASSERT_PROTOCOL); 34 35 36 typedef 37 EFI_STATUS 38 (EFIAPI *EFI_DEBUG_ASSERT) ( 39 IN EFI_DEBUG_ASSERT_PROTOCOL *This, 40 IN CHAR8 *FileName, 41 IN INTN LineNumber, 42 IN CHAR8 *Description 43 ); 44 45 typedef 46 EFI_STATUS 47 (EFIAPI *EFI_DEBUG_PRINT) ( 48 IN EFI_DEBUG_ASSERT_PROTOCOL *This, 49 IN UINTN ErrorLevel, 50 IN CHAR8 *Format, 51 IN VA_LIST Marker 52 ); 53 54 typedef 55 EFI_STATUS 56 (EFIAPI *EFI_POST_CODE) ( 57 IN EFI_DEBUG_ASSERT_PROTOCOL *This, 58 IN UINT16 PostCode, 59 IN CHAR8 *PostCodeString OPTIONAL 60 ); 61 62 typedef 63 EFI_STATUS 64 (EFIAPI *EFI_GET_ERROR_LEVEL) ( 65 IN EFI_DEBUG_ASSERT_PROTOCOL *This, 66 IN UINTN *ErrorLevel 67 ); 68 69 typedef 70 EFI_STATUS 71 (EFIAPI *EFI_SET_ERROR_LEVEL) ( 72 IN EFI_DEBUG_ASSERT_PROTOCOL *This, 73 IN UINTN ErrorLevel 74 ); 75 76 struct _EFI_DEBUG_ASSERT_PROTOCOL { 77 78 EFI_DEBUG_ASSERT Assert; 79 EFI_DEBUG_PRINT Print; 80 EFI_POST_CODE PostCode; 81 82 EFI_GET_ERROR_LEVEL GetErrorLevel; 83 EFI_SET_ERROR_LEVEL SetErrorLevel; 84 85 }; 86 87 extern EFI_GUID gEfiDebugAssertProtocolGuid; 88 89 #endif 90