ReactOS  0.4.15-dev-3181-g4acf100
SimpleTextOut.h
Go to the documentation of this file.
1 
20 #ifndef __SIMPLE_TEXT_OUT_H__
21 #define __SIMPLE_TEXT_OUT_H__
22 
23 #define EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID \
24  { \
25  0x387477c2, 0x69c7, 0x11d2, { 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
26  }
27 
31 #define SIMPLE_TEXT_OUTPUT_PROTOCOL EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL_GUID
32 
34 
39 
40 //
41 // Define's for required EFI Unicode Box Draw characters
42 //
43 #define BOXDRAW_HORIZONTAL 0x2500
44 #define BOXDRAW_VERTICAL 0x2502
45 #define BOXDRAW_DOWN_RIGHT 0x250c
46 #define BOXDRAW_DOWN_LEFT 0x2510
47 #define BOXDRAW_UP_RIGHT 0x2514
48 #define BOXDRAW_UP_LEFT 0x2518
49 #define BOXDRAW_VERTICAL_RIGHT 0x251c
50 #define BOXDRAW_VERTICAL_LEFT 0x2524
51 #define BOXDRAW_DOWN_HORIZONTAL 0x252c
52 #define BOXDRAW_UP_HORIZONTAL 0x2534
53 #define BOXDRAW_VERTICAL_HORIZONTAL 0x253c
54 #define BOXDRAW_DOUBLE_HORIZONTAL 0x2550
55 #define BOXDRAW_DOUBLE_VERTICAL 0x2551
56 #define BOXDRAW_DOWN_RIGHT_DOUBLE 0x2552
57 #define BOXDRAW_DOWN_DOUBLE_RIGHT 0x2553
58 #define BOXDRAW_DOUBLE_DOWN_RIGHT 0x2554
59 #define BOXDRAW_DOWN_LEFT_DOUBLE 0x2555
60 #define BOXDRAW_DOWN_DOUBLE_LEFT 0x2556
61 #define BOXDRAW_DOUBLE_DOWN_LEFT 0x2557
62 #define BOXDRAW_UP_RIGHT_DOUBLE 0x2558
63 #define BOXDRAW_UP_DOUBLE_RIGHT 0x2559
64 #define BOXDRAW_DOUBLE_UP_RIGHT 0x255a
65 #define BOXDRAW_UP_LEFT_DOUBLE 0x255b
66 #define BOXDRAW_UP_DOUBLE_LEFT 0x255c
67 #define BOXDRAW_DOUBLE_UP_LEFT 0x255d
68 #define BOXDRAW_VERTICAL_RIGHT_DOUBLE 0x255e
69 #define BOXDRAW_VERTICAL_DOUBLE_RIGHT 0x255f
70 #define BOXDRAW_DOUBLE_VERTICAL_RIGHT 0x2560
71 #define BOXDRAW_VERTICAL_LEFT_DOUBLE 0x2561
72 #define BOXDRAW_VERTICAL_DOUBLE_LEFT 0x2562
73 #define BOXDRAW_DOUBLE_VERTICAL_LEFT 0x2563
74 #define BOXDRAW_DOWN_HORIZONTAL_DOUBLE 0x2564
75 #define BOXDRAW_DOWN_DOUBLE_HORIZONTAL 0x2565
76 #define BOXDRAW_DOUBLE_DOWN_HORIZONTAL 0x2566
77 #define BOXDRAW_UP_HORIZONTAL_DOUBLE 0x2567
78 #define BOXDRAW_UP_DOUBLE_HORIZONTAL 0x2568
79 #define BOXDRAW_DOUBLE_UP_HORIZONTAL 0x2569
80 #define BOXDRAW_VERTICAL_HORIZONTAL_DOUBLE 0x256a
81 #define BOXDRAW_VERTICAL_DOUBLE_HORIZONTAL 0x256b
82 #define BOXDRAW_DOUBLE_VERTICAL_HORIZONTAL 0x256c
83 
84 //
85 // EFI Required Block Elements Code Chart
86 //
87 #define BLOCKELEMENT_FULL_BLOCK 0x2588
88 #define BLOCKELEMENT_LIGHT_SHADE 0x2591
89 
90 //
91 // EFI Required Geometric Shapes Code Chart
92 //
93 #define GEOMETRICSHAPE_UP_TRIANGLE 0x25b2
94 #define GEOMETRICSHAPE_RIGHT_TRIANGLE 0x25ba
95 #define GEOMETRICSHAPE_DOWN_TRIANGLE 0x25bc
96 #define GEOMETRICSHAPE_LEFT_TRIANGLE 0x25c4
97 
98 //
99 // EFI Required Arrow shapes
100 //
101 #define ARROW_LEFT 0x2190
102 #define ARROW_UP 0x2191
103 #define ARROW_RIGHT 0x2192
104 #define ARROW_DOWN 0x2193
105 
106 //
107 // EFI Console Colours
108 //
109 #define EFI_BLACK 0x00
110 #define EFI_BLUE 0x01
111 #define EFI_GREEN 0x02
112 #define EFI_CYAN (EFI_BLUE | EFI_GREEN)
113 #define EFI_RED 0x04
114 #define EFI_MAGENTA (EFI_BLUE | EFI_RED)
115 #define EFI_BROWN (EFI_GREEN | EFI_RED)
116 #define EFI_LIGHTGRAY (EFI_BLUE | EFI_GREEN | EFI_RED)
117 #define EFI_BRIGHT 0x08
118 #define EFI_DARKGRAY (EFI_BRIGHT)
119 #define EFI_LIGHTBLUE (EFI_BLUE | EFI_BRIGHT)
120 #define EFI_LIGHTGREEN (EFI_GREEN | EFI_BRIGHT)
121 #define EFI_LIGHTCYAN (EFI_CYAN | EFI_BRIGHT)
122 #define EFI_LIGHTRED (EFI_RED | EFI_BRIGHT)
123 #define EFI_LIGHTMAGENTA (EFI_MAGENTA | EFI_BRIGHT)
124 #define EFI_YELLOW (EFI_BROWN | EFI_BRIGHT)
125 #define EFI_WHITE (EFI_BLUE | EFI_GREEN | EFI_RED | EFI_BRIGHT)
126 
127 #define EFI_TEXT_ATTR(f, b) ((f) | ((b) << 4))
128 
129 #define EFI_BACKGROUND_BLACK 0x00
130 #define EFI_BACKGROUND_BLUE 0x10
131 #define EFI_BACKGROUND_GREEN 0x20
132 #define EFI_BACKGROUND_CYAN (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_GREEN)
133 #define EFI_BACKGROUND_RED 0x40
134 #define EFI_BACKGROUND_MAGENTA (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_RED)
135 #define EFI_BACKGROUND_BROWN (EFI_BACKGROUND_GREEN | EFI_BACKGROUND_RED)
136 #define EFI_BACKGROUND_LIGHTGRAY (EFI_BACKGROUND_BLUE | EFI_BACKGROUND_GREEN | EFI_BACKGROUND_RED)
137 
138 //
139 // We currently define attributes from 0 - 7F for color manipulations
140 // To internally handle the local display characteristics for a particular character,
141 // Bit 7 signifies the local glyph representation for a character. If turned on, glyphs will be
142 // pulled from the wide glyph database and will display locally as a wide character (16 X 19 versus 8 X 19)
143 // If bit 7 is off, the narrow glyph database will be used. This does NOT affect information that is sent to
144 // non-local displays, such as serial or LAN consoles.
145 //
146 #define EFI_WIDE_ATTRIBUTE 0x80
147 
160 typedef
164 IN BOOLEAN ExtendedVerification
165 );
166 
185 typedef
190 );
191 
206 typedef
211 );
212 
229 typedef
233 IN UINTN ModeNumber,
234 OUT UINTN *Columns,
235 OUT UINTN *Rows
236 );
237 
249 typedef
253 IN UINTN ModeNumber
254 );
255 
270 typedef
274 IN UINTN Attribute
275 );
276 
288 typedef
292 );
293 
311 typedef
315 IN UINTN Column,
316 IN UINTN Row
317 );
318 
333 typedef
337 IN BOOLEAN Visible
338 );
339 
344 typedef struct {
349 
350  //
351  // current settings
352  //
353 
375 
384 
387 
391 
395 
400 };
401 
403 
404 #endif
EFI_TEXT_TEST_STRING TestString
#define IN
Definition: typedefs.h:39
unsigned short CHAR16
EFI_TEXT_SET_CURSOR_POSITION SetCursorPosition
EFI_STATUS(EFIAPI * EFI_TEXT_CLEAR_SCREEN)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This)
UINT32 UINTN
EFI_STATUS(EFIAPI * EFI_TEXT_QUERY_MODE)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber, OUT UINTN *Columns, OUT UINTN *Rows)
EFI_STATUS(EFIAPI * EFI_TEXT_SET_MODE)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber)
EFI_GUID gEfiSimpleTextOutProtocolGuid
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SIMPLE_TEXT_OUTPUT_INTERFACE
Definition: SimpleTextOut.h:38
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
Definition: wdfdevice.h:2430
EFI_TEXT_SET_ATTRIBUTE SetAttribute
EFI_STATUS(EFIAPI * EFI_TEXT_SET_CURSOR_POSITION)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Column, IN UINTN Row)
unsigned char BOOLEAN
_In_ ULONG Rows
Definition: haltypes.h:7
EFI_SIMPLE_TEXT_OUTPUT_MODE * Mode
EFI_STATUS(EFIAPI * EFI_TEXT_TEST_STRING)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *String)
EFI_STATUS(EFIAPI * EFI_TEXT_STRING)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *String)
EFI_TEXT_CLEAR_SCREEN ClearScreen
EFI_TEXT_ENABLE_CURSOR EnableCursor
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:31
#define EFIAPI
static const COLUMN_LIST Columns[]
Definition: listview.c:19
EFI_STATUS(EFIAPI * EFI_TEXT_ENABLE_CURSOR)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN BOOLEAN Visible)
#define OUT
Definition: typedefs.h:40
signed int INT32
EFI_STATUS(EFIAPI * EFI_TEXT_RESET)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
EFI_STATUS(EFIAPI * EFI_TEXT_SET_ATTRIBUTE)(IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Attribute)