mirror of https://github.com/acidanthera/audk.git
1375 lines
48 KiB
C
1375 lines
48 KiB
C
/**@file
|
|
Private data structures for the Console Splitter driver
|
|
|
|
Copyright (c) 2006 - 2007 Intel Corporation. <BR>
|
|
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.
|
|
|
|
**/
|
|
|
|
#ifndef _CON_SPLITTER_H_
|
|
#define _CON_SPLITTER_H_
|
|
|
|
#include <PiDxe.h>
|
|
#include <Guid/PrimaryStandardErrorDevice.h>
|
|
#include <Guid/PrimaryConsoleOutDevice.h>
|
|
#include <Protocol/GraphicsOutput.h>
|
|
#include <Guid/PrimaryConsoleInDevice.h>
|
|
#include <Protocol/SimplePointer.h>
|
|
#include <Protocol/AbsolutePointer.h>
|
|
#include <Protocol/SimpleTextOut.h>
|
|
#include <Guid/ConsoleInDevice.h>
|
|
#include <Protocol/SimpleTextIn.h>
|
|
#include <Protocol/SimpleTextInEx.h>
|
|
#include <Protocol/ConsoleControl.h>
|
|
#include <Guid/StandardErrorDevice.h>
|
|
#include <Guid/ConsoleOutDevice.h>
|
|
#include <Protocol/UgaDraw.h>
|
|
#include <Library/PcdLib.h>
|
|
#include <Library/DebugLib.h>
|
|
#include <Library/UefiDriverEntryPoint.h>
|
|
#include <Library/UefiLib.h>
|
|
#include <Library/BaseLib.h>
|
|
#include <Library/BaseMemoryLib.h>
|
|
#include <Library/MemoryAllocationLib.h>
|
|
#include <Library/UefiBootServicesTableLib.h>
|
|
|
|
//
|
|
// Driver Binding Externs
|
|
//
|
|
extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterConInDriverBinding;
|
|
extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterConInComponentName;
|
|
extern EFI_COMPONENT_NAME2_PROTOCOL gConSplitterConInComponentName2;
|
|
extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterSimplePointerDriverBinding;
|
|
extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterSimplePointerComponentName;
|
|
extern EFI_COMPONENT_NAME2_PROTOCOL gConSplitterSimplePointerComponentName2;
|
|
extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterAbsolutePointerDriverBinding;
|
|
extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterAbsolutePointerComponentName;
|
|
extern EFI_COMPONENT_NAME2_PROTOCOL gConSplitterAbsolutePointerComponentName2;
|
|
extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterConOutDriverBinding;
|
|
extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterConOutComponentName;
|
|
extern EFI_COMPONENT_NAME2_PROTOCOL gConSplitterConOutComponentName2;
|
|
extern EFI_DRIVER_BINDING_PROTOCOL gConSplitterStdErrDriverBinding;
|
|
extern EFI_COMPONENT_NAME_PROTOCOL gConSplitterStdErrComponentName;
|
|
extern EFI_COMPONENT_NAME2_PROTOCOL gConSplitterStdErrComponentName2;
|
|
|
|
extern EFI_GUID gSimpleTextInExNotifyGuid;
|
|
|
|
// These definitions were in the old Hii protocol, but are not in the new UEFI
|
|
// version. So they are defined locally.
|
|
#define UNICODE_NARROW_CHAR 0xFFF0
|
|
#define UNICODE_WIDE_CHAR 0xFFF1
|
|
|
|
|
|
//
|
|
// 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_TEXT_INPUT_PROTOCOL splitter
|
|
//
|
|
#define TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE EFI_SIGNATURE_32 ('T', 'i', 'S', 'p')
|
|
|
|
#define TEXT_IN_EX_SPLITTER_NOTIFY_SIGNATURE EFI_SIGNATURE_32 ('T', 'i', 'S', 'n')
|
|
|
|
typedef struct _TEXT_IN_EX_SPLITTER_NOTIFY {
|
|
UINTN Signature;
|
|
EFI_HANDLE *NotifyHandleList;
|
|
EFI_HANDLE NotifyHandle;
|
|
EFI_KEY_DATA KeyData;
|
|
EFI_KEY_NOTIFY_FUNCTION KeyNotificationFn;
|
|
LIST_ENTRY NotifyEntry;
|
|
} TEXT_IN_EX_SPLITTER_NOTIFY;
|
|
|
|
typedef struct {
|
|
UINT64 Signature;
|
|
EFI_HANDLE VirtualHandle;
|
|
|
|
EFI_SIMPLE_TEXT_INPUT_PROTOCOL TextIn;
|
|
UINTN CurrentNumberOfConsoles;
|
|
EFI_SIMPLE_TEXT_INPUT_PROTOCOL **TextInList;
|
|
UINTN TextInListCount;
|
|
|
|
EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL TextInEx;
|
|
UINTN CurrentNumberOfExConsoles;
|
|
EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL **TextInExList;
|
|
UINTN TextInExListCount;
|
|
LIST_ENTRY NotifyList;
|
|
|
|
|
|
EFI_SIMPLE_POINTER_PROTOCOL SimplePointer;
|
|
EFI_SIMPLE_POINTER_MODE SimplePointerMode;
|
|
UINTN CurrentNumberOfPointers;
|
|
EFI_SIMPLE_POINTER_PROTOCOL **PointerList;
|
|
UINTN PointerListCount;
|
|
|
|
EFI_ABSOLUTE_POINTER_PROTOCOL AbsolutePointer;
|
|
EFI_ABSOLUTE_POINTER_MODE AbsolutePointerMode;
|
|
UINTN CurrentNumberOfAbsolutePointers;
|
|
EFI_ABSOLUTE_POINTER_PROTOCOL **AbsolutePointerList;
|
|
UINTN AbsolutePointerListCount;
|
|
BOOLEAN AbsoluteInputEventSignalState;
|
|
|
|
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 \
|
|
)
|
|
#define TEXT_IN_EX_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
|
|
CR (a, \
|
|
TEXT_IN_SPLITTER_PRIVATE_DATA, \
|
|
TextInEx, \
|
|
TEXT_IN_SPLITTER_PRIVATE_DATA_SIGNATURE \
|
|
)
|
|
|
|
#define TEXT_IN_SPLITTER_PRIVATE_DATA_FROM_ABSOLUTE_POINTER_THIS(a) \
|
|
CR (a, \
|
|
TEXT_IN_SPLITTER_PRIVATE_DATA, \
|
|
AbsolutePointer, \
|
|
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_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;
|
|
EFI_UGA_DRAW_PROTOCOL *UgaDraw;
|
|
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *TextOut;
|
|
BOOLEAN TextOutEnabled;
|
|
} TEXT_OUT_AND_GOP_DATA;
|
|
|
|
typedef struct {
|
|
UINT64 Signature;
|
|
EFI_HANDLE VirtualHandle;
|
|
EFI_SIMPLE_TEXT_OUTPUT_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_GRAPHICS_OUTPUT_PROTOCOL GraphicsOutput;
|
|
EFI_GRAPHICS_OUTPUT_BLT_PIXEL *GraphicsOutputBlt;
|
|
EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *GraphicsOutputModeBuffer;
|
|
UINTN CurrentNumberOfGraphicsOutput;
|
|
UINTN CurrentNumberOfUgaDraw;
|
|
BOOLEAN HardwareNeedsStarting;
|
|
|
|
EFI_CONSOLE_CONTROL_PROTOCOL ConsoleControl;
|
|
|
|
UINTN CurrentNumberOfConsoles;
|
|
TEXT_OUT_AND_GOP_DATA *TextOutList;
|
|
UINTN TextOutListCount;
|
|
TEXT_OUT_SPLITTER_QUERY_DATA *TextOutQueryData;
|
|
UINTN TextOutQueryDataCount;
|
|
INT32 *TextOutModeMap;
|
|
|
|
EFI_CONSOLE_CONTROL_SCREEN_MODE ConsoleOutputMode;
|
|
|
|
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 GRAPHICS_OUTPUT_SPLITTER_PRIVATE_DATA_FROM_THIS(a) \
|
|
CR ((a), \
|
|
TEXT_OUT_SPLITTER_PRIVATE_DATA, \
|
|
GraphicsOutput, \
|
|
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
|
|
)
|
|
;
|
|
|
|
//
|
|
// Driver binding functions
|
|
//
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterAbsolutePointerDriverBindingSupported (
|
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
|
IN EFI_HANDLE ControllerHandle,
|
|
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterAbsolutePointerDriverBindingStart (
|
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
|
IN EFI_HANDLE ControllerHandle,
|
|
IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterAbsolutePointerDriverBindingStop (
|
|
IN EFI_DRIVER_BINDING_PROTOCOL *This,
|
|
IN EFI_HANDLE ControllerHandle,
|
|
IN UINTN NumberOfChildren,
|
|
IN EFI_HANDLE *ChildHandleBuffer
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
ConSplitterAbsolutePointerAddDevice (
|
|
IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private,
|
|
IN EFI_ABSOLUTE_POINTER_PROTOCOL *AbsolutePointer
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
ConSplitterAbsolutePointerDeleteDevice (
|
|
IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private,
|
|
IN EFI_ABSOLUTE_POINTER_PROTOCOL *AbsolutePointer
|
|
)
|
|
;
|
|
|
|
//
|
|
// Absolute Pointer protocol interfaces
|
|
//
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterAbsolutePointerReset (
|
|
IN EFI_ABSOLUTE_POINTER_PROTOCOL *This,
|
|
IN BOOLEAN ExtendedVerification
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
Resets the pointer device hardware.
|
|
|
|
Arguments:
|
|
This - Protocol instance pointer.
|
|
ExtendedVerification - Driver may perform diagnostics on reset.
|
|
|
|
Returns:
|
|
EFI_SUCCESS - The device was reset.
|
|
EFI_DEVICE_ERROR - The device is not functioning correctly and could
|
|
not be reset.
|
|
|
|
--*/
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterAbsolutePointerGetState (
|
|
IN EFI_ABSOLUTE_POINTER_PROTOCOL *This,
|
|
IN OUT EFI_ABSOLUTE_POINTER_STATE *State
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
Retrieves the current state of a pointer device.
|
|
|
|
Arguments:
|
|
This - Protocol instance pointer.
|
|
State - A pointer to the state information on the pointer device.
|
|
|
|
Returns:
|
|
EFI_SUCCESS - The state of the pointer device was returned in State..
|
|
EFI_NOT_READY - The state of the pointer device has not changed since the last call to
|
|
GetState().
|
|
EFI_DEVICE_ERROR - A device error occurred while attempting to retrieve the pointer
|
|
device's current state.
|
|
--*/
|
|
;
|
|
|
|
VOID
|
|
EFIAPI
|
|
ConSplitterAbsolutePointerWaitForInput (
|
|
IN EFI_EVENT Event,
|
|
IN VOID *Context
|
|
)
|
|
;
|
|
|
|
/**
|
|
Retrieves a Unicode string that is the user readable name of the driver.
|
|
|
|
This function retrieves the user readable name of a driver in the form of a
|
|
Unicode string. If the driver specified by This has a user readable name in
|
|
the language specified by Language, then a pointer to the driver name is
|
|
returned in DriverName, and EFI_SUCCESS is returned. If the driver specified
|
|
by This does not support the language specified by Language,
|
|
then EFI_UNSUPPORTED is returned.
|
|
|
|
@param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
|
EFI_COMPONENT_NAME_PROTOCOL instance.
|
|
|
|
@param Language[in] A pointer to a Null-terminated ASCII string
|
|
array indicating the language. This is the
|
|
language of the driver name that the caller is
|
|
requesting, and it must match one of the
|
|
languages specified in SupportedLanguages. The
|
|
number of languages supported by a driver is up
|
|
to the driver writer. Language is specified
|
|
in RFC 3066 or ISO 639-2 language code format.
|
|
|
|
@param DriverName[out] A pointer to the Unicode string to return.
|
|
This Unicode string is the name of the
|
|
driver specified by This in the language
|
|
specified by Language.
|
|
|
|
@retval EFI_SUCCESS The Unicode string for the Driver specified by
|
|
This and the language specified by Language was
|
|
returned in DriverName.
|
|
|
|
@retval EFI_INVALID_PARAMETER Language is NULL.
|
|
|
|
@retval EFI_INVALID_PARAMETER DriverName is NULL.
|
|
|
|
@retval EFI_UNSUPPORTED The driver specified by This does not support
|
|
the language specified by Language.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterComponentNameGetDriverName (
|
|
IN EFI_COMPONENT_NAME_PROTOCOL *This,
|
|
IN CHAR8 *Language,
|
|
OUT CHAR16 **DriverName
|
|
);
|
|
|
|
|
|
/**
|
|
Retrieves a Unicode string that is the user readable name of the controller
|
|
that is being managed by a driver.
|
|
|
|
This function retrieves the user readable name of the controller specified by
|
|
ControllerHandle and ChildHandle in the form of a Unicode string. If the
|
|
driver specified by This has a user readable name in the language specified by
|
|
Language, then a pointer to the controller name is returned in ControllerName,
|
|
and EFI_SUCCESS is returned. If the driver specified by This is not currently
|
|
managing the controller specified by ControllerHandle and ChildHandle,
|
|
then EFI_UNSUPPORTED is returned. If the driver specified by This does not
|
|
support the language specified by Language, then EFI_UNSUPPORTED is returned.
|
|
|
|
@param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
|
EFI_COMPONENT_NAME_PROTOCOL instance.
|
|
|
|
@param ControllerHandle[in] The handle of a controller that the driver
|
|
specified by This is managing. This handle
|
|
specifies the controller whose name is to be
|
|
returned.
|
|
|
|
@param ChildHandle[in] The handle of the child controller to retrieve
|
|
the name of. This is an optional parameter that
|
|
may be NULL. It will be NULL for device
|
|
drivers. It will also be NULL for a bus drivers
|
|
that wish to retrieve the name of the bus
|
|
controller. It will not be NULL for a bus
|
|
driver that wishes to retrieve the name of a
|
|
child controller.
|
|
|
|
@param Language[in] A pointer to a Null-terminated ASCII string
|
|
array indicating the language. This is the
|
|
language of the driver name that the caller is
|
|
requesting, and it must match one of the
|
|
languages specified in SupportedLanguages. The
|
|
number of languages supported by a driver is up
|
|
to the driver writer. Language is specified in
|
|
RFC 3066 or ISO 639-2 language code format.
|
|
|
|
@param ControllerName[out] A pointer to the Unicode string to return.
|
|
This Unicode string is the name of the
|
|
controller specified by ControllerHandle and
|
|
ChildHandle in the language specified by
|
|
Language from the point of view of the driver
|
|
specified by This.
|
|
|
|
@retval EFI_SUCCESS The Unicode string for the user readable name in
|
|
the language specified by Language for the
|
|
driver specified by This was returned in
|
|
DriverName.
|
|
|
|
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
|
|
|
|
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid
|
|
EFI_HANDLE.
|
|
|
|
@retval EFI_INVALID_PARAMETER Language is NULL.
|
|
|
|
@retval EFI_INVALID_PARAMETER ControllerName is NULL.
|
|
|
|
@retval EFI_UNSUPPORTED The driver specified by This is not currently
|
|
managing the controller specified by
|
|
ControllerHandle and ChildHandle.
|
|
|
|
@retval EFI_UNSUPPORTED The driver specified by This does not support
|
|
the language specified by Language.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterConInComponentNameGetControllerName (
|
|
IN EFI_COMPONENT_NAME_PROTOCOL *This,
|
|
IN EFI_HANDLE ControllerHandle,
|
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
|
IN CHAR8 *Language,
|
|
OUT CHAR16 **ControllerName
|
|
);
|
|
|
|
|
|
/**
|
|
Retrieves a Unicode string that is the user readable name of the controller
|
|
that is being managed by a driver.
|
|
|
|
This function retrieves the user readable name of the controller specified by
|
|
ControllerHandle and ChildHandle in the form of a Unicode string. If the
|
|
driver specified by This has a user readable name in the language specified by
|
|
Language, then a pointer to the controller name is returned in ControllerName,
|
|
and EFI_SUCCESS is returned. If the driver specified by This is not currently
|
|
managing the controller specified by ControllerHandle and ChildHandle,
|
|
then EFI_UNSUPPORTED is returned. If the driver specified by This does not
|
|
support the language specified by Language, then EFI_UNSUPPORTED is returned.
|
|
|
|
@param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
|
EFI_COMPONENT_NAME_PROTOCOL instance.
|
|
|
|
@param ControllerHandle[in] The handle of a controller that the driver
|
|
specified by This is managing. This handle
|
|
specifies the controller whose name is to be
|
|
returned.
|
|
|
|
@param ChildHandle[in] The handle of the child controller to retrieve
|
|
the name of. This is an optional parameter that
|
|
may be NULL. It will be NULL for device
|
|
drivers. It will also be NULL for a bus drivers
|
|
that wish to retrieve the name of the bus
|
|
controller. It will not be NULL for a bus
|
|
driver that wishes to retrieve the name of a
|
|
child controller.
|
|
|
|
@param Language[in] A pointer to a Null-terminated ASCII string
|
|
array indicating the language. This is the
|
|
language of the driver name that the caller is
|
|
requesting, and it must match one of the
|
|
languages specified in SupportedLanguages. The
|
|
number of languages supported by a driver is up
|
|
to the driver writer. Language is specified in
|
|
RFC 3066 or ISO 639-2 language code format.
|
|
|
|
@param ControllerName[out] A pointer to the Unicode string to return.
|
|
This Unicode string is the name of the
|
|
controller specified by ControllerHandle and
|
|
ChildHandle in the language specified by
|
|
Language from the point of view of the driver
|
|
specified by This.
|
|
|
|
@retval EFI_SUCCESS The Unicode string for the user readable name in
|
|
the language specified by Language for the
|
|
driver specified by This was returned in
|
|
DriverName.
|
|
|
|
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
|
|
|
|
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid
|
|
EFI_HANDLE.
|
|
|
|
@retval EFI_INVALID_PARAMETER Language is NULL.
|
|
|
|
@retval EFI_INVALID_PARAMETER ControllerName is NULL.
|
|
|
|
@retval EFI_UNSUPPORTED The driver specified by This is not currently
|
|
managing the controller specified by
|
|
ControllerHandle and ChildHandle.
|
|
|
|
@retval EFI_UNSUPPORTED The driver specified by This does not support
|
|
the language specified by Language.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterSimplePointerComponentNameGetControllerName (
|
|
IN EFI_COMPONENT_NAME_PROTOCOL *This,
|
|
IN EFI_HANDLE ControllerHandle,
|
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
|
IN CHAR8 *Language,
|
|
OUT CHAR16 **ControllerName
|
|
);
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterAbsolutePointerComponentNameGetControllerName (
|
|
IN EFI_COMPONENT_NAME_PROTOCOL *This,
|
|
IN EFI_HANDLE ControllerHandle,
|
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
|
IN CHAR8 *Language,
|
|
OUT CHAR16 **ControllerName
|
|
)
|
|
;
|
|
|
|
/**
|
|
Retrieves a Unicode string that is the user readable name of the controller
|
|
that is being managed by a driver.
|
|
|
|
This function retrieves the user readable name of the controller specified by
|
|
ControllerHandle and ChildHandle in the form of a Unicode string. If the
|
|
driver specified by This has a user readable name in the language specified by
|
|
Language, then a pointer to the controller name is returned in ControllerName,
|
|
and EFI_SUCCESS is returned. If the driver specified by This is not currently
|
|
managing the controller specified by ControllerHandle and ChildHandle,
|
|
then EFI_UNSUPPORTED is returned. If the driver specified by This does not
|
|
support the language specified by Language, then EFI_UNSUPPORTED is returned.
|
|
|
|
@param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
|
EFI_COMPONENT_NAME_PROTOCOL instance.
|
|
|
|
@param ControllerHandle[in] The handle of a controller that the driver
|
|
specified by This is managing. This handle
|
|
specifies the controller whose name is to be
|
|
returned.
|
|
|
|
@param ChildHandle[in] The handle of the child controller to retrieve
|
|
the name of. This is an optional parameter that
|
|
may be NULL. It will be NULL for device
|
|
drivers. It will also be NULL for a bus drivers
|
|
that wish to retrieve the name of the bus
|
|
controller. It will not be NULL for a bus
|
|
driver that wishes to retrieve the name of a
|
|
child controller.
|
|
|
|
@param Language[in] A pointer to a Null-terminated ASCII string
|
|
array indicating the language. This is the
|
|
language of the driver name that the caller is
|
|
requesting, and it must match one of the
|
|
languages specified in SupportedLanguages. The
|
|
number of languages supported by a driver is up
|
|
to the driver writer. Language is specified in
|
|
RFC 3066 or ISO 639-2 language code format.
|
|
|
|
@param ControllerName[out] A pointer to the Unicode string to return.
|
|
This Unicode string is the name of the
|
|
controller specified by ControllerHandle and
|
|
ChildHandle in the language specified by
|
|
Language from the point of view of the driver
|
|
specified by This.
|
|
|
|
@retval EFI_SUCCESS The Unicode string for the user readable name in
|
|
the language specified by Language for the
|
|
driver specified by This was returned in
|
|
DriverName.
|
|
|
|
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
|
|
|
|
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid
|
|
EFI_HANDLE.
|
|
|
|
@retval EFI_INVALID_PARAMETER Language is NULL.
|
|
|
|
@retval EFI_INVALID_PARAMETER ControllerName is NULL.
|
|
|
|
@retval EFI_UNSUPPORTED The driver specified by This is not currently
|
|
managing the controller specified by
|
|
ControllerHandle and ChildHandle.
|
|
|
|
@retval EFI_UNSUPPORTED The driver specified by This does not support
|
|
the language specified by Language.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterConOutComponentNameGetControllerName (
|
|
IN EFI_COMPONENT_NAME_PROTOCOL *This,
|
|
IN EFI_HANDLE ControllerHandle,
|
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
|
IN CHAR8 *Language,
|
|
OUT CHAR16 **ControllerName
|
|
);
|
|
|
|
|
|
/**
|
|
Retrieves a Unicode string that is the user readable name of the controller
|
|
that is being managed by a driver.
|
|
|
|
This function retrieves the user readable name of the controller specified by
|
|
ControllerHandle and ChildHandle in the form of a Unicode string. If the
|
|
driver specified by This has a user readable name in the language specified by
|
|
Language, then a pointer to the controller name is returned in ControllerName,
|
|
and EFI_SUCCESS is returned. If the driver specified by This is not currently
|
|
managing the controller specified by ControllerHandle and ChildHandle,
|
|
then EFI_UNSUPPORTED is returned. If the driver specified by This does not
|
|
support the language specified by Language, then EFI_UNSUPPORTED is returned.
|
|
|
|
@param This[in] A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or
|
|
EFI_COMPONENT_NAME_PROTOCOL instance.
|
|
|
|
@param ControllerHandle[in] The handle of a controller that the driver
|
|
specified by This is managing. This handle
|
|
specifies the controller whose name is to be
|
|
returned.
|
|
|
|
@param ChildHandle[in] The handle of the child controller to retrieve
|
|
the name of. This is an optional parameter that
|
|
may be NULL. It will be NULL for device
|
|
drivers. It will also be NULL for a bus drivers
|
|
that wish to retrieve the name of the bus
|
|
controller. It will not be NULL for a bus
|
|
driver that wishes to retrieve the name of a
|
|
child controller.
|
|
|
|
@param Language[in] A pointer to a Null-terminated ASCII string
|
|
array indicating the language. This is the
|
|
language of the driver name that the caller is
|
|
requesting, and it must match one of the
|
|
languages specified in SupportedLanguages. The
|
|
number of languages supported by a driver is up
|
|
to the driver writer. Language is specified in
|
|
RFC 3066 or ISO 639-2 language code format.
|
|
|
|
@param ControllerName[out] A pointer to the Unicode string to return.
|
|
This Unicode string is the name of the
|
|
controller specified by ControllerHandle and
|
|
ChildHandle in the language specified by
|
|
Language from the point of view of the driver
|
|
specified by This.
|
|
|
|
@retval EFI_SUCCESS The Unicode string for the user readable name in
|
|
the language specified by Language for the
|
|
driver specified by This was returned in
|
|
DriverName.
|
|
|
|
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
|
|
|
|
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid
|
|
EFI_HANDLE.
|
|
|
|
@retval EFI_INVALID_PARAMETER Language is NULL.
|
|
|
|
@retval EFI_INVALID_PARAMETER ControllerName is NULL.
|
|
|
|
@retval EFI_UNSUPPORTED The driver specified by This is not currently
|
|
managing the controller specified by
|
|
ControllerHandle and ChildHandle.
|
|
|
|
@retval EFI_UNSUPPORTED The driver specified by This does not support
|
|
the language specified by Language.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterStdErrComponentNameGetControllerName (
|
|
IN EFI_COMPONENT_NAME_PROTOCOL *This,
|
|
IN EFI_HANDLE ControllerHandle,
|
|
IN EFI_HANDLE ChildHandle OPTIONAL,
|
|
IN CHAR8 *Language,
|
|
OUT CHAR16 **ControllerName
|
|
);
|
|
|
|
|
|
//
|
|
// TextIn Constructor/Destructor functions
|
|
//
|
|
EFI_STATUS
|
|
ConSplitterTextInAddDevice (
|
|
IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private,
|
|
IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextIn
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
ConSplitterTextInDeleteDevice (
|
|
IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private,
|
|
IN EFI_SIMPLE_TEXT_INPUT_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_OUTPUT_PROTOCOL *TextOut,
|
|
IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,
|
|
IN EFI_UGA_DRAW_PROTOCOL *UgaDraw
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
ConSplitterTextOutDeleteDevice (
|
|
IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,
|
|
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *TextOut
|
|
)
|
|
;
|
|
|
|
//
|
|
// TextIn I/O Functions
|
|
//
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextInReset (
|
|
IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,
|
|
IN BOOLEAN ExtendedVerification
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextInReadKeyStroke (
|
|
IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,
|
|
OUT EFI_INPUT_KEY *Key
|
|
)
|
|
;
|
|
EFI_STATUS
|
|
ConSplitterTextInExAddDevice (
|
|
IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private,
|
|
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInEx
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
ConSplitterTextInExDeleteDevice (
|
|
IN TEXT_IN_SPLITTER_PRIVATE_DATA *Private,
|
|
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInEx
|
|
)
|
|
;
|
|
|
|
//
|
|
// Simple Text Input Ex protocol function prototypes
|
|
//
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextInResetEx (
|
|
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
|
|
IN BOOLEAN ExtendedVerification
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
Reset the input device and optionaly run diagnostics
|
|
|
|
Arguments:
|
|
This - Protocol instance pointer.
|
|
ExtendedVerification - Driver may perform diagnostics on reset.
|
|
|
|
Returns:
|
|
EFI_SUCCESS - The device was reset.
|
|
EFI_DEVICE_ERROR - The device is not functioning properly and could
|
|
not be reset.
|
|
|
|
--*/
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextInReadKeyStrokeEx (
|
|
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
|
|
OUT EFI_KEY_DATA *KeyData
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
Reads the next keystroke from the input device. The WaitForKey Event can
|
|
be used to test for existance of a keystroke via WaitForEvent () call.
|
|
|
|
Arguments:
|
|
This - Protocol instance pointer.
|
|
KeyData - A pointer to a buffer that is filled in with the keystroke
|
|
state data for the key that was pressed.
|
|
|
|
Returns:
|
|
EFI_SUCCESS - The keystroke information was returned.
|
|
EFI_NOT_READY - There was no keystroke data availiable.
|
|
EFI_DEVICE_ERROR - The keystroke information was not returned due to
|
|
hardware errors.
|
|
EFI_INVALID_PARAMETER - KeyData is NULL.
|
|
|
|
--*/
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextInSetState (
|
|
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
|
|
IN EFI_KEY_TOGGLE_STATE *KeyToggleState
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
Set certain state for the input device.
|
|
|
|
Arguments:
|
|
This - Protocol instance pointer.
|
|
KeyToggleState - A pointer to the EFI_KEY_TOGGLE_STATE to set the
|
|
state for the input device.
|
|
|
|
Returns:
|
|
EFI_SUCCESS - The device state was set successfully.
|
|
EFI_DEVICE_ERROR - The device is not functioning correctly and could
|
|
not have the setting adjusted.
|
|
EFI_UNSUPPORTED - The device does not have the ability to set its state.
|
|
EFI_INVALID_PARAMETER - KeyToggleState is NULL.
|
|
|
|
--*/
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextInRegisterKeyNotify (
|
|
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
|
|
IN EFI_KEY_DATA *KeyData,
|
|
IN EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction,
|
|
OUT EFI_HANDLE *NotifyHandle
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
Register a notification function for a particular keystroke for the input device.
|
|
|
|
Arguments:
|
|
This - Protocol instance pointer.
|
|
KeyData - A pointer to a buffer that is filled in with the keystroke
|
|
information data for the key that was pressed.
|
|
KeyNotificationFunction - Points to the function to be called when the key
|
|
sequence is typed specified by KeyData.
|
|
NotifyHandle - Points to the unique handle assigned to the registered notification.
|
|
|
|
Returns:
|
|
EFI_SUCCESS - The notification function was registered successfully.
|
|
EFI_OUT_OF_RESOURCES - Unable to allocate resources for necesssary data structures.
|
|
EFI_INVALID_PARAMETER - KeyData or NotifyHandle is NULL.
|
|
|
|
--*/
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextInUnregisterKeyNotify (
|
|
IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,
|
|
IN EFI_HANDLE NotificationHandle
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
Remove a registered notification function from a particular keystroke.
|
|
|
|
Arguments:
|
|
This - Protocol instance pointer.
|
|
NotificationHandle - The handle of the notification function being unregistered.
|
|
|
|
Returns:
|
|
EFI_SUCCESS - The notification function was unregistered successfully.
|
|
EFI_INVALID_PARAMETER - The NotificationHandle is invalid.
|
|
EFI_NOT_FOUND - Can not find the matching entry in database.
|
|
|
|
--*/
|
|
;
|
|
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_OUTPUT_PROTOCOL *This,
|
|
IN BOOLEAN ExtendedVerification
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextOutOutputString (
|
|
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
|
IN CHAR16 *WString
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextOutTestString (
|
|
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
|
IN CHAR16 *WString
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextOutQueryMode (
|
|
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
|
IN UINTN ModeNumber,
|
|
OUT UINTN *Columns,
|
|
OUT UINTN *Rows
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextOutSetMode (
|
|
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
|
IN UINTN ModeNumber
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextOutSetAttribute (
|
|
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
|
IN UINTN Attribute
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextOutClearScreen (
|
|
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextOutSetCursorPosition (
|
|
IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,
|
|
IN UINTN Column,
|
|
IN UINTN Row
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSplitterTextOutEnableCursor (
|
|
IN EFI_SIMPLE_TEXT_OUTPUT_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 *GopExists,
|
|
OUT BOOLEAN *StdInLocked
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSpliterConsoleControlSetMode (
|
|
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
|
|
IN EFI_CONSOLE_CONTROL_SCREEN_MODE Mode
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSpliterGraphicsOutputQueryMode (
|
|
IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,
|
|
IN UINT32 ModeNumber,
|
|
OUT UINTN *SizeOfInfo,
|
|
OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSpliterGraphicsOutputSetMode (
|
|
IN EFI_GRAPHICS_OUTPUT_PROTOCOL * This,
|
|
IN UINT32 ModeNumber
|
|
)
|
|
;
|
|
|
|
EFI_STATUS
|
|
EFIAPI
|
|
ConSpliterGraphicsOutputBlt (
|
|
IN EFI_GRAPHICS_OUTPUT_PROTOCOL *This,
|
|
IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, OPTIONAL
|
|
IN EFI_GRAPHICS_OUTPUT_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
|
|
DevNullGopSync (
|
|
IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private,
|
|
IN EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,
|
|
IN EFI_UGA_DRAW_PROTOCOL *UgaDraw
|
|
)
|
|
;
|
|
|
|
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_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput,
|
|
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
|
|
DevNullSyncStdOut (
|
|
IN TEXT_OUT_SPLITTER_PRIVATE_DATA *Private
|
|
)
|
|
;
|
|
|
|
#endif
|