]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Library/Dxe/Include/EfiPrintLib.h
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / Dxe / Include / EfiPrintLib.h
1 /*++
2
3 Copyright (c) 2004 - 2007, 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 EfiPrintLib.h
15
16 Abstract:
17
18 Light weight lib to support EFI drivers.
19
20 --*/
21
22 #ifndef _EFI_PRINT_LIB_H_
23 #define _EFI_PRINT_LIB_H_
24
25 #include EFI_PROTOCOL_DEFINITION(GraphicsOutput)
26 #include EFI_PROTOCOL_DEFINITION(UgaDraw)
27 #include EFI_PROTOCOL_DEFINITION(Print)
28
29 UINTN
30 ErrorPrint (
31 IN CONST CHAR16 *ErrorString,
32 IN CONST CHAR8 *Format,
33 ...
34 )
35 /*++
36
37 Routine Description:
38
39 Print function for a maximum of EFI_DRIVER_LIB_MAX_PRINT_BUFFER ascii
40 characters.
41
42 Arguments:
43
44 ErrorString - Error message printed first
45
46 Format - Ascii format string see file header for more details.
47
48 ... - Vararg list consumed by processing Format.
49
50 Returns:
51
52 Number of characters printed.
53
54 --*/
55 ;
56
57 VOID
58 ErrorDumpHex (
59 IN UINTN Indent,
60 IN UINTN Offset,
61 IN UINTN DataSize,
62 IN VOID *UserData
63 )
64 /*++
65
66 Routine Description:
67
68 Dump error info by hex.
69
70 Arguments:
71
72 Indent - Indent number
73 Offset - Offset number
74 DataSize - Size of user data
75 UserData - User data to dump
76
77 Returns:
78
79 None
80
81 --*/
82 ;
83
84 UINTN
85 Print (
86 IN CONST CHAR16 *Format,
87 ...
88 )
89 /*++
90
91 Routine Description:
92
93 Prints a formatted unicode string to the default console
94
95 Arguments:
96
97 fmt - Format string
98
99 Returns:
100
101 Length of string printed to the console
102
103 --*/
104 ;
105
106 UINTN
107 PrintXY (
108 IN UINTN X,
109 IN UINTN Y,
110 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Foreground, OPTIONAL
111 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Background, OPTIONAL
112 IN CHAR16 *Fmt,
113 ...
114 )
115 /*++
116
117 Routine Description:
118
119 Prints a formatted unicode string to the default console
120
121 Arguments:
122
123 X - X coordinate to start printing
124
125 Y - Y coordinate to start printing
126
127 ForeGround - Foreground color
128
129 BackGround - Background color
130
131 Fmt - Format string
132
133 ... - Print arguments
134
135 Returns:
136
137 Length of string printed to the console
138
139 --*/
140 ;
141
142 UINTN
143 Aprint (
144 IN CONST CHAR8 *Format,
145 ...
146 )
147 /*++
148
149 Routine Description:
150
151 Print function for a maximum of EFI_DRIVER_LIB_MAX_PRINT_BUFFER ascii
152 characters.
153
154 Arguments:
155
156 Format - Ascii format string see file header for more details.
157
158 ... - Vararg list consumed by processing Format.
159
160 Returns:
161
162 Number of characters printed.
163
164 --*/
165 ;
166
167 UINTN
168 UPrint (
169 IN CONST CHAR16 *Format,
170 ...
171 )
172 /*++
173
174 Routine Description:
175
176 Print function for a maximum of EFI_DRIVER_LIB_MAX_PRINT_BUFFER ascii
177 characters.
178
179 Arguments:
180
181 Format - Ascii format string see file header for more details.
182
183 ... - Vararg list consumed by processing Format.
184
185 Returns:
186
187 Number of characters printed.
188
189 --*/
190 ;
191
192 UINTN
193 EFIAPI
194 VSPrint (
195 OUT CHAR16 *StartOfBuffer,
196 IN UINTN StrLen,
197 IN CONST CHAR16 *Format,
198 IN VA_LIST Marker
199 )
200 /*++
201
202 Routine Description:
203
204 Prints a formatted unicode string to a buffer
205
206 Arguments:
207
208 StartOfBuffer - Output buffer to print the formatted string into
209 StrLen - Size of Str. String is truncated to this size.
210 A size of 0 means there is no limit
211 Format - The format string
212 Marker - Vararg list consumed by processing Format.
213
214 Returns:
215
216 String length returned in buffer
217
218 --*/
219 ;
220
221 UINTN
222 SPrint (
223 OUT CHAR16 *Buffer,
224 IN UINTN BufferSize,
225 IN CONST CHAR16 *Format,
226 ...
227 )
228 /*++
229
230 Routine Description:
231
232 SPrint function to process format and place the results in Buffer.
233
234 Arguments:
235
236 Buffer - Wide char buffer to print the results of the parsing of Format into.
237
238 BufferSize - Maximum number of characters to put into buffer. Zero means no
239 limit.
240
241 Format - Format string see file header for more details.
242
243 ... - Vararg list consumed by processing Format.
244
245 Returns:
246
247 Number of characters printed.
248
249 --*/
250 ;
251
252 //
253 // BoxDraw support
254 //
255 BOOLEAN
256 IsValidEfiCntlChar (
257 IN CHAR16 CharC
258 )
259 /*++
260
261 Routine Description:
262
263 Test whether a wide char is a valid control char.
264
265 Arguments:
266
267 CharC - A char
268
269 Returns:
270
271 TRUE - A control char
272
273 FALSE - Not a control char
274
275 --*/
276 ;
277
278 BOOLEAN
279 IsValidAscii (
280 IN CHAR16 Ascii
281 )
282 /*++
283
284 Routine Description:
285
286 Test whether a wide char is a normal printable char
287
288 Arguments:
289
290 Ascii - A char
291
292 Returns:
293
294 True - A normal, printable char
295 FALSE - Not a normal, printable char
296
297 --*/
298 ;
299
300 BOOLEAN
301 LibIsValidTextGraphics (
302 IN CHAR16 Graphic,
303 OUT CHAR8 *PcAnsi, OPTIONAL
304 OUT CHAR8 *Ascii OPTIONAL
305 )
306 /*++
307
308 Routine Description:
309
310 Detects if a Unicode char is for Box Drawing text graphics.
311
312 Arguments:
313
314 Graphic - Unicode char to test.
315
316 PcAnsi - Optional pointer to return PCANSI equivalent of Graphic.
317
318 Ascii - Optional pointer to return Ascii equivalent of Graphic.
319
320 Returns:
321
322 TRUE if Gpaphic is a supported Unicode Box Drawing character.
323
324 --*/
325 ;
326
327 #endif