TianoCore EDK2 master
Loading...
Searching...
No Matches
Terminal.h File Reference

Go to the source code of this file.

Data Structures

struct  RAW_DATA_FIFO
 
struct  UNICODE_FIFO
 
struct  EFI_KEY_FIFO
 
struct  TERMINAL_CONSOLE_MODE_DATA
 
struct  _TERMINAL_CONSOLE_IN_EX_NOTIFY
 
struct  TERMINAL_DEV
 
union  UTF8_CHAR
 
struct  UNICODE_TO_CHAR
 

Macros

#define RAW_FIFO_MAX_NUMBER   255
 
#define FIFO_MAX_NUMBER   128
 
#define KEYBOARD_TIMER_INTERVAL   200000
 
#define TERMINAL_DEV_SIGNATURE   SIGNATURE_32 ('t', 'm', 'n', 'l')
 
#define TERMINAL_CONSOLE_IN_EX_NOTIFY_SIGNATURE   SIGNATURE_32 ('t', 'm', 'e', 'n')
 
#define INPUT_STATE_DEFAULT   0x00
 
#define INPUT_STATE_ESC   0x01
 
#define INPUT_STATE_CSI   0x02
 
#define INPUT_STATE_LEFTOPENBRACKET   0x04
 
#define INPUT_STATE_O   0x08
 
#define INPUT_STATE_2   0x10
 
#define INPUT_STATE_LEFTOPENBRACKET_TTY   0x20
 
#define INPUT_STATE_1   0x40
 
#define INPUT_STATE_LEFTOPENBRACKET_2ND   0x80
 
#define RESET_STATE_DEFAULT   0x00
 
#define RESET_STATE_ESC_R   0x01
 
#define RESET_STATE_ESC_R_ESC_R   0x02
 
#define TERMINAL_CON_IN_DEV_FROM_THIS(a)   CR (a, TERMINAL_DEV, SimpleInput, TERMINAL_DEV_SIGNATURE)
 
#define TERMINAL_CON_OUT_DEV_FROM_THIS(a)   CR (a, TERMINAL_DEV, SimpleTextOutput, TERMINAL_DEV_SIGNATURE)
 
#define TERMINAL_CON_IN_EX_DEV_FROM_THIS(a)   CR (a, TERMINAL_DEV, SimpleInputEx, TERMINAL_DEV_SIGNATURE)
 
#define LEFTOPENBRACKET   0x5b
 
#define ACAP   0x41
 
#define BCAP   0x42
 
#define CCAP   0x43
 
#define DCAP   0x44
 
#define BACKSPACE   8
 
#define ESC   27
 
#define CSI   0x9B
 
#define DEL   127
 
#define BRIGHT_CONTROL_OFFSET   2
 
#define FOREGROUND_CONTROL_OFFSET   6
 
#define BACKGROUND_CONTROL_OFFSET   11
 
#define ROW_OFFSET   2
 
#define COLUMN_OFFSET   5
 
#define FW_BACK_OFFSET   2
 

Typedefs

typedef struct _TERMINAL_CONSOLE_IN_EX_NOTIFY TERMINAL_CONSOLE_IN_EX_NOTIFY
 

Enumerations

enum  TERMINAL_TYPE {
  TerminalTypePcAnsi , TerminalTypeVt100 , TerminalTypeVt100Plus , TerminalTypeVtUtf8 ,
  TerminalTypeTtyTerm , TerminalTypeLinux , TerminalTypeXtermR6 , TerminalTypeVt400 ,
  TerminalTypeSCO
}
 

Functions

EFI_STATUS EFIAPI InitializeTerminal (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
 
EFI_STATUS EFIAPI TerminalConInReset (IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
 
EFI_STATUS EFIAPI TerminalConInReadKeyStroke (IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This, OUT EFI_INPUT_KEY *Key)
 
BOOLEAN IsKeyRegistered (IN EFI_KEY_DATA *RegsiteredData, IN EFI_KEY_DATA *InputData)
 
VOID EFIAPI TerminalConInWaitForKeyEx (IN EFI_EVENT Event, IN VOID *Context)
 
EFI_STATUS EFIAPI TerminalConInResetEx (IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
 
EFI_STATUS EFIAPI TerminalConInReadKeyStrokeEx (IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, OUT EFI_KEY_DATA *KeyData)
 
EFI_STATUS EFIAPI TerminalConInSetState (IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, IN EFI_KEY_TOGGLE_STATE *KeyToggleState)
 
EFI_STATUS EFIAPI TerminalConInRegisterKeyNotify (IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, IN EFI_KEY_DATA *KeyData, IN EFI_KEY_NOTIFY_FUNCTION KeyNotificationFunction, OUT VOID **NotifyHandle)
 
EFI_STATUS EFIAPI TerminalConInUnregisterKeyNotify (IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This, IN VOID *NotificationHandle)
 
VOID EFIAPI TerminalConInWaitForKey (IN EFI_EVENT Event, IN VOID *Context)
 
EFI_STATUS EFIAPI TerminalConOutReset (IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN BOOLEAN ExtendedVerification)
 
EFI_STATUS EFIAPI TerminalConOutOutputString (IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *WString)
 
EFI_STATUS EFIAPI TerminalConOutTestString (IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN CHAR16 *WString)
 
EFI_STATUS EFIAPI TerminalConOutQueryMode (IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber, OUT UINTN *Columns, OUT UINTN *Rows)
 
EFI_STATUS EFIAPI TerminalConOutSetMode (IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN ModeNumber)
 
EFI_STATUS EFIAPI TerminalConOutSetAttribute (IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Attribute)
 
EFI_STATUS EFIAPI TerminalConOutClearScreen (IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This)
 
EFI_STATUS EFIAPI TerminalConOutSetCursorPosition (IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN UINTN Column, IN UINTN Row)
 
EFI_STATUS EFIAPI TerminalConOutEnableCursor (IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, IN BOOLEAN Visible)
 
EFI_STATUS EFIAPI TerminalDriverBindingSupported (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
 
EFI_STATUS EFIAPI TerminalDriverBindingStart (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath)
 
EFI_STATUS EFIAPI TerminalDriverBindingStop (IN EFI_DRIVER_BINDING_PROTOCOL *This, IN EFI_HANDLE Controller, IN UINTN NumberOfChildren, IN EFI_HANDLE *ChildHandleBuffer)
 
EFI_STATUS TerminalFreeNotifyList (IN OUT LIST_ENTRY *ListHead)
 
EFI_STATUS EFIAPI TerminalComponentNameGetDriverName (IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName)
 
EFI_STATUS EFIAPI TerminalComponentNameGetControllerName (IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName)
 
EFI_STATUS TerminalConInCheckForKey (IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This)
 
VOID TerminalUpdateConsoleDevVariable (IN CHAR16 *VariableName, IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath)
 
VOID TerminalRemoveConsoleDevVariable (IN CHAR16 *VariableName, IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath)
 
EFI_STATUS SetTerminalDevicePath (IN TERMINAL_TYPE TerminalType, IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath, OUT EFI_DEVICE_PATH_PROTOCOL **TerminalDevicePath)
 
EFI_STATUS GetOneKeyFromSerial (EFI_SERIAL_IO_PROTOCOL *SerialIo, UINT8 *Input)
 
BOOLEAN RawFiFoInsertOneKey (TERMINAL_DEV *TerminalDevice, UINT8 Input)
 
BOOLEAN RawFiFoRemoveOneKey (TERMINAL_DEV *TerminalDevice, UINT8 *Output)
 
BOOLEAN IsRawFiFoEmpty (TERMINAL_DEV *TerminalDevice)
 
BOOLEAN IsRawFiFoFull (TERMINAL_DEV *TerminalDevice)
 
BOOLEAN EfiKeyFiFoForNotifyInsertOneKey (EFI_KEY_FIFO *EfiKeyFiFo, EFI_INPUT_KEY *Input)
 
BOOLEAN EfiKeyFiFoForNotifyRemoveOneKey (EFI_KEY_FIFO *EfiKeyFiFo, EFI_INPUT_KEY *Output)
 
BOOLEAN IsEfiKeyFiFoForNotifyEmpty (IN EFI_KEY_FIFO *EfiKeyFiFo)
 
BOOLEAN IsEfiKeyFiFoForNotifyFull (EFI_KEY_FIFO *EfiKeyFiFo)
 
BOOLEAN EfiKeyFiFoInsertOneKey (TERMINAL_DEV *TerminalDevice, EFI_INPUT_KEY *Key)
 
BOOLEAN EfiKeyFiFoRemoveOneKey (TERMINAL_DEV *TerminalDevice, EFI_INPUT_KEY *Output)
 
BOOLEAN IsEfiKeyFiFoEmpty (TERMINAL_DEV *TerminalDevice)
 
BOOLEAN IsEfiKeyFiFoFull (TERMINAL_DEV *TerminalDevice)
 
BOOLEAN UnicodeFiFoInsertOneKey (TERMINAL_DEV *TerminalDevice, UINT16 Input)
 
VOID UnicodeFiFoRemoveOneKey (TERMINAL_DEV *TerminalDevice, UINT16 *Output)
 
BOOLEAN IsUnicodeFiFoEmpty (TERMINAL_DEV *TerminalDevice)
 
BOOLEAN IsUnicodeFiFoFull (TERMINAL_DEV *TerminalDevice)
 
VOID TranslateRawDataToEfiKey (IN TERMINAL_DEV *TerminalDevice)
 
VOID AnsiRawDataToUnicode (IN TERMINAL_DEV *TerminalDevice)
 
VOID UnicodeToEfiKey (IN TERMINAL_DEV *TerminalDevice)
 
EFI_STATUS AnsiTestString (IN TERMINAL_DEV *TerminalDevice, IN CHAR16 *WString)
 
VOID VTUTF8RawDataToUnicode (IN TERMINAL_DEV *VtUtf8Device)
 
EFI_STATUS VTUTF8TestString (IN TERMINAL_DEV *TerminalDevice, IN CHAR16 *WString)
 
VOID UnicodeToUtf8 (IN CHAR16 Unicode, OUT UTF8_CHAR *Utf8Char, OUT UINT8 *ValidBytes)
 
VOID GetOneValidUtf8Char (IN TERMINAL_DEV *Utf8Device, OUT UTF8_CHAR *Utf8Char, OUT UINT8 *ValidBytes)
 
VOID Utf8ToUnicode (IN UTF8_CHAR Utf8Char, IN UINT8 ValidBytes, OUT CHAR16 *UnicodeChar)
 
BOOLEAN TerminalIsValidTextGraphics (IN CHAR16 Graphic, OUT CHAR8 *PcAnsi OPTIONAL, OUT CHAR8 *Ascii OPTIONAL)
 
BOOLEAN TerminalIsValidAscii (IN CHAR16 Ascii)
 
BOOLEAN TerminalIsValidEfiCntlChar (IN CHAR16 CharC)
 
BOOLEAN IsHotPlugDevice (IN EFI_DEVICE_PATH_PROTOCOL *DevicePath)
 
VOID EFIAPI TerminalConInTimerHandler (IN EFI_EVENT Event, IN VOID *Context)
 
VOID EFIAPI KeyNotifyProcessHandler (IN EFI_EVENT Event, IN VOID *Context)
 

Variables

EFI_DRIVER_BINDING_PROTOCOL gTerminalDriverBinding
 
EFI_COMPONENT_NAME_PROTOCOL gTerminalComponentName
 
EFI_COMPONENT_NAME2_PROTOCOL gTerminalComponentName2
 

Detailed Description

Header file for Terminal driver.

Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.
Copyright (C) 2016 Silicon Graphics, Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file Terminal.h.

Macro Definition Documentation

◆ ACAP

#define ACAP   0x41

Definition at line 150 of file Terminal.h.

◆ BACKGROUND_CONTROL_OFFSET

#define BACKGROUND_CONTROL_OFFSET   11

Definition at line 161 of file Terminal.h.

◆ BACKSPACE

#define BACKSPACE   8

Definition at line 155 of file Terminal.h.

◆ BCAP

#define BCAP   0x42

Definition at line 151 of file Terminal.h.

◆ BRIGHT_CONTROL_OFFSET

#define BRIGHT_CONTROL_OFFSET   2

Definition at line 159 of file Terminal.h.

◆ CCAP

#define CCAP   0x43

Definition at line 152 of file Terminal.h.

◆ COLUMN_OFFSET

#define COLUMN_OFFSET   5

Definition at line 163 of file Terminal.h.

◆ CSI

#define CSI   0x9B

Definition at line 157 of file Terminal.h.

◆ DCAP

#define DCAP   0x44

Definition at line 153 of file Terminal.h.

◆ DEL

#define DEL   127

Definition at line 158 of file Terminal.h.

◆ ESC

#define ESC   27

Definition at line 156 of file Terminal.h.

◆ FIFO_MAX_NUMBER

#define FIFO_MAX_NUMBER   128

Definition at line 39 of file Terminal.h.

◆ FOREGROUND_CONTROL_OFFSET

#define FOREGROUND_CONTROL_OFFSET   6

Definition at line 160 of file Terminal.h.

◆ FW_BACK_OFFSET

#define FW_BACK_OFFSET   2

Definition at line 164 of file Terminal.h.

◆ INPUT_STATE_1

#define INPUT_STATE_1   0x40

Definition at line 132 of file Terminal.h.

◆ INPUT_STATE_2

#define INPUT_STATE_2   0x10

Definition at line 130 of file Terminal.h.

◆ INPUT_STATE_CSI

#define INPUT_STATE_CSI   0x02

Definition at line 127 of file Terminal.h.

◆ INPUT_STATE_DEFAULT

#define INPUT_STATE_DEFAULT   0x00

Definition at line 125 of file Terminal.h.

◆ INPUT_STATE_ESC

#define INPUT_STATE_ESC   0x01

Definition at line 126 of file Terminal.h.

◆ INPUT_STATE_LEFTOPENBRACKET

#define INPUT_STATE_LEFTOPENBRACKET   0x04

Definition at line 128 of file Terminal.h.

◆ INPUT_STATE_LEFTOPENBRACKET_2ND

#define INPUT_STATE_LEFTOPENBRACKET_2ND   0x80

Definition at line 133 of file Terminal.h.

◆ INPUT_STATE_LEFTOPENBRACKET_TTY

#define INPUT_STATE_LEFTOPENBRACKET_TTY   0x20

Definition at line 131 of file Terminal.h.

◆ INPUT_STATE_O

#define INPUT_STATE_O   0x08

Definition at line 129 of file Terminal.h.

◆ KEYBOARD_TIMER_INTERVAL

#define KEYBOARD_TIMER_INTERVAL   200000

Definition at line 64 of file Terminal.h.

◆ LEFTOPENBRACKET

#define LEFTOPENBRACKET   0x5b

Definition at line 149 of file Terminal.h.

◆ RAW_FIFO_MAX_NUMBER

#define RAW_FIFO_MAX_NUMBER   255

Definition at line 38 of file Terminal.h.

◆ RESET_STATE_DEFAULT

#define RESET_STATE_DEFAULT   0x00

Definition at line 135 of file Terminal.h.

◆ RESET_STATE_ESC_R

#define RESET_STATE_ESC_R   0x01

Definition at line 136 of file Terminal.h.

◆ RESET_STATE_ESC_R_ESC_R

#define RESET_STATE_ESC_R_ESC_R   0x02

Definition at line 137 of file Terminal.h.

◆ ROW_OFFSET

#define ROW_OFFSET   2

Definition at line 162 of file Terminal.h.

◆ TERMINAL_CON_IN_DEV_FROM_THIS

#define TERMINAL_CON_IN_DEV_FROM_THIS (   a)    CR (a, TERMINAL_DEV, SimpleInput, TERMINAL_DEV_SIGNATURE)

Definition at line 139 of file Terminal.h.

◆ TERMINAL_CON_IN_EX_DEV_FROM_THIS

#define TERMINAL_CON_IN_EX_DEV_FROM_THIS (   a)    CR (a, TERMINAL_DEV, SimpleInputEx, TERMINAL_DEV_SIGNATURE)

Definition at line 141 of file Terminal.h.

◆ TERMINAL_CON_OUT_DEV_FROM_THIS

#define TERMINAL_CON_OUT_DEV_FROM_THIS (   a)    CR (a, TERMINAL_DEV, SimpleTextOutput, TERMINAL_DEV_SIGNATURE)

Definition at line 140 of file Terminal.h.

◆ TERMINAL_CONSOLE_IN_EX_NOTIFY_SIGNATURE

#define TERMINAL_CONSOLE_IN_EX_NOTIFY_SIGNATURE   SIGNATURE_32 ('t', 'm', 'e', 'n')

Definition at line 68 of file Terminal.h.

◆ TERMINAL_DEV_SIGNATURE

#define TERMINAL_DEV_SIGNATURE   SIGNATURE_32 ('t', 'm', 'n', 'l')

Definition at line 66 of file Terminal.h.

Enumeration Type Documentation

◆ TERMINAL_TYPE

enum TERMINAL_TYPE

Definition at line 77 of file Terminal.h.

Function Documentation

◆ AnsiRawDataToUnicode()

VOID AnsiRawDataToUnicode ( IN TERMINAL_DEV TerminalDevice)

Translate all raw data in the Raw FIFI into unicode, and insert them into Unicode FIFO.

Parameters
TerminalDeviceThe terminal device.

Translate all raw data in the Raw FIFO into unicode, and insert them into Unicode FIFO.

Parameters
TerminalDeviceThe terminal device.

Definition at line 19 of file Ansi.c.

◆ AnsiTestString()

EFI_STATUS AnsiTestString ( IN TERMINAL_DEV TerminalDevice,
IN CHAR16 *  WString 
)

Check if input string is valid Ascii string, valid EFI control characters or valid text graphics.

Parameters
TerminalDeviceThe terminal device.
WStringThe input string.
Return values
EFI_UNSUPPORTEDIf not all input characters are valid.
EFI_SUCCESSIf all input characters are valid.

Definition at line 49 of file Ansi.c.

◆ EfiKeyFiFoForNotifyInsertOneKey()

BOOLEAN EfiKeyFiFoForNotifyInsertOneKey ( EFI_KEY_FIFO EfiKeyFiFo,
EFI_INPUT_KEY Input 
)

Insert one pre-fetched key into the FIFO buffer.

Parameters
EfiKeyFiFoPointer to instance of EFI_KEY_FIFO.
InputThe key will be input.
Return values
TRUEIf insert successfully.
FALSEIf FIFO buffer is full before key insertion, and the key is lost.

Definition at line 830 of file TerminalConIn.c.

◆ EfiKeyFiFoForNotifyRemoveOneKey()

BOOLEAN EfiKeyFiFoForNotifyRemoveOneKey ( EFI_KEY_FIFO EfiKeyFiFo,
EFI_INPUT_KEY Output 
)

Remove one pre-fetched key out of the FIFO buffer.

Parameters
EfiKeyFiFoPointer to instance of EFI_KEY_FIFO.
OutputThe key will be removed.
Return values
TRUEIf insert successfully.
FALSEIf FIFO buffer is empty before remove operation.

Remove one pre-fetched key out of the FIFO buffer.

Parameters
EfiKeyFiFoPointer to instance of EFI_KEY_FIFO.
OutputThe key will be removed.
Return values
TRUEIf remove successfully.
FALSEIf FIFO buffer is empty before remove operation.

Definition at line 864 of file TerminalConIn.c.

◆ EfiKeyFiFoInsertOneKey()

BOOLEAN EfiKeyFiFoInsertOneKey ( TERMINAL_DEV TerminalDevice,
EFI_INPUT_KEY Key 
)

Insert one pre-fetched key into the FIFO buffer.

Parameters
TerminalDeviceTerminal driver private structure.
KeyThe key will be input.
Return values
TRUEIf insert successfully.
FALSEIf FIFO buffer is full before key insertion, and the key is lost.

Definition at line 950 of file TerminalConIn.c.

◆ EfiKeyFiFoRemoveOneKey()

BOOLEAN EfiKeyFiFoRemoveOneKey ( TERMINAL_DEV TerminalDevice,
EFI_INPUT_KEY Output 
)

Remove one pre-fetched key out of the FIFO buffer.

Parameters
TerminalDeviceTerminal driver private structure.
OutputThe key will be removed.
Return values
TRUEIf insert successfully.
FALSEIf FIFO buffer is empty before remove operation.

Definition at line 1015 of file TerminalConIn.c.

◆ GetOneKeyFromSerial()

EFI_STATUS GetOneKeyFromSerial ( EFI_SERIAL_IO_PROTOCOL SerialIo,
UINT8 *  Output 
)

Get one key out of serial buffer.

Parameters
SerialIoSerial I/O protocl attached to the serial device.
InputThe fetched key.
Return values
EFI_NOT_READYIf serial buffer is empty.
EFI_DEVICE_ERRORIf reading serial buffer encounter error.
EFI_SUCCESSIf reading serial buffer successfully, put the fetched key to the parameter output.

Get one key out of serial buffer.

Parameters
SerialIoSerial I/O protocol attached to the serial device.
OutputThe fetched key.
Return values
EFI_NOT_READYIf serial buffer is empty.
EFI_DEVICE_ERRORIf reading serial buffer encounter error.
EFI_SUCCESSIf reading serial buffer successfully, put the fetched key to the parameter output.

Definition at line 669 of file TerminalConIn.c.

◆ GetOneValidUtf8Char()

VOID GetOneValidUtf8Char ( IN TERMINAL_DEV Utf8Device,
OUT UTF8_CHAR Utf8Char,
OUT UINT8 *  ValidBytes 
)

Get one valid VT-UTF8 characters set from Raw Data FIFO.

Parameters
Utf8DeviceThe terminal device.
Utf8CharReturned valid VT-UTF8 characters set.
ValidBytesThe count of returned VT-VTF8 characters. If ValidBytes is zero, no valid VT-UTF8 returned.

Definition at line 56 of file Vtutf8.c.

◆ InitializeTerminal()

EFI_STATUS EFIAPI InitializeTerminal ( IN EFI_HANDLE  ImageHandle,
IN EFI_SYSTEM_TABLE SystemTable 
)

The user Entry Point for module Terminal. The user code starts with this function.

Parameters
[in]ImageHandleThe firmware allocated handle for the EFI image.
[in]SystemTableA pointer to the EFI System Table.
Return values
EFI_SUCCESSThe entry point is executed successfully.
otherSome error occurs when executing this entry point.

The user Entry Point for module Terminal. The user code starts with this function.

Parameters
ImageHandleThe firmware allocated handle for the EFI image.
SystemTableA pointer to the EFI System Table.
Return values
EFI_SUCCESSThe entry point is executed successfully.
otherSome error occurs when executing this entry point.

Definition at line 1340 of file Terminal.c.

◆ IsEfiKeyFiFoEmpty()

BOOLEAN IsEfiKeyFiFoEmpty ( TERMINAL_DEV TerminalDevice)

Clarify whether FIFO buffer is empty.

Parameters
TerminalDeviceTerminal driver private structure
Return values
TRUEIf FIFO buffer is empty.
FALSEIf FIFO buffer is not empty.

Definition at line 1051 of file TerminalConIn.c.

◆ IsEfiKeyFiFoForNotifyEmpty()

BOOLEAN IsEfiKeyFiFoForNotifyEmpty ( IN EFI_KEY_FIFO EfiKeyFiFo)

Clarify whether FIFO buffer is empty.

Parameters
EfiKeyFiFoPointer to instance of EFI_KEY_FIFO.
Return values
TRUEIf FIFO buffer is empty.
FALSEIf FIFO buffer is not empty.

◆ IsEfiKeyFiFoForNotifyFull()

BOOLEAN IsEfiKeyFiFoForNotifyFull ( EFI_KEY_FIFO EfiKeyFiFo)

Clarify whether FIFO buffer is full.

Parameters
EfiKeyFiFoPointer to instance of EFI_KEY_FIFO.
Return values
TRUEIf FIFO buffer is full.
FALSEIf FIFO buffer is not full.

Definition at line 921 of file TerminalConIn.c.

◆ IsEfiKeyFiFoFull()

BOOLEAN IsEfiKeyFiFoFull ( TERMINAL_DEV TerminalDevice)

Clarify whether FIFO buffer is full.

Parameters
TerminalDeviceTerminal driver private structure
Return values
TRUEIf FIFO buffer is full.
FALSEIf FIFO buffer is not full.

Definition at line 1072 of file TerminalConIn.c.

◆ IsHotPlugDevice()

BOOLEAN IsHotPlugDevice ( IN EFI_DEVICE_PATH_PROTOCOL DevicePath)

Check if the device supports hot-plug through its device path.

This function could be updated to check more types of Hot Plug devices. Currently, it checks USB and PCCard device.

Parameters
DevicePathPointer to device's device path.
Return values
TRUEThe devcie is a hot-plug device
FALSEThe devcie is not a hot-plug device.

Definition at line 1376 of file Terminal.c.

◆ IsKeyRegistered()

BOOLEAN IsKeyRegistered ( IN EFI_KEY_DATA RegsiteredData,
IN EFI_KEY_DATA InputData 
)

Check if the key already has been registered.

Parameters
RegsiteredDataA pointer to a buffer that is filled in with the keystroke state data for the key that was registered.
InputDataA pointer to a buffer that is filled in with the keystroke state data for the key that was pressed.
Return values
TRUEKey be pressed matches a registered key.
FALSEMatch failed.

Judge whether is a registed key

Parameters
RegsiteredDataA pointer to a buffer that is filled in with the keystroke state data for the key that was registered.
InputDataA pointer to a buffer that is filled in with the keystroke state data for the key that was pressed.
Return values
TRUEKey be pressed matches a registered key.
FALSEMatch failed.

Judge whether is a registered key

Parameters
RegsiteredDataA pointer to a buffer that is filled in with the keystroke state data for the key that was registered.
InputDataA pointer to a buffer that is filled in with the keystroke state data for the key that was pressed.
Return values
TRUEKey be pressed matches a registered key.
FALSEMatch failed.

Check whether the pressed key matches a registered key or not.

Parameters
RegsiteredDataA pointer to keystroke data for the key that was registered.
InputDataA pointer to keystroke data for the key that was pressed.
Return values
TRUEKey pressed matches a registered key.
FALSEKey pressed does not matches a registered key.

Test if the key has been registered on input device.

Parameters
RegsiteredDataA pointer to a buffer that is filled in with the keystroke state data for the key that was registered.
InputDataA pointer to a buffer that is filled in with the keystroke state data for the key that was pressed.
Return values
TRUEKey be pressed matches a registered key.
FALSEMatch failed.

Check if the key already has been registered.

If both RegsiteredData and InputData is NULL, then ASSERT().

Parameters
RegsiteredDataA pointer to a buffer that is filled in with the keystroke state data for the key that was registered.
InputDataA pointer to a buffer that is filled in with the keystroke state data for the key that was pressed.
Return values
TRUEKey be pressed matches a registered key.
FALSEMatch failed.

Definition at line 448 of file VirtualKeyboard.c.

◆ IsRawFiFoEmpty()

BOOLEAN IsRawFiFoEmpty ( TERMINAL_DEV TerminalDevice)

Clarify whether Raw Data FIFO buffer is empty.

Parameters
TerminalDeviceTerminal driver private structure
Return values
TRUEIf Raw Data FIFO buffer is empty.
FALSEIf Raw Data FIFO buffer is not empty.

Definition at line 780 of file TerminalConIn.c.

◆ IsRawFiFoFull()

BOOLEAN IsRawFiFoFull ( TERMINAL_DEV TerminalDevice)

Clarify whether Raw Data FIFO buffer is full.

Parameters
TerminalDeviceTerminal driver private structure
Return values
TRUEIf Raw Data FIFO buffer is full.
FALSEIf Raw Data FIFO buffer is not full.

Definition at line 801 of file TerminalConIn.c.

◆ IsUnicodeFiFoEmpty()

BOOLEAN IsUnicodeFiFoEmpty ( TERMINAL_DEV TerminalDevice)

Clarify whether Unicode FIFO buffer is empty.

Parameters
TerminalDeviceTerminal driver private structure
Return values
TRUEIf Unicode FIFO buffer is empty.
FALSEIf Unicode FIFO buffer is not empty.

Definition at line 1160 of file TerminalConIn.c.

◆ IsUnicodeFiFoFull()

BOOLEAN IsUnicodeFiFoFull ( TERMINAL_DEV TerminalDevice)

Clarify whether Unicode FIFO buffer is full.

Parameters
TerminalDeviceTerminal driver private structure
Return values
TRUEIf Unicode FIFO buffer is full.
FALSEIf Unicode FIFO buffer is not full.

Definition at line 1181 of file TerminalConIn.c.

◆ KeyNotifyProcessHandler()

VOID EFIAPI KeyNotifyProcessHandler ( IN EFI_EVENT  Event,
IN VOID *  Context 
)

Process key notify.

Parameters
EventIndicates the event that invoke this function.
ContextIndicates the calling context.

Definition at line 1080 of file VirtualKeyboard.c.

◆ RawFiFoInsertOneKey()

BOOLEAN RawFiFoInsertOneKey ( TERMINAL_DEV TerminalDevice,
UINT8  Input 
)

Insert one byte raw data into the Raw Data FIFO.

Parameters
TerminalDeviceTerminal driver private structure.
InputThe key will be input.
Return values
TRUEIf insert successfully.
FALSEIf Raw Data buffer is full before key insertion, and the key is lost.

Definition at line 712 of file TerminalConIn.c.

◆ RawFiFoRemoveOneKey()

BOOLEAN RawFiFoRemoveOneKey ( TERMINAL_DEV TerminalDevice,
UINT8 *  Output 
)

Remove one pre-fetched key out of the Raw Data FIFO.

Parameters
TerminalDeviceTerminal driver private structure.
OutputThe key will be removed.
Return values
TRUEIf insert successfully.
FALSEIf Raw Data FIFO buffer is empty before remove operation.

Definition at line 746 of file TerminalConIn.c.

◆ SetTerminalDevicePath()

EFI_STATUS SetTerminalDevicePath ( IN TERMINAL_TYPE  TerminalType,
IN EFI_DEVICE_PATH_PROTOCOL ParentDevicePath,
OUT EFI_DEVICE_PATH_PROTOCOL **  TerminalDevicePath 
)

Build termial device path according to terminal type.

Parameters
TerminalTypeThe terminal type is PC ANSI, VT100, VT100+, VT-UTF8, TTY-Term, Linux, XtermR6, VT400 and SCO.
ParentDevicePathParent device path.
TerminalDevicePathReturned terminal device path, if building successfully.
Return values
EFI_UNSUPPORTEDTerminal does not belong to the supported type.
EFI_OUT_OF_RESOURCESGenerate terminal device path failed.
EFI_SUCCESSBuild terminal device path successfully.

Build terminal device path according to terminal type.

Parameters
TerminalTypeThe terminal type is PC ANSI, VT100, VT100+ or VT-UTF8.
ParentDevicePathParent device path.
TerminalDevicePathReturned terminal device path, if building successfully.
Return values
EFI_UNSUPPORTEDTerminal does not belong to the supported type.
EFI_OUT_OF_RESOURCESGenerate terminal device path failed.
EFI_SUCCESSBuild terminal device path successfully.

Definition at line 1299 of file Terminal.c.

◆ TerminalComponentNameGetControllerName()

EFI_STATUS EFIAPI TerminalComponentNameGetControllerName ( 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.

Parameters
This[in]A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or EFI_COMPONENT_NAME_PROTOCOL instance.
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.
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.
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 4646 or ISO 639-2 language code format.
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.
Return values
EFI_SUCCESSThe Unicode string for the user readable name in the language specified by Language for the driver specified by This was returned in DriverName.
EFI_INVALID_PARAMETERControllerHandle is NULL.
EFI_INVALID_PARAMETERChildHandle is not NULL and it is not a valid EFI_HANDLE.
EFI_INVALID_PARAMETERLanguage is NULL.
EFI_INVALID_PARAMETERControllerName is NULL.
EFI_UNSUPPORTEDThe driver specified by This is not currently managing the controller specified by ControllerHandle and ChildHandle.
EFI_UNSUPPORTEDThe driver specified by This does not support the language specified by Language.

Definition at line 166 of file ComponentName.c.

◆ TerminalComponentNameGetDriverName()

EFI_STATUS EFIAPI TerminalComponentNameGetDriverName ( IN EFI_COMPONENT_NAME_PROTOCOL This,
IN CHAR8 *  Language,
OUT CHAR16 **  DriverName 
)

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.

Parameters
This[in]A pointer to the EFI_COMPONENT_NAME2_PROTOCOL or EFI_COMPONENT_NAME_PROTOCOL instance.
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 4646 or ISO 639-2 language code format.
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.
Return values
EFI_SUCCESSThe Unicode string for the Driver specified by This and the language specified by Language was returned in DriverName.
EFI_INVALID_PARAMETERLanguage is NULL.
EFI_INVALID_PARAMETERDriverName is NULL.
EFI_UNSUPPORTEDThe driver specified by This does not support the language specified by Language.

Definition at line 81 of file ComponentName.c.

◆ TerminalConInCheckForKey()

EFI_STATUS TerminalConInCheckForKey ( IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL This)

Check for a pending key in the Efi Key FIFO or Serial device buffer.

Parameters
ThisIndicates the calling context.
Return values
EFI_SUCCESSThere is key pending.
EFI_NOT_READYThere is no key pending.
EFI_DEVICE_ERRORIf Serial IO is not attached to serial device.

◆ TerminalConInReadKeyStroke()

EFI_STATUS EFIAPI TerminalConInReadKeyStroke ( IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL This,
OUT EFI_INPUT_KEY Key 
)

Implements EFI_SIMPLE_TEXT_INPUT_PROTOCOL.ReadKeyStroke().

Parameters
ThisIndicates the calling context.
KeyA pointer to a buffer that is filled in with the keystroke information for the key that was sent from terminal.
Return values
EFI_SUCCESSThe keystroke information is returned successfully.
EFI_NOT_READYThere is no keystroke data available.
EFI_DEVICE_ERRORThe dependent serial device encounters error.
EFI_UNSUPPORTEDThe device does not support the ability to read keystroke data.

Definition at line 125 of file TerminalConIn.c.

◆ TerminalConInReadKeyStrokeEx()

EFI_STATUS EFIAPI TerminalConInReadKeyStrokeEx ( IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL This,
OUT EFI_KEY_DATA KeyData 
)

Reads the next keystroke from the input device. The WaitForKey Event can be used to test for existence of a keystroke via WaitForEvent () call.

Parameters
ThisProtocol instance pointer.
KeyDataA pointer to a buffer that is filled in with the keystroke state data for the key that was pressed.
Return values
EFI_SUCCESSThe keystroke information was returned.
EFI_NOT_READYThere was no keystroke data available.
EFI_DEVICE_ERRORThe keystroke information was not returned due to hardware errors.
EFI_INVALID_PARAMETERKeyData is NULL.
EFI_UNSUPPORTEDThe device does not support the ability to read keystroke data.

Definition at line 255 of file TerminalConIn.c.

◆ TerminalConInRegisterKeyNotify()

EFI_STATUS EFIAPI TerminalConInRegisterKeyNotify ( IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL This,
IN EFI_KEY_DATA KeyData,
IN EFI_KEY_NOTIFY_FUNCTION  KeyNotificationFunction,
OUT VOID **  NotifyHandle 
)

Register a notification function for a particular keystroke for the input device.

Parameters
ThisProtocol instance pointer.
KeyDataA pointer to a buffer that is filled in with the keystroke information data for the key that was pressed. If KeyData.Key, KeyData.KeyState.KeyToggleState and KeyData.KeyState.KeyShiftState are 0, then any incomplete keystroke will trigger a notification of the KeyNotificationFunction.
KeyNotificationFunctionPoints to the function to be called when the key sequence is typed specified by KeyData. This notification function should be called at <=TPL_CALLBACK.
NotifyHandlePoints to the unique handle assigned to the registered notification.
Return values
EFI_SUCCESSThe notification function was registered successfully.
EFI_OUT_OF_RESOURCESUnable to allocate resources for necesssary data structures.
EFI_INVALID_PARAMETERKeyData or NotifyHandle is NULL.

Register a notification function for a particular keystroke for the input device.

Parameters
ThisProtocol instance pointer.
KeyDataA pointer to a buffer that is filled in with the keystroke information for the key that was pressed. If KeyData.Key, KeyData.KeyState.KeyToggleState and KeyData.KeyState.KeyShiftState are 0, then any incomplete keystroke will trigger a notification of the KeyNotificationFunction.
KeyNotificationFunctionPoints to the function to be called when the key sequence is typed specified by KeyData. This notification function should be called at <=TPL_CALLBACK.
NotifyHandlePoints to the unique handle assigned to the registered notification.
Return values
EFI_SUCCESSThe notification function was registered successfully.
EFI_OUT_OF_RESOURCESUnable to allocate resources for necessary data structures.
EFI_INVALID_PARAMETERKeyData or NotifyHandle is NULL.

Definition at line 328 of file TerminalConIn.c.

◆ TerminalConInReset()

EFI_STATUS EFIAPI TerminalConInReset ( IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL This,
IN BOOLEAN  ExtendedVerification 
)

Implements EFI_SIMPLE_TEXT_INPUT_PROTOCOL.Reset(). This driver only perform dependent serial device reset regardless of the value of ExtendeVerification

Parameters
ThisIndicates the calling context.
ExtendedVerificationSkip by this driver.
Return values
EFI_SUCCESSThe reset operation succeeds.
EFI_DEVICE_ERRORThe dependent serial port reset fails.

Definition at line 61 of file TerminalConIn.c.

◆ TerminalConInResetEx()

EFI_STATUS EFIAPI TerminalConInResetEx ( IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL This,
IN BOOLEAN  ExtendedVerification 
)

Reset the input device and optionally run diagnostics

Parameters
ThisProtocol instance pointer.
ExtendedVerificationDriver may perform diagnostics on reset.
Return values
EFI_SUCCESSThe device was reset.
EFI_DEVICE_ERRORThe device is not functioning properly and could not be reset.

Definition at line 217 of file TerminalConIn.c.

◆ TerminalConInSetState()

EFI_STATUS EFIAPI TerminalConInSetState ( IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL This,
IN EFI_KEY_TOGGLE_STATE KeyToggleState 
)

Set certain state for the input device.

Parameters
ThisProtocol instance pointer.
KeyToggleStateA pointer to the EFI_KEY_TOGGLE_STATE to set the state for the input device.
Return values
EFI_SUCCESSThe device state was set successfully.
EFI_DEVICE_ERRORThe device is not functioning correctly and could not have the setting adjusted.
EFI_UNSUPPORTEDThe device does not have the ability to set its state.
EFI_INVALID_PARAMETERKeyToggleState is NULL.

Definition at line 288 of file TerminalConIn.c.

◆ TerminalConInTimerHandler()

VOID EFIAPI TerminalConInTimerHandler ( IN EFI_EVENT  Event,
IN VOID *  Context 
)

Timer handler to poll the key from serial.

Parameters
EventIndicates the event that invoke this function.
ContextIndicates the calling context.

Definition at line 513 of file TerminalConIn.c.

◆ TerminalConInUnregisterKeyNotify()

EFI_STATUS EFIAPI TerminalConInUnregisterKeyNotify ( IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL This,
IN VOID *  NotificationHandle 
)

Remove a registered notification function from a particular keystroke.

Parameters
ThisProtocol instance pointer.
NotificationHandleThe handle of the notification function being unregistered.
Return values
EFI_SUCCESSThe notification function was unregistered successfully.
EFI_INVALID_PARAMETERThe NotificationHandle is invalid.
EFI_NOT_FOUNDCan not find the matching entry in database.

Remove a registered notification function from a particular keystroke.

Parameters
ThisProtocol instance pointer.
NotificationHandleThe handle of the notification function being unregistered.
Return values
EFI_SUCCESSThe notification function was unregistered successfully.
EFI_INVALID_PARAMETERThe NotificationHandle is invalid.

Definition at line 398 of file TerminalConIn.c.

◆ TerminalConInWaitForKey()

VOID EFIAPI TerminalConInWaitForKey ( IN EFI_EVENT  Event,
IN VOID *  Context 
)

Event notification function for EFI_SIMPLE_TEXT_INPUT_PROTOCOL.WaitForKey event Signal the event if there is key available

Parameters
EventIndicates the event that invoke this function.
ContextIndicates the calling context.

Definition at line 491 of file TerminalConIn.c.

◆ TerminalConInWaitForKeyEx()

VOID EFIAPI TerminalConInWaitForKeyEx ( IN EFI_EVENT  Event,
IN VOID *  Context 
)

Event notification function for EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.WaitForKeyEx event Signal the event if there is key available

Parameters
EventIndicates the event that invoke this function.
ContextIndicates the calling context.

Definition at line 192 of file TerminalConIn.c.

◆ TerminalConOutClearScreen()

EFI_STATUS EFIAPI TerminalConOutClearScreen ( IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL This)

Implements EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.ClearScreen(). It clears the ANSI terminal's display to the currently selected background color.

Parameters
ThisIndicates the calling context.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_DEVICE_ERRORThe terminal screen cannot be cleared due to serial port error.
EFI_UNSUPPORTEDThe terminal is not in a valid display mode.

Definition at line 696 of file TerminalConOut.c.

◆ TerminalConOutEnableCursor()

EFI_STATUS EFIAPI TerminalConOutEnableCursor ( IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL This,
IN BOOLEAN  Visible 
)

Implements SIMPLE_TEXT_OUTPUT.EnableCursor(). In this driver, the cursor cannot be hidden.

Parameters
ThisIndicates the calling context.
VisibleIf TRUE, the cursor is set to be visible, If FALSE, the cursor is set to be invisible.
Return values
EFI_SUCCESSThe request is valid.
EFI_UNSUPPORTEDThe terminal does not support cursor hidden.

Definition at line 835 of file TerminalConOut.c.

◆ TerminalConOutOutputString()

EFI_STATUS EFIAPI TerminalConOutOutputString ( IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL This,
IN CHAR16 *  WString 
)

Implements EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.OutputString(). The Unicode string will be converted to terminal expressible data stream and send to terminal via serial port.

Parameters
ThisIndicates the calling context.
WStringThe Null-terminated Unicode string to be displayed on the terminal screen.
Return values
EFI_SUCCESSThe string is output successfully.
EFI_DEVICE_ERRORThe serial port fails to send the string out.
EFI_WARN_UNKNOWN_GLYPHIndicates that some of the characters in the Unicode string could not be rendered and are skipped.
EFI_UNSUPPORTEDIf current display mode is out of range.

Definition at line 169 of file TerminalConOut.c.

◆ TerminalConOutQueryMode()

EFI_STATUS EFIAPI TerminalConOutQueryMode ( IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL This,
IN UINTN  ModeNumber,
OUT UINTN Columns,
OUT UINTN Rows 
)

Implements EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.QueryMode(). It returns information for an available text mode that the terminal supports. In this driver, we support text mode 80x25 (mode 0), 80x50 (mode 1), 100x31 (mode 2).

Parameters
ThisIndicates the calling context.
ModeNumberThe mode number to return information on.
ColumnsThe returned columns of the requested mode.
RowsThe returned rows of the requested mode.
Return values
EFI_SUCCESSThe requested mode information is returned.
EFI_UNSUPPORTEDThe mode number is not valid.
EFI_DEVICE_ERROR

Implements EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.QueryMode().

It returns information for an available text mode that the terminal supports.

Parameters
ThisIndicates the calling context.
ModeNumberThe mode number to return information on.
ColumnsThe returned columns of the requested mode.
RowsThe returned rows of the requested mode.
Return values
EFI_SUCCESSThe requested mode information is returned.
EFI_UNSUPPORTEDThe mode number is not valid.

Definition at line 429 of file TerminalConOut.c.

◆ TerminalConOutReset()

EFI_STATUS EFIAPI TerminalConOutReset ( IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL This,
IN BOOLEAN  ExtendedVerification 
)

Implements EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.Reset(). If ExtendeVerification is TRUE, then perform dependent serial device reset, and set display mode to mode 0. If ExtendedVerification is FALSE, only set display mode to mode 0.

Parameters
ThisIndicates the calling context.
ExtendedVerificationIndicates that the driver may perform a more exhaustive verification operation of the device during reset.
Return values
EFI_SUCCESSThe reset operation succeeds.
EFI_DEVICE_ERRORThe terminal is not functioning correctly or the serial port reset fails.

Definition at line 105 of file TerminalConOut.c.

◆ TerminalConOutSetAttribute()

EFI_STATUS EFIAPI TerminalConOutSetAttribute ( IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL This,
IN UINTN  Attribute 
)

Implements EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.SetAttribute().

Parameters
ThisIndicates the calling context.
AttributeThe attribute to set. Only bit0..6 are valid, all other bits are undefined and must be zero.
Return values
EFI_SUCCESSThe requested attribute is set.
EFI_DEVICE_ERRORThe requested attribute cannot be set due to serial port error.
EFI_UNSUPPORTEDThe attribute requested is not defined by EFI spec.

Definition at line 525 of file TerminalConOut.c.

◆ TerminalConOutSetCursorPosition()

EFI_STATUS EFIAPI TerminalConOutSetCursorPosition ( IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL This,
IN UINTN  Column,
IN UINTN  Row 
)

Implements EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.SetCursorPosition().

Parameters
ThisIndicates the calling context.
ColumnThe row to set cursor to.
RowThe column to set cursor to.
Return values
EFI_SUCCESSThe operation completed successfully.
EFI_DEVICE_ERRORThe request fails due to serial port error.
EFI_UNSUPPORTEDThe terminal is not in a valid text mode, or the cursor position is invalid for current mode.

Definition at line 736 of file TerminalConOut.c.

◆ TerminalConOutSetMode()

EFI_STATUS EFIAPI TerminalConOutSetMode ( IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL This,
IN UINTN  ModeNumber 
)

Implements EFI_SIMPLE_TEXT_OUT.SetMode(). Set the terminal to a specified display mode. In this driver, we only support mode 0.

Parameters
ThisIndicates the calling context.
ModeNumberThe text mode to set.
Return values
EFI_SUCCESSThe requested text mode is set.
EFI_DEVICE_ERRORThe requested text mode cannot be set because of serial device error.
EFI_UNSUPPORTEDThe text mode number is not valid.

Definition at line 469 of file TerminalConOut.c.

◆ TerminalConOutTestString()

EFI_STATUS EFIAPI TerminalConOutTestString ( IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL This,
IN CHAR16 *  WString 
)

Implements EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.TestString(). If one of the characters in the *Wstring is neither valid Unicode drawing characters, not ASCII code, then this function will return EFI_UNSUPPORTED.

Parameters
ThisIndicates the calling context.
WStringThe Null-terminated Unicode string to be tested.
Return values
EFI_SUCCESSThe terminal is capable of rendering the output string.
EFI_UNSUPPORTEDSome of the characters in the Unicode string cannot be rendered.

Definition at line 379 of file TerminalConOut.c.

◆ TerminalDriverBindingStart()

EFI_STATUS EFIAPI TerminalDriverBindingStart ( IN EFI_DRIVER_BINDING_PROTOCOL This,
IN EFI_HANDLE  Controller,
IN EFI_DEVICE_PATH_PROTOCOL RemainingDevicePath 
)

Start this driver on Controller by opening a Serial IO protocol, reading Device Path, and creating a child handle with a Simple Text In, Simple Text In Ex and Simple Text Out protocol, and device path protocol. And store Console Device Environment Variables.

Parameters
ThisProtocol instance pointer.
ControllerHandle of device to bind driver to
RemainingDevicePathOptional parameter use to pick a specific child device to start.
Return values
EFI_SUCCESSThis driver is added to Controller.
EFI_ALREADY_STARTEDThis driver is already running on Controller.
otherThis driver does not support this device.

Definition at line 470 of file Terminal.c.

◆ TerminalDriverBindingStop()

EFI_STATUS EFIAPI TerminalDriverBindingStop ( IN EFI_DRIVER_BINDING_PROTOCOL This,
IN EFI_HANDLE  Controller,
IN UINTN  NumberOfChildren,
IN EFI_HANDLE ChildHandleBuffer 
)

Stop this driver on Controller by closing Simple Text In, Simple Text In Ex, Simple Text Out protocol, and removing parent device path from Console Device Environment Variables.

Parameters
ThisProtocol instance pointer.
ControllerHandle of device to stop driver on
NumberOfChildrenNumber of Handles in ChildHandleBuffer. If number of children is zero stop the entire bus driver.
ChildHandleBufferList of Child Handles to Stop.
Return values
EFI_SUCCESSThis driver is removed Controller.
otherThis driver could not be removed from this device.

Definition at line 904 of file Terminal.c.

◆ TerminalDriverBindingSupported()

EFI_STATUS EFIAPI TerminalDriverBindingSupported ( IN EFI_DRIVER_BINDING_PROTOCOL This,
IN EFI_HANDLE  Controller,
IN EFI_DEVICE_PATH_PROTOCOL RemainingDevicePath 
)

Test to see if this driver supports Controller.

Parameters
ThisProtocol instance pointer.
ControllerHandleHandle of device to test
RemainingDevicePathOptional parameter use to pick a specific child device to start.
Return values
EFI_SUCCESSThis driver supports this device.
EFI_ALREADY_STARTEDThis driver is already running on this device.
otherThis driver does not support this device.

Test to see if this driver supports Controller.

Parameters
ThisProtocol instance pointer.
ControllerHandle of device to test
RemainingDevicePathOptional parameter use to pick a specific child device to start.
Return values
EFI_SUCCESSThis driver supports this device.
EFI_ALREADY_STARTEDThis driver is already running on this device.
otherThis driver does not support this device.

Definition at line 161 of file Terminal.c.

◆ TerminalFreeNotifyList()

EFI_STATUS TerminalFreeNotifyList ( IN OUT LIST_ENTRY ListHead)

Free notify functions list.

Parameters
ListHeadThe list head
Return values
EFI_SUCCESSFree the notify list successfully.
EFI_INVALID_PARAMETERListHead is NULL.

Definition at line 279 of file Terminal.c.

◆ TerminalIsValidAscii()

BOOLEAN TerminalIsValidAscii ( IN CHAR16  Ascii)

Detects if a valid ASCII char.

Parameters
AsciiAn ASCII character.
Return values
TRUEIf it is a valid ASCII character.
FALSEIf it is not a valid ASCII character.

Definition at line 903 of file TerminalConOut.c.

◆ TerminalIsValidEfiCntlChar()

BOOLEAN TerminalIsValidEfiCntlChar ( IN CHAR16  CharC)

Detects if a valid EFI control character.

Parameters
CharCAn input EFI Control character.
Return values
TRUEIf it is a valid EFI control character.
FALSEIf it is not a valid EFI control character.

Definition at line 927 of file TerminalConOut.c.

◆ TerminalIsValidTextGraphics()

BOOLEAN TerminalIsValidTextGraphics ( IN CHAR16  Graphic,
OUT CHAR8 *PcAnsi  OPTIONAL,
OUT CHAR8 *Ascii  OPTIONAL 
)

Detects if a Unicode char is for Box Drawing text graphics.

Parameters
GraphicUnicode char to test.
PcAnsiOptional pointer to return PCANSI equivalent of Graphic.
AsciiOptional pointer to return ASCII equivalent of Graphic.
Return values
TRUEIf Graphic is a supported Unicode Box Drawing character.

Definition at line 860 of file TerminalConOut.c.

◆ TerminalRemoveConsoleDevVariable()

VOID TerminalRemoveConsoleDevVariable ( IN CHAR16 *  VariableName,
IN EFI_DEVICE_PATH_PROTOCOL ParentDevicePath 
)

Remove console device variable.

Parameters
VariableNameA pointer to the variable name.
ParentDevicePathA pointer to the parent device path.

Remove terminal device path from Console Device Environment Variables.

Parameters
VariableNameConsole Device Environment Variables.
ParentDevicePathThe terminal device path to be updated.

Definition at line 1178 of file Terminal.c.

◆ TerminalUpdateConsoleDevVariable()

VOID TerminalUpdateConsoleDevVariable ( IN CHAR16 *  VariableName,
IN EFI_DEVICE_PATH_PROTOCOL ParentDevicePath 
)

Update terminal device path in Console Device Environment Variables.

Parameters
VariableNameThe Console Device Environment Variable.
ParentDevicePathThe terminal device path to be updated.
Returns
None.

Update terminal device path in Console Device Environment Variables.

Parameters
VariableNameThe Console Device Environment Variable.
ParentDevicePathThe terminal device path to be updated.

Definition at line 1080 of file Terminal.c.

◆ TranslateRawDataToEfiKey()

VOID TranslateRawDataToEfiKey ( IN TERMINAL_DEV TerminalDevice)

Translate raw data into Unicode (according to different encode), and translate Unicode into key information. (according to different standard).

Parameters
TerminalDeviceTerminal driver private structure.

Definition at line 447 of file TerminalConIn.c.

◆ UnicodeFiFoInsertOneKey()

BOOLEAN UnicodeFiFoInsertOneKey ( TERMINAL_DEV TerminalDevice,
UINT16  Input 
)

Insert one pre-fetched key into the Unicode FIFO buffer.

Parameters
TerminalDeviceTerminal driver private structure.
InputThe key will be input.
Return values
TRUEIf insert successfully.
FALSEIf Unicode FIFO buffer is full before key insertion, and the key is lost.

Definition at line 1101 of file TerminalConIn.c.

◆ UnicodeFiFoRemoveOneKey()

VOID UnicodeFiFoRemoveOneKey ( TERMINAL_DEV TerminalDevice,
UINT16 *  Output 
)

Remove one pre-fetched key out of the Unicode FIFO buffer. The caller should guarantee that Unicode FIFO buffer is not empty by IsUnicodeFiFoEmpty ().

Parameters
TerminalDeviceTerminal driver private structure.
OutputThe key will be removed.

Definition at line 1135 of file TerminalConIn.c.

◆ UnicodeToEfiKey()

VOID UnicodeToEfiKey ( IN TERMINAL_DEV TerminalDevice)

Converts a stream of Unicode characters from a terminal input device into EFI Keys that can be read through the Simple Input Protocol.

The table below shows the keyboard input mappings that this function supports. If the ESC sequence listed in one of the columns is presented, then it is translated into the coorespoding EFI Scan Code. If a matching sequence is not found, then the raw key strokes are converted into EFI Keys.

2 seconds are allowed for an ESC sequence to be completed. If the ESC sequence is not completed in 2 seconds, then the raw key strokes of the partial ESC sequence are converted into EFI Keys. There is one special input sequence that will force the system to reset. This is ESC R ESC r ESC R.

Symbols used in table below

ESC = 0x1B CSI = 0x9B DEL = 0x7f ^ = CTRL +=========+======+===========+==========+==========+ | | EFI | UEFI 2.0 | | | | | Scan | | VT100+ | | | KEY | Code | PC ANSI | VTUTF8 | VT100 | +=========+======+===========+==========+==========+ | NULL | 0x00 | | | | | UP | 0x01 | ESC [ A | ESC [ A | ESC [ A | | DOWN | 0x02 | ESC [ B | ESC [ B | ESC [ B | | RIGHT | 0x03 | ESC [ C | ESC [ C | ESC [ C | | LEFT | 0x04 | ESC [ D | ESC [ D | ESC [ D | | HOME | 0x05 | ESC [ H | ESC h | ESC [ H | | END | 0x06 | ESC [ F | ESC k | ESC [ K | | INSERT | 0x07 | ESC [ @ | ESC + | ESC [ @ | | | | ESC [ L | | ESC [ L | | DELETE | 0x08 | ESC [ X | ESC - | ESC [ P | | PG UP | 0x09 | ESC [ I | ESC ? | ESC [ V | | | | | | ESC [ ? | | PG DOWN | 0x0A | ESC [ G | ESC / | ESC [ U | | | | | | ESC [ / | | F1 | 0x0B | ESC [ M | ESC 1 | ESC O P | | F2 | 0x0C | ESC [ N | ESC 2 | ESC O Q | | F3 | 0x0D | ESC [ O | ESC 3 | ESC O w | | F4 | 0x0E | ESC [ P | ESC 4 | ESC O x | | F5 | 0x0F | ESC [ Q | ESC 5 | ESC O t | | F6 | 0x10 | ESC [ R | ESC 6 | ESC O u | | F7 | 0x11 | ESC [ S | ESC 7 | ESC O q | | F8 | 0x12 | ESC [ T | ESC 8 | ESC O r | | F9 | 0x13 | ESC [ U | ESC 9 | ESC O p | | F10 | 0x14 | ESC [ V | ESC 0 | ESC O M | | Escape | 0x17 | ESC | ESC | ESC | | F11 | 0x15 | | ESC ! | | | F12 | 0x16 | | ESC @ | | +=========+======+===========+==========+==========+

Putty function key map: +=========+======+===========+=============+=============+=============+=========+ | | EFI | | | | | | | | Scan | VT100+ | | Normal | | | | KEY | Code | VTUTF8 | Xterm R6 | VT400 | Linux | SCO | +=========+======+===========+=============+=============+=============+=========+ | F1 | 0x0B | ESC O P | ESC O P | ESC [ 1 1 ~ | ESC [ [ A | ESC [ M | | F2 | 0x0C | ESC O Q | ESC O Q | ESC [ 1 2 ~ | ESC [ [ B | ESC [ N | | F3 | 0x0D | ESC O R | ESC O R | ESC [ 1 3 ~ | ESC [ [ C | ESC [ O | | F4 | 0x0E | ESC O S | ESC O S | ESC [ 1 4 ~ | ESC [ [ D | ESC [ P | | F5 | 0x0F | ESC O T | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E | ESC [ Q | | F6 | 0x10 | ESC O U | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ R | | F7 | 0x11 | ESC O V | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ S | | F8 | 0x12 | ESC O W | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ T | | F9 | 0x13 | ESC O X | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ U | | F10 | 0x14 | ESC O Y | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ V | | Escape | 0x17 | ESC | ESC | ESC | ESC | ESC | | F11 | 0x15 | ESC O Z | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ W | | F12 | 0x16 | ESC O [ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ X | +=========+======+===========+=============+=============+=============+=========+

Special Mappings

ESC R ESC r ESC R = Reset System

Parameters
TerminalDeviceThe terminal device to use to translate raw input into EFI Keys

Converts a stream of Unicode characters from a terminal input device into EFI Keys that can be read through the Simple Input Protocol.

The table below shows the keyboard input mappings that this function supports. If the ESC sequence listed in one of the columns is presented, then it is translated into the corresponding EFI Scan Code. If a matching sequence is not found, then the raw key strokes are converted into EFI Keys.

2 seconds are allowed for an ESC sequence to be completed. If the ESC sequence is not completed in 2 seconds, then the raw key strokes of the partial ESC sequence are converted into EFI Keys. There is one special input sequence that will force the system to reset. This is ESC R ESC r ESC R.

Note: current implementation support terminal types include: PC ANSI, VT100+/VTUTF8, VT100. The table below is not same with UEFI Spec 2.3 Appendix B Table 201(not support ANSI X3.64 / DEC VT200-500 and extra support PC ANSI, VT100)since UEFI Table 201 is just an example.

Symbols used in table below

ESC = 0x1B CSI = 0x9B DEL = 0x7f ^ = CTRL

+=========+======+===========+==========+==========+ | | EFI | UEFI 2.0 | | | | | Scan | | VT100+ | | | KEY | Code | PC ANSI | VTUTF8 | VT100 | +=========+======+===========+==========+==========+ | NULL | 0x00 | | | | | UP | 0x01 | ESC [ A | ESC [ A | ESC [ A | | DOWN | 0x02 | ESC [ B | ESC [ B | ESC [ B | | RIGHT | 0x03 | ESC [ C | ESC [ C | ESC [ C | | LEFT | 0x04 | ESC [ D | ESC [ D | ESC [ D | | HOME | 0x05 | ESC [ H | ESC h | ESC [ H | | END | 0x06 | ESC [ F | ESC k | ESC [ K | | INSERT | 0x07 | ESC [ @ | ESC + | ESC [ @ | | | | ESC [ L | | ESC [ L | | DELETE | 0x08 | ESC [ X | ESC - | ESC [ P | | PG UP | 0x09 | ESC [ I | ESC ? | ESC [ V | | | | | | ESC [ ? | | PG DOWN | 0x0A | ESC [ G | ESC / | ESC [ U | | | | | | ESC [ / | | F1 | 0x0B | ESC [ M | ESC 1 | ESC O P | | F2 | 0x0C | ESC [ N | ESC 2 | ESC O Q | | F3 | 0x0D | ESC [ O | ESC 3 | ESC O w | | F4 | 0x0E | ESC [ P | ESC 4 | ESC O x | | F5 | 0x0F | ESC [ Q | ESC 5 | ESC O t | | F6 | 0x10 | ESC [ R | ESC 6 | ESC O u | | F7 | 0x11 | ESC [ S | ESC 7 | ESC O q | | F8 | 0x12 | ESC [ T | ESC 8 | ESC O r | | F9 | 0x13 | ESC [ U | ESC 9 | ESC O p | | F10 | 0x14 | ESC [ V | ESC 0 | ESC O M | | Escape | 0x17 | ESC | ESC | ESC | | F11 | 0x15 | | ESC ! | | | F12 | 0x16 | | ESC @ | | +=========+======+===========+==========+==========+

Putty function key map: +=========+======+===========+=============+=============+=============+=========+ | | EFI | | | | | | | | Scan | VT100+ | | Normal | | | | KEY | Code | VTUTF8 | Xterm R6 | VT400 | Linux | SCO | +=========+======+===========+=============+=============+=============+=========+ | F1 | 0x0B | ESC O P | ESC O P | ESC [ 1 1 ~ | ESC [ [ A | ESC [ M | | F2 | 0x0C | ESC O Q | ESC O Q | ESC [ 1 2 ~ | ESC [ [ B | ESC [ N | | F3 | 0x0D | ESC O R | ESC O R | ESC [ 1 3 ~ | ESC [ [ C | ESC [ O | | F4 | 0x0E | ESC O S | ESC O S | ESC [ 1 4 ~ | ESC [ [ D | ESC [ P | | F5 | 0x0F | ESC O T | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E | ESC [ Q | | F6 | 0x10 | ESC O U | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ R | | F7 | 0x11 | ESC O V | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ S | | F8 | 0x12 | ESC O W | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ T | | F9 | 0x13 | ESC O X | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ U | | F10 | 0x14 | ESC O Y | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ V | | Escape | 0x17 | ESC | ESC | ESC | ESC | ESC | | F11 | 0x15 | ESC O Z | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ W | | F12 | 0x16 | ESC O [ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ X | +=========+======+===========+=============+=============+=============+=========+

Special Mappings

ESC R ESC r ESC R = Reset System

Parameters
TerminalDeviceThe terminal device to use to translate raw input into EFI Keys

Definition at line 1349 of file TerminalConIn.c.

◆ UnicodeToUtf8()

VOID UnicodeToUtf8 ( IN CHAR16  Unicode,
OUT UTF8_CHAR Utf8Char,
OUT UINT8 *  ValidBytes 
)

Translate one Unicode character into VT-UTF8 characters.

UTF8 Encoding Table Bits per Character | Unicode Character Range | Unicode Binary Encoding | UTF8 Binary Encoding 0-7 | 0x0000 - 0x007F | 00000000 0xxxxxxx | 0xxxxxxx 8-11 | 0x0080 - 0x07FF | 00000xxx xxxxxxxx | 110xxxxx 10xxxxxx 12-16 | 0x0800 - 0xFFFF | xxxxxxxx xxxxxxxx | 1110xxxx 10xxxxxx 10xxxxxx

Parameters
UnicodeUnicode character need translating.
Utf8CharReturn VT-UTF8 character set.
ValidBytesThe count of valid VT-UTF8 characters. If ValidBytes is zero, no valid VT-UTF8 returned.

Definition at line 253 of file Vtutf8.c.

◆ Utf8ToUnicode()

VOID Utf8ToUnicode ( IN UTF8_CHAR  Utf8Char,
IN UINT8  ValidBytes,
OUT CHAR16 *  UnicodeChar 
)

Translate VT-UTF8 characters into one Unicode character.

UTF8 Encoding Table Bits per Character | Unicode Character Range | Unicode Binary Encoding | UTF8 Binary Encoding 0-7 | 0x0000 - 0x007F | 00000000 0xxxxxxx | 0xxxxxxx 8-11 | 0x0080 - 0x07FF | 00000xxx xxxxxxxx | 110xxxxx 10xxxxxx 12-16 | 0x0800 - 0xFFFF | xxxxxxxx xxxxxxxx | 1110xxxx 10xxxxxx 10xxxxxx

Parameters
Utf8CharVT-UTF8 character set needs translating.
ValidBytesThe count of valid VT-UTF8 characters.
UnicodeCharReturned unicode character.

Definition at line 179 of file Vtutf8.c.

◆ VTUTF8RawDataToUnicode()

VOID VTUTF8RawDataToUnicode ( IN TERMINAL_DEV TerminalDevice)

Translate all VT-UTF8 characters in the Raw FIFI into unicode characters, and insert them into Unicode FIFO.

Parameters
VtUtf8DeviceThe terminal device.

Translate all VT-UTF8 characters in the Raw FIFI into unicode characters, and insert them into Unicode FIFO.

Parameters
TerminalDeviceThe terminal device.

Definition at line 19 of file Vtutf8.c.

◆ VTUTF8TestString()

EFI_STATUS VTUTF8TestString ( IN TERMINAL_DEV TerminalDevice,
IN CHAR16 *  WString 
)

Check if input string is valid VT-UTF8 string.

Parameters
TerminalDeviceThe terminal device.
WStringThe input string.
Return values
EFI_SUCCESSIf all input characters are valid.

Definition at line 303 of file Vtutf8.c.

Variable Documentation

◆ gTerminalComponentName

EFI_COMPONENT_NAME_PROTOCOL gTerminalComponentName
extern

Definition at line 14 of file ComponentName.c.

◆ gTerminalComponentName2

EFI_COMPONENT_NAME2_PROTOCOL gTerminalComponentName2
extern

Definition at line 23 of file ComponentName.c.

◆ gTerminalDriverBinding

EFI_DRIVER_BINDING_PROTOCOL gTerminalDriverBinding
extern

Definition at line 15 of file Terminal.c.