40e6e170ae06496012c10389b60cf4ef8eefc2e9
[efi/edk2/.git] / edk2 / BaseTools / Source / C / Common / EfiUtilityMsgs.h
1 /** @file\r
2 \r
3 Copyright (c) 2004 - 2008, Intel Corporation                                                         \r
4 All rights reserved. This program and the accompanying materials                          \r
5 are licensed and made available under the terms and conditions of the BSD License         \r
6 which accompanies this distribution.  The full text of the license may be found at        \r
7 http://opensource.org/licenses/bsd-license.php                                            \r
8                                                                                           \r
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
11 \r
12 Module Name:\r
13 \r
14   EfiUtilityMsgs.h\r
15 \r
16 Abstract:\r
17 \r
18   Defines and prototypes for common EFI utility error and debug messages.\r
19   \r
20 **/\r
21 \r
22 #ifndef _EFI_UTILITY_MSGS_H_\r
23 #define _EFI_UTILITY_MSGS_H_\r
24 \r
25 #include <Common/UefiBaseTypes.h>\r
26 \r
27 //\r
28 // Log message print Level\r
29 //\r
30 #define VERBOSE_LOG_LEVEL    15\r
31 #define WARNING_LOG_LEVEL    15\r
32 #define INFO_LOG_LEVEL       20\r
33 #define KEY_LOG_LEVEL        40\r
34 #define ERROR_LOG_LEVLE      50\r
35 \r
36 //\r
37 // Status codes returned by EFI utility programs and functions\r
38 //\r
39 #define STATUS_SUCCESS  0\r
40 #define STATUS_WARNING  1\r
41 #define STATUS_ERROR    2\r
42 #define VOID void \r
43 \r
44 typedef int STATUS;\r
45 \r
46 #define MAX_LINE_LEN               0x200\r
47 #define MAXIMUM_INPUT_FILE_NUM     10\r
48 \r
49 #ifdef __cplusplus\r
50 extern "C" {\r
51 #endif\r
52 //\r
53 // When we call Error() or Warning(), the module keeps track of the worst\r
54 // case reported. GetUtilityStatus() will get the worst-case results, which\r
55 // can be used as the return value from the app.\r
56 //\r
57 STATUS\r
58 GetUtilityStatus (\r
59   VOID\r
60   );\r
61 \r
62 //\r
63 // If someone prints an error message and didn't specify a source file name,\r
64 // then we print the utility name instead. However they must tell us the\r
65 // utility name early on via this function.\r
66 //\r
67 VOID\r
68 SetUtilityName (\r
69   CHAR8 *ProgramName\r
70   )\r
71 ;\r
72 \r
73 VOID\r
74 Error (\r
75   CHAR8   *FileName,\r
76   UINT32  LineNumber,\r
77   UINT32  ErrorCode,\r
78   CHAR8   *OffendingText,\r
79   CHAR8   *MsgFmt,\r
80   ...\r
81   )\r
82 ;\r
83 \r
84 VOID\r
85 Warning (\r
86   CHAR8   *FileName,\r
87   UINT32  LineNumber,\r
88   UINT32  WarningCode,\r
89   CHAR8   *OffendingText,\r
90   CHAR8   *MsgFmt,\r
91   ...\r
92   )\r
93 ;\r
94 \r
95 VOID\r
96 DebugMsg (\r
97   CHAR8   *FileName,\r
98   UINT32  LineNumber,\r
99   UINT64  MsgLevel,\r
100   CHAR8   *OffendingText,\r
101   CHAR8   *MsgFmt,\r
102   ...\r
103   )\r
104 ;\r
105 \r
106 VOID\r
107 VerboseMsg (\r
108   CHAR8   *MsgFmt,\r
109   ...\r
110   );\r
111 \r
112 VOID\r
113 NormalMsg (\r
114   CHAR8   *MsgFmt,\r
115   ...\r
116   );\r
117 \r
118 VOID\r
119 KeyMsg (\r
120   CHAR8   *MsgFmt,\r
121   ...\r
122   );\r
123 \r
124 VOID\r
125 SetPrintLevel (\r
126   UINT64  LogLevel\r
127   );\r
128 \r
129 VOID\r
130 ParserSetPosition (\r
131   CHAR8   *SourceFileName,\r
132   UINT32  LineNum\r
133   )\r
134 ;\r
135 \r
136 VOID\r
137 ParserError (\r
138   UINT32  ErrorCode,\r
139   CHAR8   *OffendingText,\r
140   CHAR8   *MsgFmt,\r
141   ...\r
142   )\r
143 ;\r
144 \r
145 VOID\r
146 ParserWarning (\r
147   UINT32  ErrorCode,\r
148   CHAR8   *OffendingText,\r
149   CHAR8   *MsgFmt,\r
150   ...\r
151   )\r
152 ;\r
153 \r
154 VOID\r
155 SetPrintLimits (\r
156   UINT32  NumErrors,\r
157   UINT32  NumWarnings,\r
158   UINT32  NumWarningsPlusErrors\r
159   )\r
160 ;\r
161 \r
162 #ifdef __cplusplus\r
163 }\r
164 #endif\r
165 \r
166 #endif // #ifndef _EFI_UTILITY_MSGS_H_\r