remove some comments introduced by tools.
[mirror_edk2.git] / MdeModulePkg / Universal / Console / ConSplitterDxe / ConSplitter.h
CommitLineData
95276127 1/**@file\r
2 Private data structures for the Console Splitter driver\r
3\r
4Copyright (c) 2006 - 2007 Intel Corporation. <BR>\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
14\r
15#ifndef _CON_SPLITTER_H_\r
16#define _CON_SPLITTER_H_\r
17\r
97a079ed
A
18#include <PiDxe.h>\r
19#include <Guid/PrimaryStandardErrorDevice.h>\r
20#include <Guid/PrimaryConsoleOutDevice.h>\r
21#include <Protocol/GraphicsOutput.h>\r
22#include <Guid/PrimaryConsoleInDevice.h>\r
23#include <Protocol/SimplePointer.h>\r
24#include <Protocol/SimpleTextOut.h>\r
25#include <Guid/ConsoleInDevice.h>\r
26#include <Protocol/SimpleTextIn.h>\r
27#include <Protocol/ConsoleControl.h>\r
28#include <Guid/StandardErrorDevice.h>\r
29#include <Guid/ConsoleOutDevice.h>\r
30#include <Protocol/UgaDraw.h>\r
31#include <Library/DebugLib.h>\r
32#include <Library/UefiDriverEntryPoint.h>\r
33#include <Library/UefiLib.h>\r
34#include <Library/BaseLib.h>\r
35#include <Library/BaseMemoryLib.h>\r
36#include <Library/MemoryAllocationLib.h>\r
37#include <Library/UefiBootServicesTableLib.h>\r
38\r
95276127 39//\r
97a079ed 40// Driver Binding Externs\r
95276127 41//\r
97a079ed
A
42extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterConInDriverBinding;\r
43extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterConInComponentName;\r
44extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterSimplePointerDriverBinding;\r
45extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterSimplePointerComponentName;\r
46extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterConOutDriverBinding;\r
47extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterConOutComponentName;\r
48extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterStdErrDriverBinding;\r
49extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterStdErrComponentName;\r
50\r
51// These definitions were in the old Hii protocol, but are not in the new UEFI\r
52// version. So they are defined locally.\r
53#define UNICODE_NARROW_CHAR 0xFFF0\r
54#define UNICODE_WIDE_CHAR 0xFFF1 \r
55\r
95276127 56\r
57//\r
58// Private Data Structures\r
59//\r
60#define CONSOLE_SPLITTER_CONSOLES_ALLOC_UNIT 32\r
61#define CONSOLE_SPLITTER_MODES_ALLOC_UNIT 32\r
62#define MAX_STD_IN_PASSWORD 80\r
63\r
64typedef struct {\r
65 UINTN Columns;\r
66 UINTN Rows;\r
67} TEXT_OUT_SPLITTER_QUERY_DATA;\r
68\r
69//\r
70// Private data for the EFI_SIMPLE_TEXT_INPUT_PROTOCOL splitter\r
71//\r
72#define TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('T', 'i', 'S', 'p')\r
73\r
74typedef struct {\r
75 UINT64 Signature;\r
76 EFI_HANDLE VirtualHandle;\r
77\r
78 EFI_SIMPLE_TEXT_INPUT_PROTOCOL TextIn;\r
79 UINTN CurrentNumberOfConsoles;\r
80 EFI_SIMPLE_TEXT_INPUT_PROTOCOL **TextInList;\r
81 UINTN TextInListCount;\r
82\r
83 EFI_SIMPLE_POINTER_PROTOCOL SimplePointer;\r
84 EFI_SIMPLE_POINTER_MODE SimplePointerMode;\r
85 UINTN CurrentNumberOfPointers;\r
86 EFI_SIMPLE_POINTER_PROTOCOL **PointerList;\r
87 UINTN PointerListCount;\r
88\r
89 BOOLEAN PasswordEnabled;\r
90 CHAR16 Password[MAX_STD_IN_PASSWORD];\r
91 UINTN PwdIndex;\r
92 CHAR16 PwdAttempt[MAX_STD_IN_PASSWORD];\r
93 EFI_EVENT LockEvent;\r
94\r
95 BOOLEAN KeyEventSignalState;\r
96 BOOLEAN InputEventSignalState;\r
97} TEXT_IN_SPLITTER_PRIVATE_DATA;\r
98\r
99#define TEXT_IN_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \\r
100 CR ((a), \\r
101 TEXT_IN_SPLITTER_PRIVATE_DATA, \\r
102 TextIn, \\r
103 TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE \\r
104 )\r
105\r
106#define TEXT_IN_SPLITTER_PRIVATE_DATA_FROM_SIMPLE_POINTER_THIS(a) \\r
107 CR ((a), \\r
108 TEXT_IN_SPLITTER_PRIVATE_DATA, \\r
109 SimplePointer, \\r
110 TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE \\r
111 )\r
112\r
113//\r
114// Private data for the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL splitter\r
115//\r
116#define TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('T', 'o', 'S', 'p')\r
117\r
118typedef struct {\r
119 EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;\r
120 EFI_UGA_DRAW_PROTOCOL *UgaDraw;\r
121 EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *TextOut;\r
122 BOOLEAN TextOutEnabled;\r
123} TEXT_OUT_AND_GOP_DATA;\r
124\r
125typedef struct {\r
126 UINT32 HorizontalResolution;\r
127 UINT32 VerticalResolution;\r
128} TEXT_OUT_GOP_MODE;\r
129\r
130typedef struct {\r
131 UINT64 Signature;\r
132 EFI_HANDLE VirtualHandle;\r
133 EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL TextOut;\r
134 EFI_SIMPLE_TEXT_OUTPUT_MODE TextOutMode;\r
135\r
136 EFI_GRAPHICS_OUTPUT_PROTOCOL GraphicsOutput;\r
137 EFI_GRAPHICS_OUTPUT_BLT_PIXEL *GraphicsOutputBlt;\r
138 TEXT_OUT_GOP_MODE *GraphicsOutputModeBuffer;\r
139 UINTN CurrentNumberOfGraphicsOutput;\r
140 BOOLEAN HardwareNeedsStarting;\r
141\r
142 EFI_CONSOLE_CONTROL_PROTOCOL ConsoleControl;\r
143\r
144 UINTN CurrentNumberOfConsoles;\r
145 TEXT_OUT_AND_GOP_DATA *TextOutList;\r
146 UINTN TextOutListCount;\r
147 TEXT_OUT_SPLITTER_QUERY_DATA *TextOutQueryData;\r
148 UINTN TextOutQueryDataCount;\r
149 INT32 *TextOutModeMap;\r
150\r
151 EFI_CONSOLE_CONTROL_SCREEN_MODE ConsoleOutputMode;\r
152\r
153 UINTN DevNullColumns;\r
154 UINTN DevNullRows;\r
155 CHAR16 *DevNullScreen;\r
156 INT32 *DevNullAttributes;\r
157\r
158} TEXT_OUT_SPLITTER_PRIVATE_DATA;\r
159\r
160#define TEXT_OUT_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \\r
161 CR ((a), \\r
162 TEXT_OUT_SPLITTER_PRIVATE_DATA, \\r
163 TextOut, \\r
164 TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \\r
165 )\r
166\r
167#define GRAPHICS_OUTPUT_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \\r
168 CR ((a), \\r
169 TEXT_OUT_SPLITTER_PRIVATE_DATA, \\r
170 GraphicsOutput, \\r
171 TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \\r
172 )\r
173\r
174#define UGA_DRAW_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \\r
175 CR ((a), \\r
176 TEXT_OUT_SPLITTER_PRIVATE_DATA, \\r
177 UgaDraw, \\r
178 TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \\r
179 )\r
180\r
181#define CONSOLE_CONTROL_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \\r
182 CR ((a), \\r
183 TEXT_OUT_SPLITTER_PRIVATE_DATA, \\r
184 ConsoleControl, \\r
185 TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \\r
186 )\r
187\r
188//\r
189// Function Prototypes\r
190//\r
191EFI_STATUS\r
192EFIAPI\r
193ConSplitterDriverEntry (\r
194 IN EFI_HANDLE ImageHandle,\r
195 IN EFI_SYSTEM_TABLE *SystemTable\r
196 )\r
197;\r
198\r
199EFI_STATUS\r
200ConSplitterTextInConstructor (\r
201 TEXT_IN_SPLITTER_PRIVATE_DATA *Private\r
202 )\r
203;\r
204\r
205EFI_STATUS\r
206ConSplitterTextOutConstructor (\r
207 TEXT_OUT_SPLITTER_PRIVATE_DATA *Private\r
208 )\r
209;\r
210\r
211//\r
212// Driver Binding Functions\r
213//\r
214EFI_STATUS\r
215EFIAPI\r
216ConSplitterConInDriverBindingSupported (\r
217 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
218 IN EFI_HANDLE ControllerHandle,\r
219 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
220 )\r
221;\r
222\r
223EFI_STATUS\r
224EFIAPI\r
225ConSplitterSimplePointerDriverBindingSupported (\r
226 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
227 IN EFI_HANDLE ControllerHandle,\r
228 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
229 )\r
230;\r
231\r
232EFI_STATUS\r
233EFIAPI\r
234ConSplitterConOutDriverBindingSupported (\r
235 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
236 IN EFI_HANDLE ControllerHandle,\r
237 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
238 )\r
239;\r
240\r
241EFI_STATUS\r
242EFIAPI\r
243ConSplitterStdErrDriverBindingSupported (\r
244 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
245 IN EFI_HANDLE ControllerHandle,\r
246 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
247 )\r
248;\r
249\r
250EFI_STATUS\r
251EFIAPI\r
252ConSplitterConInDriverBindingStart (\r
253 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
254 IN EFI_HANDLE ControllerHandle,\r
255 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
256 )\r
257;\r
258\r
259EFI_STATUS\r
260EFIAPI\r
261ConSplitterSimplePointerDriverBindingStart (\r
262 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
263 IN EFI_HANDLE ControllerHandle,\r
264 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
265 )\r
266;\r
267\r
268EFI_STATUS\r
269EFIAPI\r
270ConSplitterConOutDriverBindingStart (\r
271 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
272 IN EFI_HANDLE ControllerHandle,\r
273 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
274 )\r
275;\r
276\r
277EFI_STATUS\r
278EFIAPI\r
279ConSplitterStdErrDriverBindingStart (\r
280 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
281 IN EFI_HANDLE ControllerHandle,\r
282 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
283 )\r
284;\r
285\r
286EFI_STATUS\r
287EFIAPI\r
288ConSplitterConInDriverBindingStop (\r
289 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
290 IN EFI_HANDLE ControllerHandle,\r
291 IN UINTN NumberOfChildren,\r
292 IN EFI_HANDLE *ChildHandleBuffer\r
293 )\r
294;\r
295\r
296EFI_STATUS\r
297EFIAPI\r
298ConSplitterSimplePointerDriverBindingStop (\r
299 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
300 IN EFI_HANDLE ControllerHandle,\r
301 IN UINTN NumberOfChildren,\r
302 IN EFI_HANDLE *ChildHandleBuffer\r
303 )\r
304;\r
305\r
306EFI_STATUS\r
307EFIAPI\r
308ConSplitterConOutDriverBindingStop (\r
309 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
310 IN EFI_HANDLE ControllerHandle,\r
311 IN UINTN NumberOfChildren,\r
312 IN EFI_HANDLE *ChildHandleBuffer\r
313 )\r
314;\r
315\r
316EFI_STATUS\r
317EFIAPI\r
318ConSplitterStdErrDriverBindingStop (\r
319 IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
320 IN EFI_HANDLE ControllerHandle,\r
321 IN UINTN NumberOfChildren,\r
322 IN EFI_HANDLE *ChildHandleBuffer\r
323 )\r
324;\r
325\r
326EFI_STATUS\r
327EFIAPI\r
328ConSplitterComponentNameGetDriverName (\r
329 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
330 IN CHAR8 *Language,\r
331 OUT CHAR16 **DriverName\r
332 );\r
333\r
334EFI_STATUS\r
335EFIAPI\r
336ConSplitterConInComponentNameGetControllerName (\r
337 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
338 IN EFI_HANDLE ControllerHandle,\r
339 IN EFI_HANDLE ChildHandle OPTIONAL,\r
340 IN CHAR8 *Language,\r
341 OUT CHAR16 **ControllerName\r
342 );\r
343\r
344EFI_STATUS\r
345EFIAPI\r
346ConSplitterSimplePointerComponentNameGetControllerName (\r
347 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
348 IN EFI_HANDLE ControllerHandle,\r
349 IN EFI_HANDLE ChildHandle OPTIONAL,\r
350 IN CHAR8 *Language,\r
351 OUT CHAR16 **ControllerName\r
352 );\r
353\r
354EFI_STATUS\r
355EFIAPI\r
356ConSplitterConOutComponentNameGetControllerName (\r
357 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
358 IN EFI_HANDLE ControllerHandle,\r
359 IN EFI_HANDLE ChildHandle OPTIONAL,\r
360 IN CHAR8 *Language,\r
361 OUT CHAR16 **ControllerName\r
362 );\r
363\r
364EFI_STATUS\r
365EFIAPI\r
366ConSplitterStdErrComponentNameGetControllerName (\r
367 IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
368 IN EFI_HANDLE ControllerHandle,\r
369 IN EFI_HANDLE ChildHandle OPTIONAL,\r
370 IN CHAR8 *Language,\r
371 OUT CHAR16 **ControllerName\r
372 );\r
373\r
374//\r
375// TextIn Constructor/Destructor functions\r
376//\r
377EFI_STATUS\r
378ConSplitterTextInAddDevice (\r
379 IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private,\r
380 IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextIn\r
381 )\r
382;\r
383\r
384EFI_STATUS\r
385ConSplitterTextInDeleteDevice (\r
386 IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private,\r
387 IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextIn\r
388 )\r
389;\r
390\r
391//\r
392// SimplePointer Constuctor/Destructor functions\r
393//\r
394EFI_STATUS\r
395ConSplitterSimplePointerAddDevice (\r
396 IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private,\r
397 IN EFI_SIMPLE_POINTER_PROTOCOL *SimplePointer\r
398 )\r
399;\r
400\r
401EFI_STATUS\r
402ConSplitterSimplePointerDeleteDevice (\r
403 IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private,\r
404 IN EFI_SIMPLE_POINTER_PROTOCOL *SimplePointer\r
405 )\r
406;\r
407\r
408//\r
409// TextOut Constuctor/Destructor functions\r
410//\r
411EFI_STATUS\r
412ConSplitterTextOutAddDevice (\r
413 IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,\r
414 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *TextOut,\r
415 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,\r
416 IN EFI_UGA_DRAW_PROTOCOL *UgaDraw\r
417 )\r
418;\r
419\r
420EFI_STATUS\r
421ConSplitterTextOutDeleteDevice (\r
422 IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,\r
423 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *TextOut\r
424 )\r
425;\r
426\r
427//\r
428// TextIn I/O Functions\r
429//\r
430EFI_STATUS\r
431EFIAPI\r
432ConSplitterTextInReset (\r
433 IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,\r
434 IN BOOLEAN ExtendedVerification\r
435 )\r
436;\r
437\r
438EFI_STATUS\r
439EFIAPI\r
440ConSplitterTextInReadKeyStroke (\r
441 IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,\r
442 OUT EFI_INPUT_KEY *Key\r
443 )\r
444;\r
445\r
446VOID\r
447EFIAPI\r
448ConSplitterTextInWaitForKey (\r
449 IN EFI_EVENT Event,\r
450 IN VOID *Context\r
451 )\r
452;\r
453\r
454BOOLEAN\r
455ConSpliterConssoleControlStdInLocked (\r
456 VOID\r
457 )\r
458;\r
459\r
460VOID\r
461EFIAPI\r
462ConSpliterConsoleControlLockStdInEvent (\r
463 IN EFI_EVENT Event,\r
464 IN VOID *Context\r
465 )\r
466;\r
467\r
468EFI_STATUS\r
469EFIAPI\r
470ConSpliterConsoleControlLockStdIn (\r
471 IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r
472 IN CHAR16 *Password\r
473 )\r
474;\r
475\r
476EFI_STATUS\r
477EFIAPI\r
478ConSplitterTextInPrivateReadKeyStroke (\r
479 IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private,\r
480 OUT EFI_INPUT_KEY *Key\r
481 )\r
482;\r
483\r
484EFI_STATUS\r
485EFIAPI\r
486ConSplitterSimplePointerReset (\r
487 IN EFI_SIMPLE_POINTER_PROTOCOL *This,\r
488 IN BOOLEAN ExtendedVerification\r
489 )\r
490;\r
491\r
492EFI_STATUS\r
493EFIAPI\r
494ConSplitterSimplePointerGetState (\r
495 IN EFI_SIMPLE_POINTER_PROTOCOL *This,\r
496 IN OUT EFI_SIMPLE_POINTER_STATE *State\r
497 )\r
498;\r
499\r
500VOID\r
501EFIAPI\r
502ConSplitterSimplePointerWaitForInput (\r
503 IN EFI_EVENT Event,\r
504 IN VOID *Context\r
505 )\r
506;\r
507\r
508//\r
509// TextOut I/O Functions\r
510//\r
511VOID\r
512ConSplitterSynchronizeModeData (\r
513 TEXT_OUT_SPLITTER_PRIVATE_DATA *Private\r
514 )\r
515;\r
516\r
517EFI_STATUS\r
518EFIAPI\r
519ConSplitterTextOutReset (\r
520 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
521 IN BOOLEAN ExtendedVerification\r
522 )\r
523;\r
524\r
525EFI_STATUS\r
526EFIAPI\r
527ConSplitterTextOutOutputString (\r
528 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
529 IN CHAR16 *WString\r
530 )\r
531;\r
532\r
533EFI_STATUS\r
534EFIAPI\r
535ConSplitterTextOutTestString (\r
536 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
537 IN CHAR16 *WString\r
538 )\r
539;\r
540\r
541EFI_STATUS\r
542EFIAPI\r
543ConSplitterTextOutQueryMode (\r
544 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
545 IN UINTN ModeNumber,\r
546 OUT UINTN *Columns,\r
547 OUT UINTN *Rows\r
548 )\r
549;\r
550\r
551EFI_STATUS\r
552EFIAPI\r
553ConSplitterTextOutSetMode (\r
554 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
555 IN UINTN ModeNumber\r
556 )\r
557;\r
558\r
559EFI_STATUS\r
560EFIAPI\r
561ConSplitterTextOutSetAttribute (\r
562 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
563 IN UINTN Attribute\r
564 )\r
565;\r
566\r
567EFI_STATUS\r
568EFIAPI\r
569ConSplitterTextOutClearScreen (\r
570 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This\r
571 )\r
572;\r
573\r
574EFI_STATUS\r
575EFIAPI\r
576ConSplitterTextOutSetCursorPosition (\r
577 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
578 IN UINTN Column,\r
579 IN UINTN Row\r
580 )\r
581;\r
582\r
583EFI_STATUS\r
584EFIAPI\r
585ConSplitterTextOutEnableCursor (\r
586 IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
587 IN BOOLEAN Visible\r
588 )\r
589;\r
590\r
591EFI_STATUS\r
592ConSplitterGrowBuffer (\r
593 IN UINTN SizeOfCount,\r
594 IN UINTN *Count,\r
595 IN OUT VOID **Buffer\r
596 )\r
597;\r
598\r
599EFI_STATUS\r
600EFIAPI\r
601ConSpliterConsoleControlGetMode (\r
602 IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r
603 OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode,\r
604 OUT BOOLEAN *GopExists,\r
605 OUT BOOLEAN *StdInLocked\r
606 )\r
607;\r
608\r
609EFI_STATUS\r
610EFIAPI\r
611ConSpliterConsoleControlSetMode (\r
612 IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r
613 IN EFI_CONSOLE_CONTROL_SCREEN_MODE Mode\r
614 )\r
615;\r
616\r
617EFI_STATUS\r
618EFIAPI\r
619ConSpliterGraphicsOutputQueryMode (\r
620 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,\r
621 IN UINT32 ModeNumber,\r
622 OUT UINTN *SizeOfInfo,\r
623 OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info\r
624 )\r
625;\r
626\r
627EFI_STATUS\r
628EFIAPI\r
629ConSpliterGraphicsOutputSetMode (\r
630 IN EFI_GRAPHICS_OUTPUT_PROTOCOL * This,\r
631 IN UINT32 ModeNumber\r
632 )\r
633;\r
634\r
635EFI_STATUS\r
636EFIAPI\r
637ConSpliterGraphicsOutputBlt (\r
638 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,\r
639 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, OPTIONAL\r
640 IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation,\r
641 IN UINTN SourceX,\r
642 IN UINTN SourceY,\r
643 IN UINTN DestinationX,\r
644 IN UINTN DestinationY,\r
645 IN UINTN Width,\r
646 IN UINTN Height,\r
647 IN UINTN Delta OPTIONAL\r
648 )\r
649;\r
650\r
651EFI_STATUS\r
652DevNullGopSync (\r
653 IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,\r
654 IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,\r
655 IN EFI_UGA_DRAW_PROTOCOL *UgaDraw\r
656 )\r
657;\r
658\r
659\r
660EFI_STATUS\r
661DevNullTextOutOutputString (\r
662 IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,\r
663 IN CHAR16 *WString\r
664 )\r
665;\r
666\r
667EFI_STATUS\r
668DevNullTextOutSetMode (\r
669 IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,\r
670 IN UINTN ModeNumber\r
671 )\r
672;\r
673\r
674EFI_STATUS\r
675DevNullTextOutClearScreen (\r
676 IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private\r
677 )\r
678;\r
679\r
680EFI_STATUS\r
681DevNullTextOutSetCursorPosition (\r
682 IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,\r
683 IN UINTN Column,\r
684 IN UINTN Row\r
685 )\r
686;\r
687\r
688EFI_STATUS\r
689DevNullTextOutEnableCursor (\r
690 IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,\r
691 IN BOOLEAN Visible\r
692 )\r
693;\r
694\r
695EFI_STATUS\r
696DevNullSyncGopStdOut (\r
697 IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private\r
698 )\r
699;\r
700\r
701#endif\r