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