diff options
Diffstat (limited to 'EDK/Foundation/Library/Dxe/Include/EfiPrintLib.h')
-rw-r--r-- | EDK/Foundation/Library/Dxe/Include/EfiPrintLib.h | 326 |
1 files changed, 326 insertions, 0 deletions
diff --git a/EDK/Foundation/Library/Dxe/Include/EfiPrintLib.h b/EDK/Foundation/Library/Dxe/Include/EfiPrintLib.h new file mode 100644 index 0000000..1fca597 --- /dev/null +++ b/EDK/Foundation/Library/Dxe/Include/EfiPrintLib.h @@ -0,0 +1,326 @@ +/*++ + +Copyright (c) 2004 - 2006, 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: + + EfiPrintLib.h + +Abstract: + + Light weight lib to support EFI drivers. + +--*/ + +#ifndef _EFI_PRINT_LIB_H_ +#define _EFI_PRINT_LIB_H_ + +#include EFI_PROTOCOL_DEFINITION(GraphicsOutput) +#include EFI_PROTOCOL_DEFINITION(UgaDraw) +#include EFI_PROTOCOL_DEFINITION(Print) + +UINTN +ErrorPrint ( + IN CONST CHAR16 *ErrorString, + IN CONST CHAR8 *Format, + ... + ) +/*++ + +Routine Description: + + Print function for a maximum of EFI_DRIVER_LIB_MAX_PRINT_BUFFER ascii + characters. + +Arguments: + + ErrorString - Error message printed first + + Format - Ascii format string see file header for more details. + + ... - Vararg list consumed by processing Format. + +Returns: + + Number of characters printed. + +--*/ +; + +VOID +ErrorDumpHex ( + IN UINTN Indent, + IN UINTN Offset, + IN UINTN DataSize, + IN VOID *UserData + ) +/*++ + +Routine Description: + + Dump error info by hex. + +Arguments: + + Indent - Indent number + Offset - Offset number + DataSize - Size of user data + UserData - User data to dump + +Returns: + + None + +--*/ +; + +UINTN +Print ( + IN CONST CHAR16 *Format, + ... + ) +/*++ + +Routine Description: + + Prints a formatted unicode string to the default console + +Arguments: + + fmt - Format string + +Returns: + + Length of string printed to the console + +--*/ +; + +UINTN +PrintXY ( + IN UINTN X, + IN UINTN Y, + IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Foreground, OPTIONAL + IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Background, OPTIONAL + IN CHAR16 *Fmt, + ... + ) +/*++ + +Routine Description: + + Prints a formatted unicode string to the default console + +Arguments: + + X - X coordinate to start printing + + Y - Y coordinate to start printing + + ForeGround - Foreground color + + BackGround - Background color + + Fmt - Format string + + ... - Print arguments + +Returns: + + Length of string printed to the console + +--*/ +; + +UINTN +Aprint ( + IN CONST CHAR8 *Format, + ... + ) +/*++ + +Routine Description: + + Print function for a maximum of EFI_DRIVER_LIB_MAX_PRINT_BUFFER ascii + characters. + +Arguments: + + Format - Ascii format string see file header for more details. + + ... - Vararg list consumed by processing Format. + +Returns: + + Number of characters printed. + +--*/ +; + +UINTN +UPrint ( + IN CONST CHAR16 *Format, + ... + ) +/*++ + +Routine Description: + + Print function for a maximum of EFI_DRIVER_LIB_MAX_PRINT_BUFFER ascii + characters. + +Arguments: + + Format - Ascii format string see file header for more details. + + ... - Vararg list consumed by processing Format. + +Returns: + + Number of characters printed. + +--*/ +; + +UINTN +VSPrint ( + OUT CHAR16 *StartOfBuffer, + IN UINTN StrLen, + IN CONST CHAR16 *Format, + IN VA_LIST Marker + ) +/*++ + +Routine Description: + + Prints a formatted unicode string to a buffer + +Arguments: + + StartOfBuffer - Output buffer to print the formatted string into + StrLen - Size of Str. String is truncated to this size. + A size of 0 means there is no limit + Format - The format string + Marker - Vararg list consumed by processing Format. + +Returns: + + String length returned in buffer + +--*/ +; + +UINTN +SPrint ( + OUT CHAR16 *Buffer, + IN UINTN BufferSize, + IN CONST CHAR16 *Format, + ... + ) +/*++ + +Routine Description: + + SPrint function to process format and place the results in Buffer. + +Arguments: + + Buffer - Wide char buffer to print the results of the parsing of Format into. + + BufferSize - Maximum number of characters to put into buffer. Zero means no + limit. + + Format - Format string see file header for more details. + + ... - Vararg list consumed by processing Format. + +Returns: + + Number of characters printed. + +--*/ +; + +// +// BoxDraw support +// +BOOLEAN +IsValidEfiCntlChar ( + IN CHAR16 CharC + ) +/*++ + +Routine Description: + + Test whether a wide char is a valid control char. + +Arguments: + + CharC - A char + +Returns: + + TRUE - A control char + + FALSE - Not a control char + +--*/ +; + +BOOLEAN +IsValidAscii ( + IN CHAR16 Ascii + ) +/*++ + +Routine Description: + + Test whether a wide char is a normal printable char + +Arguments: + + Ascii - A char + +Returns: + + True - A normal, printable char + FALSE - Not a normal, printable char + +--*/ +; + +BOOLEAN +LibIsValidTextGraphics ( + IN CHAR16 Graphic, + OUT CHAR8 *PcAnsi, OPTIONAL + OUT CHAR8 *Ascii OPTIONAL + ) +/*++ + +Routine Description: + + Detects if a Unicode char is for Box Drawing text graphics. + +Arguments: + + Graphic - Unicode char to test. + + PcAnsi - Optional pointer to return PCANSI equivalent of Graphic. + + Ascii - Optional pointer to return Ascii equivalent of Graphic. + +Returns: + + TRUE if Gpaphic is a supported Unicode Box Drawing character. + +--*/ +; + +#endif |