git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			624 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			624 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*++
 | |
| 
 | |
| Copyright (c) 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:
 | |
| 
 | |
|   ConSplitter.h
 | |
| 
 | |
| Abstract:
 | |
| 
 | |
|   Private data structures for the Console Splitter driver
 | |
| 
 | |
| --*/
 | |
| 
 | |
| #ifndef SPLITER_H_
 | |
| #define SPLITER_H_
 | |
| 
 | |
| //
 | |
| // Private Data Structures
 | |
| //
 | |
| #define CONSOLE_SPLITTER_CONSOLES_ALLOC_UNIT  32
 | |
| #define CONSOLE_SPLITTER_MODES_ALLOC_UNIT     32
 | |
| #define MAX_STD_IN_PASSWORD                   80
 | |
| 
 | |
| typedef struct {
 | |
|   UINTN Columns;
 | |
|   UINTN Rows;
 | |
| } TEXT_OUT_SPLITTER_QUERY_DATA;
 | |
| 
 | |
| //
 | |
| // Private data for the EFI_SIMPLE_INPUT_PROTOCOL splitter
 | |
| //
 | |
| #define TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('T', 'i', 'S', 'p')
 | |
| 
 | |
| typedef struct {
 | |
|   UINT64                      Signature;
 | |
|   EFI_HANDLE                  VirtualHandle;
 | |
| 
 | |
|   EFI_SIMPLE_TEXT_IN_PROTOCOL TextIn;
 | |
|   UINTN                       CurrentNumberOfConsoles;
 | |
|   EFI_SIMPLE_TEXT_IN_PROTOCOL **TextInList;
 | |
|   UINTN                       TextInListCount;
 | |
| 
 | |
|   EFI_SIMPLE_POINTER_PROTOCOL SimplePointer;
 | |
|   EFI_SIMPLE_POINTER_MODE     SimplePointerMode;
 | |
|   UINTN                       CurrentNumberOfPointers;
 | |
|   EFI_SIMPLE_POINTER_PROTOCOL **PointerList;
 | |
|   UINTN                       PointerListCount;
 | |
| 
 | |
|   BOOLEAN                     PasswordEnabled;
 | |
|   CHAR16                      Password[MAX_STD_IN_PASSWORD];
 | |
|   UINTN                       PwdIndex;
 | |
|   CHAR16                      PwdAttempt[MAX_STD_IN_PASSWORD];
 | |
|   EFI_EVENT                   LockEvent;
 | |
| 
 | |
|   BOOLEAN                     KeyEventSignalState;
 | |
|   BOOLEAN                     InputEventSignalState;
 | |
| } TEXT_IN_SPLITTER_PRIVATE_DATA;
 | |
| 
 | |
| #define TEXT_IN_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
 | |
|   CR (a, \
 | |
|       TEXT_IN_SPLITTER_PRIVATE_DATA, \
 | |
|       TextIn, \
 | |
|       TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE \
 | |
|       )
 | |
| 
 | |
| #define TEXT_IN_SPLITTER_PRIVATE_DATA_FROM_SIMPLE_POINTER_THIS(a) \
 | |
|   CR (a, \
 | |
|       TEXT_IN_SPLITTER_PRIVATE_DATA, \
 | |
|       SimplePointer, \
 | |
|       TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE \
 | |
|       )
 | |
| 
 | |
| //
 | |
| // Private data for the EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL splitter
 | |
| //
 | |
| #define TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE  EFI_SIGNATURE_32 ('T', 'o', 'S', 'p')
 | |
| 
 | |
| typedef struct {
 | |
|   EFI_UGA_DRAW_PROTOCOL         *UgaDraw;
 | |
|   EFI_SIMPLE_TEXT_OUT_PROTOCOL  *TextOut;
 | |
|   BOOLEAN                       TextOutEnabled;
 | |
| } TEXT_OUT_AND_UGA_DATA;
 | |
| 
 | |
| typedef struct {
 | |
|   UINT64                          Signature;
 | |
|   EFI_HANDLE                      VirtualHandle;
 | |
|   EFI_SIMPLE_TEXT_OUT_PROTOCOL    TextOut;
 | |
|   EFI_SIMPLE_TEXT_OUTPUT_MODE     TextOutMode;
 | |
|   EFI_UGA_DRAW_PROTOCOL           UgaDraw;
 | |
|   UINT32                          UgaHorizontalResolution;
 | |
|   UINT32                          UgaVerticalResolution;
 | |
|   UINT32                          UgaColorDepth;
 | |
|   UINT32                          UgaRefreshRate;
 | |
|   EFI_UGA_PIXEL                   *UgaBlt;
 | |
| 
 | |
|   EFI_CONSOLE_CONTROL_PROTOCOL    ConsoleControl;
 | |
| 
 | |
|   UINTN                           CurrentNumberOfConsoles;
 | |
|   TEXT_OUT_AND_UGA_DATA           *TextOutList;
 | |
|   UINTN                           TextOutListCount;
 | |
|   TEXT_OUT_SPLITTER_QUERY_DATA    *TextOutQueryData;
 | |
|   UINTN                           TextOutQueryDataCount;
 | |
|   INT32                           *TextOutModeMap;
 | |
| 
 | |
|   EFI_CONSOLE_CONTROL_SCREEN_MODE UgaMode;
 | |
| 
 | |
|   UINTN                           DevNullColumns;
 | |
|   UINTN                           DevNullRows;
 | |
|   CHAR16                          *DevNullScreen;
 | |
|   INT32                           *DevNullAttributes;
 | |
| 
 | |
| } TEXT_OUT_SPLITTER_PRIVATE_DATA;
 | |
| 
 | |
| #define TEXT_OUT_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
 | |
|   CR (a, \
 | |
|       TEXT_OUT_SPLITTER_PRIVATE_DATA, \
 | |
|       TextOut, \
 | |
|       TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \
 | |
|       )
 | |
| 
 | |
| #define UGA_DRAW_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
 | |
|   CR (a, \
 | |
|       TEXT_OUT_SPLITTER_PRIVATE_DATA, \
 | |
|       UgaDraw, \
 | |
|       TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \
 | |
|       )
 | |
| 
 | |
| #define CONSOLE_CONTROL_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
 | |
|   CR (a, \
 | |
|       TEXT_OUT_SPLITTER_PRIVATE_DATA, \
 | |
|       ConsoleControl, \
 | |
|       TEXT_OUT_SPLITTER_PRIVATE_DATA_SIGNATURE \
 | |
|       )
 | |
| 
 | |
| //
 | |
| // Function Prototypes
 | |
| //
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterDriverEntry (
 | |
|   IN EFI_HANDLE                       ImageHandle,
 | |
|   IN EFI_SYSTEM_TABLE                 *SystemTable
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| ConSplitterTextInConstructor (
 | |
|   TEXT_IN_SPLITTER_PRIVATE_DATA       *Private
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| ConSplitterTextOutConstructor (
 | |
|   TEXT_OUT_SPLITTER_PRIVATE_DATA      *Private
 | |
|   )
 | |
| ;
 | |
| 
 | |
| //
 | |
| // Driver Binding Functions
 | |
| //
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterConInDriverBindingSupported (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterSimplePointerDriverBindingSupported (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterConOutDriverBindingSupported (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterStdErrDriverBindingSupported (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterConInDriverBindingStart (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterSimplePointerDriverBindingStart (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterConOutDriverBindingStart (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterStdErrDriverBindingStart (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterConInDriverBindingStop (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  UINTN                           NumberOfChildren,
 | |
|   IN  EFI_HANDLE                      *ChildHandleBuffer
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterSimplePointerDriverBindingStop (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  UINTN                           NumberOfChildren,
 | |
|   IN  EFI_HANDLE                      *ChildHandleBuffer
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterConOutDriverBindingStop (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  UINTN                           NumberOfChildren,
 | |
|   IN  EFI_HANDLE                      *ChildHandleBuffer
 | |
|   )
 | |
| ;
 | |
| 
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterStdErrDriverBindingStop (
 | |
|   IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
 | |
|   IN  EFI_HANDLE                      ControllerHandle,
 | |
|   IN  UINTN                           NumberOfChildren,
 | |
|   IN  EFI_HANDLE                      *ChildHandleBuffer
 | |
|   )
 | |
| ;
 | |
| 
 | |
| //
 | |
| // TextIn Constructor/Destructor functions
 | |
| //
 | |
| EFI_STATUS
 | |
| ConSplitterTextInAddDevice (
 | |
|   IN  TEXT_IN_SPLITTER_PRIVATE_DATA   *Private,
 | |
|   IN  EFI_SIMPLE_TEXT_IN_PROTOCOL     *TextIn
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| ConSplitterTextInDeleteDevice (
 | |
|   IN  TEXT_IN_SPLITTER_PRIVATE_DATA   *Private,
 | |
|   IN  EFI_SIMPLE_TEXT_IN_PROTOCOL     *TextIn
 | |
|   )
 | |
| ;
 | |
| 
 | |
| //
 | |
| // SimplePointer Constuctor/Destructor functions
 | |
| //
 | |
| EFI_STATUS
 | |
| ConSplitterSimplePointerAddDevice (
 | |
|   IN  TEXT_IN_SPLITTER_PRIVATE_DATA   *Private,
 | |
|   IN  EFI_SIMPLE_POINTER_PROTOCOL     *SimplePointer
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| ConSplitterSimplePointerDeleteDevice (
 | |
|   IN  TEXT_IN_SPLITTER_PRIVATE_DATA   *Private,
 | |
|   IN  EFI_SIMPLE_POINTER_PROTOCOL     *SimplePointer
 | |
|   )
 | |
| ;
 | |
| 
 | |
| //
 | |
| // TextOut Constuctor/Destructor functions
 | |
| //
 | |
| EFI_STATUS
 | |
| ConSplitterTextOutAddDevice (
 | |
|   IN  TEXT_OUT_SPLITTER_PRIVATE_DATA  *Private,
 | |
|   IN  EFI_SIMPLE_TEXT_OUT_PROTOCOL    *TextOut,
 | |
|   IN  EFI_UGA_DRAW_PROTOCOL           *UgaDraw
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| ConSplitterTextOutDeleteDevice (
 | |
|   IN  TEXT_OUT_SPLITTER_PRIVATE_DATA  *Private,
 | |
|   IN  EFI_SIMPLE_TEXT_OUT_PROTOCOL    *TextOut
 | |
|   )
 | |
| ;
 | |
| 
 | |
| //
 | |
| // TextIn I/O Functions
 | |
| //
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextInReset (
 | |
|   IN  EFI_SIMPLE_TEXT_IN_PROTOCOL     *This,
 | |
|   IN  BOOLEAN                         ExtendedVerification
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextInReadKeyStroke (
 | |
|   IN  EFI_SIMPLE_TEXT_IN_PROTOCOL     *This,
 | |
|   OUT EFI_INPUT_KEY                   *Key
 | |
|   )
 | |
| ;
 | |
| 
 | |
| VOID
 | |
| EFIAPI
 | |
| ConSplitterTextInWaitForKey (
 | |
|   IN  EFI_EVENT                       Event,
 | |
|   IN  VOID                            *Context
 | |
|   )
 | |
| ;
 | |
| 
 | |
| BOOLEAN
 | |
| ConSpliterConssoleControlStdInLocked (
 | |
|   VOID
 | |
|   )
 | |
| ;
 | |
| 
 | |
| VOID
 | |
| EFIAPI
 | |
| ConSpliterConsoleControlLockStdInEvent (
 | |
|   IN  EFI_EVENT                       Event,
 | |
|   IN  VOID                            *Context
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSpliterConsoleControlLockStdIn (
 | |
|   IN  EFI_CONSOLE_CONTROL_PROTOCOL    *This,
 | |
|   IN  CHAR16                          *Password
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextInPrivateReadKeyStroke (
 | |
|   IN  TEXT_IN_SPLITTER_PRIVATE_DATA   *Private,
 | |
|   OUT EFI_INPUT_KEY                   *Key
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterSimplePointerReset (
 | |
|   IN  EFI_SIMPLE_POINTER_PROTOCOL     *This,
 | |
|   IN  BOOLEAN                         ExtendedVerification
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterSimplePointerGetState (
 | |
|   IN  EFI_SIMPLE_POINTER_PROTOCOL     *This,
 | |
|   IN OUT EFI_SIMPLE_POINTER_STATE     *State
 | |
|   )
 | |
| ;
 | |
| 
 | |
| VOID
 | |
| EFIAPI
 | |
| ConSplitterSimplePointerWaitForInput (
 | |
|   IN  EFI_EVENT                       Event,
 | |
|   IN  VOID                            *Context
 | |
|   )
 | |
| ;
 | |
| 
 | |
| //
 | |
| // TextOut I/O Functions
 | |
| //
 | |
| VOID
 | |
| ConSplitterSynchronizeModeData (
 | |
|   TEXT_OUT_SPLITTER_PRIVATE_DATA      *Private
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextOutReset (
 | |
|   IN  EFI_SIMPLE_TEXT_OUT_PROTOCOL    *This,
 | |
|   IN  BOOLEAN                         ExtendedVerification
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextOutOutputString (
 | |
|   IN  EFI_SIMPLE_TEXT_OUT_PROTOCOL    *This,
 | |
|   IN  CHAR16                          *WString
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextOutTestString (
 | |
|   IN  EFI_SIMPLE_TEXT_OUT_PROTOCOL    *This,
 | |
|   IN  CHAR16                          *WString
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextOutQueryMode (
 | |
|   IN  EFI_SIMPLE_TEXT_OUT_PROTOCOL    *This,
 | |
|   IN  UINTN                           ModeNumber,
 | |
|   OUT UINTN                           *Columns,
 | |
|   OUT UINTN                           *Rows
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextOutSetMode (
 | |
|   IN  EFI_SIMPLE_TEXT_OUT_PROTOCOL    *This,
 | |
|   IN  UINTN                           ModeNumber
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextOutSetAttribute (
 | |
|   IN  EFI_SIMPLE_TEXT_OUT_PROTOCOL    *This,
 | |
|   IN  UINTN                           Attribute
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextOutClearScreen (
 | |
|   IN  EFI_SIMPLE_TEXT_OUT_PROTOCOL    *This
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextOutSetCursorPosition (
 | |
|   IN  EFI_SIMPLE_TEXT_OUT_PROTOCOL    *This,
 | |
|   IN  UINTN                           Column,
 | |
|   IN  UINTN                           Row
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSplitterTextOutEnableCursor (
 | |
|   IN  EFI_SIMPLE_TEXT_OUT_PROTOCOL    *This,
 | |
|   IN  BOOLEAN                         Visible
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| ConSplitterGrowBuffer (
 | |
|   IN  UINTN                           SizeOfCount,
 | |
|   IN  UINTN                           *Count,
 | |
|   IN OUT  VOID                        **Buffer
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSpliterConsoleControlGetMode (
 | |
|   IN  EFI_CONSOLE_CONTROL_PROTOCOL    *This,
 | |
|   OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode,
 | |
|   OUT BOOLEAN                         *UgaExists,
 | |
|   OUT BOOLEAN                         *StdInLocked
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSpliterConsoleControlSetMode (
 | |
|   IN  EFI_CONSOLE_CONTROL_PROTOCOL    *This,
 | |
|   IN  EFI_CONSOLE_CONTROL_SCREEN_MODE Mode
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSpliterUgaDrawGetMode (
 | |
|   IN  EFI_UGA_DRAW_PROTOCOL           *This,
 | |
|   OUT UINT32                          *HorizontalResolution,
 | |
|   OUT UINT32                          *VerticalResolution,
 | |
|   OUT UINT32                          *ColorDepth,
 | |
|   OUT UINT32                          *RefreshRate
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSpliterUgaDrawSetMode (
 | |
|   IN  EFI_UGA_DRAW_PROTOCOL           *This,
 | |
|   IN UINT32                           HorizontalResolution,
 | |
|   IN UINT32                           VerticalResolution,
 | |
|   IN UINT32                           ColorDepth,
 | |
|   IN UINT32                           RefreshRate
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| ConSpliterUgaDrawBlt (
 | |
|   IN  EFI_UGA_DRAW_PROTOCOL                         *This,
 | |
|   IN  EFI_UGA_PIXEL                                 *BltBuffer, OPTIONAL
 | |
|   IN  EFI_UGA_BLT_OPERATION                         BltOperation,
 | |
|   IN  UINTN                                         SourceX,
 | |
|   IN  UINTN                                         SourceY,
 | |
|   IN  UINTN                                         DestinationX,
 | |
|   IN  UINTN                                         DestinationY,
 | |
|   IN  UINTN                                         Width,
 | |
|   IN  UINTN                                         Height,
 | |
|   IN  UINTN                                         Delta         OPTIONAL
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| DevNullUgaSync (
 | |
|   IN  TEXT_OUT_SPLITTER_PRIVATE_DATA  *Private,
 | |
|   IN  EFI_UGA_DRAW_PROTOCOL           *UgaDraw
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| DevNullTextOutOutputString (
 | |
|   IN  TEXT_OUT_SPLITTER_PRIVATE_DATA  *Private,
 | |
|   IN  CHAR16                          *WString
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| DevNullTextOutSetMode (
 | |
|   IN  TEXT_OUT_SPLITTER_PRIVATE_DATA  *Private,
 | |
|   IN  UINTN                           ModeNumber
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| DevNullTextOutClearScreen (
 | |
|   IN  TEXT_OUT_SPLITTER_PRIVATE_DATA  *Private
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| DevNullTextOutSetCursorPosition (
 | |
|   IN  TEXT_OUT_SPLITTER_PRIVATE_DATA  *Private,
 | |
|   IN  UINTN                           Column,
 | |
|   IN  UINTN                           Row
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| DevNullTextOutEnableCursor (
 | |
|   IN  TEXT_OUT_SPLITTER_PRIVATE_DATA  *Private,
 | |
|   IN  BOOLEAN                         Visible
 | |
|   )
 | |
| ;
 | |
| 
 | |
| EFI_STATUS
 | |
| DevNullSyncUgaStdOut (
 | |
|   IN  TEXT_OUT_SPLITTER_PRIVATE_DATA  *Private
 | |
|   )
 | |
| ;
 | |
| 
 | |
| #endif
 |