MdePkg[all]  1.08
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SimpleTextOut.h File Reference

Data Structures

struct  EFI_SIMPLE_TEXT_OUTPUT_MODE
 
struct  _EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL
 

Macros

#define EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID
 
#define SIMPLE_TEXT_OUTPUT_PROTOCOL   EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID
 
#define BOXDRAW_HORIZONTAL   0x2500
 
#define BOXDRAW_VERTICAL   0x2502
 
#define BOXDRAW_DOWN_RIGHT   0x250c
 
#define BOXDRAW_DOWN_LEFT   0x2510
 
#define BOXDRAW_UP_RIGHT   0x2514
 
#define BOXDRAW_UP_LEFT   0x2518
 
#define BOXDRAW_VERTICAL_RIGHT   0x251c
 
#define BOXDRAW_VERTICAL_LEFT   0x2524
 
#define BOXDRAW_DOWN_HORIZONTAL   0x252c
 
#define BOXDRAW_UP_HORIZONTAL   0x2534
 
#define BOXDRAW_VERTICAL_HORIZONTAL   0x253c
 
#define BOXDRAW_DOUBLE_HORIZONTAL   0x2550
 
#define BOXDRAW_DOUBLE_VERTICAL   0x2551
 
#define BOXDRAW_DOWN_RIGHT_DOUBLE   0x2552
 
#define BOXDRAW_DOWN_DOUBLE_RIGHT   0x2553
 
#define BOXDRAW_DOUBLE_DOWN_RIGHT   0x2554
 
#define BOXDRAW_DOWN_LEFT_DOUBLE   0x2555
 
#define BOXDRAW_DOWN_DOUBLE_LEFT   0x2556
 
#define BOXDRAW_DOUBLE_DOWN_LEFT   0x2557
 
#define BOXDRAW_UP_RIGHT_DOUBLE   0x2558
 
#define BOXDRAW_UP_DOUBLE_RIGHT   0x2559
 
#define BOXDRAW_DOUBLE_UP_RIGHT   0x255a
 
#define BOXDRAW_UP_LEFT_DOUBLE   0x255b
 
#define BOXDRAW_UP_DOUBLE_LEFT   0x255c
 
#define BOXDRAW_DOUBLE_UP_LEFT   0x255d
 
#define BOXDRAW_VERTICAL_RIGHT_DOUBLE   0x255e
 
#define BOXDRAW_VERTICAL_DOUBLE_RIGHT   0x255f
 
#define BOXDRAW_DOUBLE_VERTICAL_RIGHT   0x2560
 
#define BOXDRAW_VERTICAL_LEFT_DOUBLE   0x2561
 
#define BOXDRAW_VERTICAL_DOUBLE_LEFT   0x2562
 
#define BOXDRAW_DOUBLE_VERTICAL_LEFT   0x2563
 
#define BOXDRAW_DOWN_HORIZONTAL_DOUBLE   0x2564
 
#define BOXDRAW_DOWN_DOUBLE_HORIZONTAL   0x2565
 
#define BOXDRAW_DOUBLE_DOWN_HORIZONTAL   0x2566
 
#define BOXDRAW_UP_HORIZONTAL_DOUBLE   0x2567
 
#define BOXDRAW_UP_DOUBLE_HORIZONTAL   0x2568
 
#define BOXDRAW_DOUBLE_UP_HORIZONTAL   0x2569
 
#define BOXDRAW_VERTICAL_HORIZONTAL_DOUBLE   0x256a
 
#define BOXDRAW_VERTICAL_DOUBLE_HORIZONTAL   0x256b
 
#define BOXDRAW_DOUBLE_VERTICAL_HORIZONTAL   0x256c
 
#define BLOCKELEMENT_FULL_BLOCK   0x2588
 
#define BLOCKELEMENT_LIGHT_SHADE   0x2591
 
#define GEOMETRICSHAPE_UP_TRIANGLE   0x25b2
 
#define GEOMETRICSHAPE_RIGHT_TRIANGLE   0x25ba
 
#define GEOMETRICSHAPE_DOWN_TRIANGLE   0x25bc
 
#define GEOMETRICSHAPE_LEFT_TRIANGLE   0x25c4
 
#define ARROW_LEFT   0x2190
 
#define ARROW_UP   0x2191
 
#define ARROW_RIGHT   0x2192
 
#define ARROW_DOWN   0x2193
 
#define EFI_BLACK   0x00
 
#define EFI_BLUE   0x01
 
#define EFI_GREEN   0x02
 
#define EFI_CYAN   (EFI_BLUE | EFI_GREEN)
 
#define EFI_RED   0x04
 
#define EFI_MAGENTA   (EFI_BLUE | EFI_RED)
 
#define EFI_BROWN   (EFI_GREEN | EFI_RED)
 
#define EFI_LIGHTGRAY   (EFI_BLUE | EFI_GREEN | EFI_RED)
 
#define EFI_BRIGHT   0x08
 
#define EFI_DARKGRAY   (EFI_BLACK | EFI_BRIGHT)
 
#define EFI_LIGHTBLUE   (EFI_BLUE | EFI_BRIGHT)
 
#define EFI_LIGHTGREEN   (EFI_GREEN | EFI_BRIGHT)
 
#define EFI_LIGHTCYAN   (EFI_CYAN | EFI_BRIGHT)
 
#define EFI_LIGHTRED   (EFI_RED | EFI_BRIGHT)
 
#define EFI_LIGHTMAGENTA   (EFI_MAGENTA | EFI_BRIGHT)
 
#define EFI_YELLOW   (EFI_BROWN | EFI_BRIGHT)
 
#define EFI_WHITE   (EFI_BLUE | EFI_GREEN | EFI_RED | EFI_BRIGHT)
 
#define EFI_TEXT_ATTR(Foreground, Background)   ((Foreground) | ((Background) << 4))
 
#define EFI_BACKGROUND_BLACK   0x00
 
#define EFI_BACKGROUND_BLUE   0x10
 
#define EFI_BACKGROUND_GREEN   0x20
 
#define EFI_BACKGROUND_CYAN   (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_GREEN)
 
#define EFI_BACKGROUND_RED   0x40
 
#define EFI_BACKGROUND_MAGENTA   (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_RED)
 
#define EFI_BACKGROUND_BROWN   (EFI_BACKGROUND_GREEN | EFI_BACKGROUND_RED)
 
#define EFI_BACKGROUND_LIGHTGRAY   (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_GREEN | EFI_BACKGROUND_RED)
 
#define EFI_WIDE_ATTRIBUTE   0x80
 

Typedefs

typedef struct
_EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL 
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL
 
typedef
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL 
SIMPLE_TEXT_OUTPUT_INTERFACE
 
typedef EFI_STATUS(EFIAPIEFI_TEXT_RESET )(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
 
typedef EFI_STATUS(EFIAPIEFI_TEXT_STRING )(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *String)
 
typedef EFI_STATUS(EFIAPIEFI_TEXT_TEST_STRING )(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *String)
 
typedef EFI_STATUS(EFIAPIEFI_TEXT_QUERY_MODE )(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber, OUT UINTN *Columns, OUT UINTN *Rows)
 
typedef EFI_STATUS(EFIAPIEFI_TEXT_SET_MODE )(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber)
 
typedef EFI_STATUS(EFIAPIEFI_TEXT_SET_ATTRIBUTE )(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Attribute)
 
typedef EFI_STATUS(EFIAPIEFI_TEXT_CLEAR_SCREEN )(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This)
 
typedef EFI_STATUS(EFIAPIEFI_TEXT_SET_CURSOR_POSITION )(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Column, IN UINTN Row)
 
typedef EFI_STATUS(EFIAPIEFI_TEXT_ENABLE_CURSOR )(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN BOOLEAN Visible)
 

Variables

EFI_GUID gEfiSimpleTextOutProtocolGuid
 

Detailed Description

Simple Text Out protocol from the UEFI 2.0 specification.

Abstraction of a very simple text based output device like VGA text mode or a serial terminal. The Simple Text Out protocol instance can represent a single hardware device or a virtual device that is an aggregation of multiple physical devices.

Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define ARROW_DOWN   0x2193
#define ARROW_LEFT   0x2190
#define ARROW_RIGHT   0x2192
#define ARROW_UP   0x2191
#define BLOCKELEMENT_FULL_BLOCK   0x2588
#define BLOCKELEMENT_LIGHT_SHADE   0x2591
#define BOXDRAW_DOUBLE_DOWN_HORIZONTAL   0x2566
#define BOXDRAW_DOUBLE_DOWN_LEFT   0x2557
#define BOXDRAW_DOUBLE_DOWN_RIGHT   0x2554
#define BOXDRAW_DOUBLE_HORIZONTAL   0x2550
#define BOXDRAW_DOUBLE_UP_HORIZONTAL   0x2569
#define BOXDRAW_DOUBLE_UP_LEFT   0x255d
#define BOXDRAW_DOUBLE_UP_RIGHT   0x255a
#define BOXDRAW_DOUBLE_VERTICAL   0x2551
#define BOXDRAW_DOUBLE_VERTICAL_HORIZONTAL   0x256c
#define BOXDRAW_DOUBLE_VERTICAL_LEFT   0x2563
#define BOXDRAW_DOUBLE_VERTICAL_RIGHT   0x2560
#define BOXDRAW_DOWN_DOUBLE_HORIZONTAL   0x2565
#define BOXDRAW_DOWN_DOUBLE_LEFT   0x2556
#define BOXDRAW_DOWN_DOUBLE_RIGHT   0x2553
#define BOXDRAW_DOWN_HORIZONTAL   0x252c
#define BOXDRAW_DOWN_HORIZONTAL_DOUBLE   0x2564
#define BOXDRAW_DOWN_LEFT   0x2510
#define BOXDRAW_DOWN_LEFT_DOUBLE   0x2555
#define BOXDRAW_DOWN_RIGHT   0x250c
#define BOXDRAW_DOWN_RIGHT_DOUBLE   0x2552
#define BOXDRAW_HORIZONTAL   0x2500
#define BOXDRAW_UP_DOUBLE_HORIZONTAL   0x2568
#define BOXDRAW_UP_DOUBLE_LEFT   0x255c
#define BOXDRAW_UP_DOUBLE_RIGHT   0x2559
#define BOXDRAW_UP_HORIZONTAL   0x2534
#define BOXDRAW_UP_HORIZONTAL_DOUBLE   0x2567
#define BOXDRAW_UP_LEFT   0x2518
#define BOXDRAW_UP_LEFT_DOUBLE   0x255b
#define BOXDRAW_UP_RIGHT   0x2514
#define BOXDRAW_UP_RIGHT_DOUBLE   0x2558
#define BOXDRAW_VERTICAL   0x2502
#define BOXDRAW_VERTICAL_DOUBLE_HORIZONTAL   0x256b
#define BOXDRAW_VERTICAL_DOUBLE_LEFT   0x2562
#define BOXDRAW_VERTICAL_DOUBLE_RIGHT   0x255f
#define BOXDRAW_VERTICAL_HORIZONTAL   0x253c
#define BOXDRAW_VERTICAL_HORIZONTAL_DOUBLE   0x256a
#define BOXDRAW_VERTICAL_LEFT   0x2524
#define BOXDRAW_VERTICAL_LEFT_DOUBLE   0x2561
#define BOXDRAW_VERTICAL_RIGHT   0x251c
#define BOXDRAW_VERTICAL_RIGHT_DOUBLE   0x255e
#define EFI_BACKGROUND_BLACK   0x00
#define EFI_BACKGROUND_BLUE   0x10
#define EFI_BACKGROUND_BROWN   (EFI_BACKGROUND_GREEN | EFI_BACKGROUND_RED)
#define EFI_BACKGROUND_CYAN   (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_GREEN)
#define EFI_BACKGROUND_GREEN   0x20
#define EFI_BACKGROUND_LIGHTGRAY   (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_GREEN | EFI_BACKGROUND_RED)
#define EFI_BACKGROUND_MAGENTA   (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_RED)
#define EFI_BACKGROUND_RED   0x40
#define EFI_BLACK   0x00
#define EFI_BLUE   0x01
#define EFI_BRIGHT   0x08
#define EFI_BROWN   (EFI_GREEN | EFI_RED)
#define EFI_CYAN   (EFI_BLUE | EFI_GREEN)
#define EFI_DARKGRAY   (EFI_BLACK | EFI_BRIGHT)
#define EFI_GREEN   0x02
#define EFI_LIGHTBLUE   (EFI_BLUE | EFI_BRIGHT)
#define EFI_LIGHTCYAN   (EFI_CYAN | EFI_BRIGHT)
#define EFI_LIGHTGRAY   (EFI_BLUE | EFI_GREEN | EFI_RED)
#define EFI_LIGHTGREEN   (EFI_GREEN | EFI_BRIGHT)
#define EFI_LIGHTMAGENTA   (EFI_MAGENTA | EFI_BRIGHT)
#define EFI_LIGHTRED   (EFI_RED | EFI_BRIGHT)
#define EFI_MAGENTA   (EFI_BLUE | EFI_RED)
#define EFI_RED   0x04
#define EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID
Value:
{ \
0x387477c2, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
}
#define EFI_TEXT_ATTR (   Foreground,
  Background 
)    ((Foreground) | ((Background) << 4))
#define EFI_WHITE   (EFI_BLUE | EFI_GREEN | EFI_RED | EFI_BRIGHT)
#define EFI_WIDE_ATTRIBUTE   0x80
#define EFI_YELLOW   (EFI_BROWN | EFI_BRIGHT)
#define GEOMETRICSHAPE_DOWN_TRIANGLE   0x25bc
#define GEOMETRICSHAPE_LEFT_TRIANGLE   0x25c4
#define GEOMETRICSHAPE_RIGHT_TRIANGLE   0x25ba
#define GEOMETRICSHAPE_UP_TRIANGLE   0x25b2
#define SIMPLE_TEXT_OUTPUT_PROTOCOL   EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID

Protocol GUID defined in EFI1.1.

Typedef Documentation

typedef EFI_STATUS(EFIAPI * EFI_TEXT_CLEAR_SCREEN)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This)

Clears the output device(s) display to the currently selected background color.

Parameters
ThisThe protocol instance pointer.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_DEVICE_ERRORThe device had an error and could not complete the request.
EFI_UNSUPPORTEDThe output device is not in a valid text mode.
typedef EFI_STATUS(EFIAPI * EFI_TEXT_ENABLE_CURSOR)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN BOOLEAN Visible)

Makes the cursor visible or invisible

Parameters
ThisThe protocol instance pointer.
VisibleIf TRUE, the cursor is set to be visible. If FALSE, the cursor is set to be invisible.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_DEVICE_ERRORThe device had an error and could not complete the request, or the device does not support changing the cursor mode.
EFI_UNSUPPORTEDThe output device is not in a valid text mode.
typedef EFI_STATUS(EFIAPI * EFI_TEXT_QUERY_MODE)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber, OUT UINTN *Columns, OUT UINTN *Rows)

Returns information for an available text mode that the output device(s) supports.

Parameters
ThisThe protocol instance pointer.
ModeNumberThe mode number to return information on.
ColumnsReturns the geometry of the text output device for the requested ModeNumber.
RowsReturns the geometry of the text output device for the requested ModeNumber.
Return values
EFI_SUCCESSThe requested mode information was returned.
EFI_DEVICE_ERRORThe device had an error and could not complete the request.
EFI_UNSUPPORTEDThe mode number was not valid.

Reset the text output device hardware and optionally run diagnostics

Parameters
ThisThe protocol instance pointer.
ExtendedVerificationDriver may perform more exhaustive verification operation of the device during reset.
Return values
EFI_SUCCESSThe text output device was reset.
EFI_DEVICE_ERRORThe text output device is not functioning correctly and could not be reset.
typedef EFI_STATUS(EFIAPI * EFI_TEXT_SET_ATTRIBUTE)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Attribute)

Sets the background and foreground colors for the OutputString () and ClearScreen () functions.

Parameters
ThisThe protocol instance pointer.
AttributeThe attribute to set. Bits 0..3 are the foreground color, and bits 4..6 are the background color. All other bits are undefined and must be zero. The valid Attributes are defined in this file.
Return values
EFI_SUCCESSThe attribute was set.
EFI_DEVICE_ERRORThe device had an error and could not complete the request.
EFI_UNSUPPORTEDThe attribute requested is not defined.
typedef EFI_STATUS(EFIAPI * EFI_TEXT_SET_CURSOR_POSITION)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Column, IN UINTN Row)

Sets the current coordinates of the cursor position

Parameters
ThisThe protocol instance pointer.
ColumnThe position to set the cursor to. Must be greater than or equal to zero and less than the number of columns and rows by QueryMode ().
RowThe position to set the cursor to. Must be greater than or equal to zero and less than the number of columns and rows by QueryMode ().
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_DEVICE_ERRORThe device had an error and could not complete the request.
EFI_UNSUPPORTEDThe output device is not in a valid text mode, or the cursor position is invalid for the current mode.
typedef EFI_STATUS(EFIAPI * EFI_TEXT_SET_MODE)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber)

Sets the output device(s) to a specified mode.

Parameters
ThisThe protocol instance pointer.
ModeNumberThe mode number to set.
Return values
EFI_SUCCESSThe requested text mode was set.
EFI_DEVICE_ERRORThe device had an error and could not complete the request.
EFI_UNSUPPORTEDThe mode number was not valid.

Write a string to the output device.

Parameters
ThisThe protocol instance pointer.
StringThe NULL-terminated string to be displayed on the output device(s). All output devices must also support the Unicode drawing character codes defined in this file.
Return values
EFI_SUCCESSThe string was output to the device.
EFI_DEVICE_ERRORThe device reported an error while attempting to output the text.
EFI_UNSUPPORTEDThe output device's mode is not currently in a defined text mode.
EFI_WARN_UNKNOWN_GLYPHThis warning code indicates that some of the characters in the string could not be rendered and were skipped.
typedef EFI_STATUS(EFIAPI * EFI_TEXT_TEST_STRING)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *String)

Verifies that all characters in a string can be output to the target device.

Parameters
ThisThe protocol instance pointer.
StringThe NULL-terminated string to be examined for the output device(s).
Return values
EFI_SUCCESSThe device(s) are capable of rendering the output string.
EFI_UNSUPPORTEDSome of the characters in the string cannot be rendered by one or more of the output devices mapped by the EFI handle.

Backward-compatible with EFI1.1.

Variable Documentation

EFI_GUID gEfiSimpleTextOutProtocolGuid