1 /** @file
2   This file defines the GUID and data structure used to pass DEBUG() macro
3   information to the Status Code Protocol and Status Code PPI.
4 
5 Copyright (c) 2007 - 2010, 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 _STATUS_CODE_DATA_TYPE_DEBUG_H_
17 #define _STATUS_CODE_DATA_TYPE_DEBUG_H_
18 
19 ///
20 /// The Global ID used to identify a structure of type EFI_DEBUG_INFO.
21 ///
22 #define EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID \
23   { \
24     0x9A4E9246, 0xD553, 0x11D5, { 0x87, 0xE2, 0x00, 0x06, 0x29, 0x45, 0xC3, 0xb9 } \
25   }
26 
27 ///
28 /// The maximum size of an EFI_DEBUG_INFO structure.
29 ///
30 #define EFI_STATUS_CODE_DATA_MAX_SIZE 200
31 
32 ///
33 /// This structure contains the ErrorLevel passed into the DEBUG() macro, followed
34 /// by a 96-byte buffer that contains the variable argument list passed to the
35 /// DEBUG() macro that has been converted to a BASE_LIST.  The 96-byte buffer is
36 /// followed by a Null-terminated ASCII string that is the Format string passed
37 /// to the DEBUG() macro.  The maximum size of this structure is defined by
38 /// EFI_STATUS_CODE_DATA_MAX_SIZE.
39 ///
40 typedef struct {
41   ///
42   /// The debug error level passed into a DEBUG() macro.
43   ///
44   UINT32  ErrorLevel;
45 } EFI_DEBUG_INFO;
46 
47 extern EFI_GUID gEfiStatusCodeDataTypeDebugGuid;
48 
49 #endif // _STATUS_CODE_DATA_TYPE_DEBUG_H_
50