/** @file\r
Header file for Terminal driver.\r
\r
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>\r
Copyright (C) 2016 Silicon Graphics, Inc. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
#ifndef _TERMINAL_H_\r
#define _TERMINAL_H_\r
\r
-\r
#include <Uefi.h>\r
\r
#include <Guid/GlobalVariable.h>\r
#include <Library/PcdLib.h>\r
#include <Library/BaseLib.h>\r
\r
-\r
-#define RAW_FIFO_MAX_NUMBER 256\r
-#define FIFO_MAX_NUMBER 128\r
+#define RAW_FIFO_MAX_NUMBER 255\r
+#define FIFO_MAX_NUMBER 128\r
\r
typedef struct {\r
- UINT8 Head;\r
- UINT8 Tail;\r
- UINT8 Data[RAW_FIFO_MAX_NUMBER + 1];\r
+ UINT8 Head;\r
+ UINT8 Tail;\r
+ UINT8 Data[RAW_FIFO_MAX_NUMBER + 1];\r
} RAW_DATA_FIFO;\r
\r
typedef struct {\r
- UINT8 Head;\r
- UINT8 Tail;\r
- UINT16 Data[FIFO_MAX_NUMBER + 1];\r
+ UINT8 Head;\r
+ UINT8 Tail;\r
+ UINT16 Data[FIFO_MAX_NUMBER + 1];\r
} UNICODE_FIFO;\r
\r
typedef struct {\r
- UINT8 Head;\r
- UINT8 Tail;\r
- EFI_INPUT_KEY Data[FIFO_MAX_NUMBER + 1];\r
+ UINT8 Head;\r
+ UINT8 Tail;\r
+ EFI_INPUT_KEY Data[FIFO_MAX_NUMBER + 1];\r
} EFI_KEY_FIFO;\r
\r
typedef struct {\r
- UINTN Columns;\r
- UINTN Rows;\r
+ UINTN Columns;\r
+ UINTN Rows;\r
} TERMINAL_CONSOLE_MODE_DATA;\r
\r
-#define KEYBOARD_TIMER_INTERVAL 200000 // 0.02s\r
+#define KEYBOARD_TIMER_INTERVAL 200000 // 0.02s\r
\r
#define TERMINAL_DEV_SIGNATURE SIGNATURE_32 ('t', 'm', 'n', 'l')\r
\r
-#define TERMINAL_CONSOLE_IN_EX_NOTIFY_SIGNATURE SIGNATURE_32 ('t', 'm', 'e', 'n')\r
+#define TERMINAL_CONSOLE_IN_EX_NOTIFY_SIGNATURE SIGNATURE_32 ('t', 'm', 'e', 'n')\r
\r
typedef struct _TERMINAL_CONSOLE_IN_EX_NOTIFY {\r
- UINTN Signature;\r
- EFI_KEY_DATA KeyData;\r
- EFI_KEY_NOTIFY_FUNCTION KeyNotificationFn;\r
- LIST_ENTRY NotifyEntry;\r
+ UINTN Signature;\r
+ EFI_KEY_DATA KeyData;\r
+ EFI_KEY_NOTIFY_FUNCTION KeyNotificationFn;\r
+ LIST_ENTRY NotifyEntry;\r
} TERMINAL_CONSOLE_IN_EX_NOTIFY;\r
\r
typedef enum {\r
TerminalTypeVt100,\r
TerminalTypeVt100Plus,\r
TerminalTypeVtUtf8,\r
- TerminalTypeTtyTerm\r
+ TerminalTypeTtyTerm,\r
+ TerminalTypeLinux,\r
+ TerminalTypeXtermR6,\r
+ TerminalTypeVt400,\r
+ TerminalTypeSCO\r
} TERMINAL_TYPE;\r
\r
typedef struct {\r
- UINTN Signature;\r
- EFI_HANDLE Handle;\r
- TERMINAL_TYPE TerminalType;\r
- EFI_SERIAL_IO_PROTOCOL *SerialIo;\r
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
- EFI_SIMPLE_TEXT_INPUT_PROTOCOL SimpleInput;\r
- EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SimpleTextOutput;\r
- EFI_SIMPLE_TEXT_OUTPUT_MODE SimpleTextOutputMode;\r
- TERMINAL_CONSOLE_MODE_DATA *TerminalConsoleModeData;\r
- UINTN SerialInTimeOut;\r
- RAW_DATA_FIFO *RawFiFo;\r
- UNICODE_FIFO *UnicodeFiFo;\r
- EFI_KEY_FIFO *EfiKeyFiFo;\r
- EFI_KEY_FIFO *EfiKeyFiFoForNotify;\r
- EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
- EFI_EVENT TimerEvent;\r
- EFI_EVENT TwoSecondTimeOut;\r
- UINT32 InputState;\r
- UINT32 ResetState;\r
- UINT16 TtyEscapeStr[3];\r
- INTN TtyEscapeIndex;\r
+ UINTN Signature;\r
+ EFI_HANDLE Handle;\r
+ TERMINAL_TYPE TerminalType;\r
+ EFI_SERIAL_IO_PROTOCOL *SerialIo;\r
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
+ EFI_SIMPLE_TEXT_INPUT_PROTOCOL SimpleInput;\r
+ EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL SimpleTextOutput;\r
+ EFI_SIMPLE_TEXT_OUTPUT_MODE SimpleTextOutputMode;\r
+ TERMINAL_CONSOLE_MODE_DATA *TerminalConsoleModeData;\r
+ UINTN SerialInTimeOut;\r
+ RAW_DATA_FIFO *RawFiFo;\r
+ UNICODE_FIFO *UnicodeFiFo;\r
+ EFI_KEY_FIFO *EfiKeyFiFo;\r
+ EFI_KEY_FIFO *EfiKeyFiFoForNotify;\r
+ EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
+ EFI_EVENT TimerEvent;\r
+ EFI_EVENT TwoSecondTimeOut;\r
+ UINT32 InputState;\r
+ UINT32 ResetState;\r
+ UINT16 TtyEscapeStr[3];\r
+ INTN TtyEscapeIndex;\r
\r
//\r
// Esc could not be output to the screen by user,\r
// This boolean is used by the terminal driver only\r
// to indicate whether the Esc could be sent or not.\r
//\r
- BOOLEAN OutputEscChar;\r
- EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL SimpleInputEx;\r
- LIST_ENTRY NotifyList;\r
- EFI_EVENT KeyNotifyProcessEvent;\r
+ BOOLEAN OutputEscChar;\r
+ EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL SimpleInputEx;\r
+ LIST_ENTRY NotifyList;\r
+ EFI_EVENT KeyNotifyProcessEvent;\r
} TERMINAL_DEV;\r
\r
-#define INPUT_STATE_DEFAULT 0x00\r
-#define INPUT_STATE_ESC 0x01\r
-#define INPUT_STATE_CSI 0x02\r
-#define INPUT_STATE_LEFTOPENBRACKET 0x04\r
-#define INPUT_STATE_O 0x08\r
-#define INPUT_STATE_2 0x10\r
-#define INPUT_STATE_LEFTOPENBRACKET_2 0x20\r
-\r
-#define RESET_STATE_DEFAULT 0x00\r
-#define RESET_STATE_ESC_R 0x01\r
-#define RESET_STATE_ESC_R_ESC_R 0x02\r
-\r
-#define TERMINAL_CON_IN_DEV_FROM_THIS(a) CR (a, TERMINAL_DEV, SimpleInput, TERMINAL_DEV_SIGNATURE)\r
-#define TERMINAL_CON_OUT_DEV_FROM_THIS(a) CR (a, TERMINAL_DEV, SimpleTextOutput, TERMINAL_DEV_SIGNATURE)\r
+#define INPUT_STATE_DEFAULT 0x00\r
+#define INPUT_STATE_ESC 0x01\r
+#define INPUT_STATE_CSI 0x02\r
+#define INPUT_STATE_LEFTOPENBRACKET 0x04\r
+#define INPUT_STATE_O 0x08\r
+#define INPUT_STATE_2 0x10\r
+#define INPUT_STATE_LEFTOPENBRACKET_TTY 0x20\r
+#define INPUT_STATE_1 0x40\r
+#define INPUT_STATE_LEFTOPENBRACKET_2ND 0x80\r
+\r
+#define RESET_STATE_DEFAULT 0x00\r
+#define RESET_STATE_ESC_R 0x01\r
+#define RESET_STATE_ESC_R_ESC_R 0x02\r
+\r
+#define TERMINAL_CON_IN_DEV_FROM_THIS(a) CR (a, TERMINAL_DEV, SimpleInput, TERMINAL_DEV_SIGNATURE)\r
+#define TERMINAL_CON_OUT_DEV_FROM_THIS(a) CR (a, TERMINAL_DEV, SimpleTextOutput, TERMINAL_DEV_SIGNATURE)\r
#define TERMINAL_CON_IN_EX_DEV_FROM_THIS(a) CR (a, TERMINAL_DEV, SimpleInputEx, TERMINAL_DEV_SIGNATURE)\r
\r
typedef union {\r
- UINT8 Utf8_1;\r
- UINT8 Utf8_2[2];\r
- UINT8 Utf8_3[3];\r
+ UINT8 Utf8_1;\r
+ UINT8 Utf8_2[2];\r
+ UINT8 Utf8_3[3];\r
} UTF8_CHAR;\r
\r
-#define LEFTOPENBRACKET 0x5b // '['\r
-#define ACAP 0x41\r
-#define BCAP 0x42\r
-#define CCAP 0x43\r
-#define DCAP 0x44\r
-\r
-#define BACKSPACE 8\r
-#define ESC 27\r
-#define CSI 0x9B\r
-#define DEL 127\r
-#define BRIGHT_CONTROL_OFFSET 2\r
-#define FOREGROUND_CONTROL_OFFSET 6\r
-#define BACKGROUND_CONTROL_OFFSET 11\r
-#define ROW_OFFSET 2\r
-#define COLUMN_OFFSET 5\r
-#define FW_BACK_OFFSET 2\r
+#define LEFTOPENBRACKET 0x5b // '['\r
+#define ACAP 0x41\r
+#define BCAP 0x42\r
+#define CCAP 0x43\r
+#define DCAP 0x44\r
+\r
+#define BACKSPACE 8\r
+#define ESC 27\r
+#define CSI 0x9B\r
+#define DEL 127\r
+#define BRIGHT_CONTROL_OFFSET 2\r
+#define FOREGROUND_CONTROL_OFFSET 6\r
+#define BACKGROUND_CONTROL_OFFSET 11\r
+#define ROW_OFFSET 2\r
+#define COLUMN_OFFSET 5\r
+#define FW_BACK_OFFSET 2\r
\r
typedef struct {\r
- UINT16 Unicode;\r
- CHAR8 PcAnsi;\r
- CHAR8 Ascii;\r
+ UINT16 Unicode;\r
+ CHAR8 PcAnsi;\r
+ CHAR8 Ascii;\r
} UNICODE_TO_CHAR;\r
\r
//\r
EFI_STATUS\r
EFIAPI\r
InitializeTerminal (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TerminalConInReset (\r
- IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,\r
- IN BOOLEAN ExtendedVerification\r
+ IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,\r
+ IN BOOLEAN ExtendedVerification\r
);\r
\r
-\r
/**\r
Implements EFI_SIMPLE_TEXT_INPUT_PROTOCOL.ReadKeyStroke().\r
\r
VOID\r
EFIAPI\r
TerminalConInWaitForKeyEx (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
//\r
EFI_STATUS\r
EFIAPI\r
TerminalConInReadKeyStrokeEx (\r
- IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,\r
- OUT EFI_KEY_DATA *KeyData\r
+ IN EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *This,\r
+ OUT EFI_KEY_DATA *KeyData\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
TerminalConInWaitForKey (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TerminalConOutReset (\r
- IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
- IN BOOLEAN ExtendedVerification\r
+ IN EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This,\r
+ IN BOOLEAN ExtendedVerification\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TerminalDriverBindingSupported (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
TerminalDriverBindingStart (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
);\r
\r
-\r
/**\r
Stop this driver on Controller by closing Simple Text In, Simple Text\r
In Ex, Simple Text Out protocol, and removing parent device path from\r
EFI_STATUS\r
EFIAPI\r
TerminalDriverBindingStop (\r
- IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
- IN EFI_HANDLE Controller,\r
- IN UINTN NumberOfChildren,\r
- IN EFI_HANDLE *ChildHandleBuffer\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
TerminalFreeNotifyList (\r
- IN OUT LIST_ENTRY *ListHead\r
+ IN OUT LIST_ENTRY *ListHead\r
);\r
\r
/**\r
OUT CHAR16 **DriverName\r
);\r
\r
-\r
/**\r
Retrieves a Unicode string that is the user readable name of the controller\r
that is being managed by a driver.\r
EFI_STATUS\r
EFIAPI\r
TerminalComponentNameGetControllerName (\r
- IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
- IN EFI_HANDLE ControllerHandle,\r
- IN EFI_HANDLE ChildHandle OPTIONAL,\r
- IN CHAR8 *Language,\r
- OUT CHAR16 **ControllerName\r
+ IN EFI_COMPONENT_NAME_PROTOCOL *This,\r
+ IN EFI_HANDLE ControllerHandle,\r
+ IN EFI_HANDLE ChildHandle OPTIONAL,\r
+ IN CHAR8 *Language,\r
+ OUT CHAR16 **ControllerName\r
);\r
\r
-\r
//\r
// internal functions\r
//\r
/**\r
Build termial device path according to terminal type.\r
\r
- @param TerminalType The terminal type is PC ANSI, VT100, VT100+ or VT-UTF8.\r
+ @param TerminalType The terminal type is PC ANSI, VT100, VT100+, VT-UTF8, TTY-Term,\r
+ Linux, XtermR6, VT400 and SCO.\r
@param ParentDevicePath Parent device path.\r
@param TerminalDevicePath Returned terminal device path, if building successfully.\r
\r
**/\r
EFI_STATUS\r
SetTerminalDevicePath (\r
- IN TERMINAL_TYPE TerminalType,\r
- IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath,\r
- OUT EFI_DEVICE_PATH_PROTOCOL **TerminalDevicePath\r
+ IN TERMINAL_TYPE TerminalType,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath,\r
+ OUT EFI_DEVICE_PATH_PROTOCOL **TerminalDevicePath\r
);\r
\r
/**\r
**/\r
BOOLEAN\r
EfiKeyFiFoForNotifyInsertOneKey (\r
- EFI_KEY_FIFO *EfiKeyFiFo,\r
- EFI_INPUT_KEY *Input\r
+ EFI_KEY_FIFO *EfiKeyFiFo,\r
+ EFI_INPUT_KEY *Input\r
);\r
\r
/**\r
**/\r
BOOLEAN\r
EfiKeyFiFoForNotifyRemoveOneKey (\r
- EFI_KEY_FIFO *EfiKeyFiFo,\r
- EFI_INPUT_KEY *Output\r
+ EFI_KEY_FIFO *EfiKeyFiFo,\r
+ EFI_INPUT_KEY *Output\r
);\r
\r
/**\r
**/\r
BOOLEAN\r
IsEfiKeyFiFoForNotifyEmpty (\r
- IN EFI_KEY_FIFO *EfiKeyFiFo\r
+ IN EFI_KEY_FIFO *EfiKeyFiFo\r
);\r
\r
/**\r
**/\r
BOOLEAN\r
IsEfiKeyFiFoForNotifyFull (\r
- EFI_KEY_FIFO *EfiKeyFiFo\r
+ EFI_KEY_FIFO *EfiKeyFiFo\r
);\r
\r
/**\r
**/\r
BOOLEAN\r
EfiKeyFiFoInsertOneKey (\r
- TERMINAL_DEV *TerminalDevice,\r
- EFI_INPUT_KEY *Key\r
+ TERMINAL_DEV *TerminalDevice,\r
+ EFI_INPUT_KEY *Key\r
);\r
\r
/**\r
**/\r
BOOLEAN\r
EfiKeyFiFoRemoveOneKey (\r
- TERMINAL_DEV *TerminalDevice,\r
- EFI_INPUT_KEY *Output\r
+ TERMINAL_DEV *TerminalDevice,\r
+ EFI_INPUT_KEY *Output\r
);\r
\r
/**\r
**/\r
BOOLEAN\r
UnicodeFiFoInsertOneKey (\r
- TERMINAL_DEV *TerminalDevice,\r
- UINT16 Input\r
+ TERMINAL_DEV *TerminalDevice,\r
+ UINT16 Input\r
);\r
\r
/**\r
TERMINAL_DEV *TerminalDevice\r
);\r
\r
-\r
/**\r
Translate raw data into Unicode (according to different encode), and\r
translate Unicode into key information. (according to different standard).\r
**/\r
VOID\r
TranslateRawDataToEfiKey (\r
- IN TERMINAL_DEV *TerminalDevice\r
+ IN TERMINAL_DEV *TerminalDevice\r
);\r
\r
//\r
**/\r
VOID\r
AnsiRawDataToUnicode (\r
- IN TERMINAL_DEV *TerminalDevice\r
+ IN TERMINAL_DEV *TerminalDevice\r
);\r
\r
/**\r
| F12 | 0x16 | | ESC @ | |\r
+=========+======+===========+==========+==========+\r
\r
+Putty function key map:\r
+ +=========+======+===========+=============+=============+=============+=========+\r
+ | | EFI | | | | | |\r
+ | | Scan | | | Normal | | |\r
+ | KEY | Code | VT100+ | Xterm R6 | VT400 | Linux | SCO |\r
+ +=========+======+===========+=============+=============+=============+=========+\r
+ | F1 | 0x0B | ESC O P | ESC O P | ESC [ 1 1 ~ | ESC [ [ A | ESC [ M |\r
+ | F2 | 0x0C | ESC O Q | ESC O Q | ESC [ 1 2 ~ | ESC [ [ B | ESC [ N |\r
+ | F3 | 0x0D | ESC O R | ESC O R | ESC [ 1 3 ~ | ESC [ [ C | ESC [ O |\r
+ | F4 | 0x0E | ESC O S | ESC O S | ESC [ 1 4 ~ | ESC [ [ D | ESC [ P |\r
+ | F5 | 0x0F | ESC O T | ESC [ 1 5 ~ | ESC [ 1 5 ~ | ESC [ [ E | ESC [ Q |\r
+ | F6 | 0x10 | ESC O U | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ 1 7 ~ | ESC [ R |\r
+ | F7 | 0x11 | ESC O V | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ 1 8 ~ | ESC [ S |\r
+ | F8 | 0x12 | ESC O W | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ 1 9 ~ | ESC [ T |\r
+ | F9 | 0x13 | ESC O X | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ 2 0 ~ | ESC [ U |\r
+ | F10 | 0x14 | ESC O Y | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ 2 1 ~ | ESC [ V |\r
+ | Escape | 0x17 | ESC | ESC | ESC | ESC | ESC |\r
+ | F11 | 0x15 | ESC O Z | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ 2 3 ~ | ESC [ W |\r
+ | F12 | 0x16 | ESC O [ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ 2 4 ~ | ESC [ X |\r
+ +=========+======+===========+=============+=============+=============+=========+\r
+\r
+\r
Special Mappings\r
================\r
ESC R ESC r ESC R = Reset System\r
**/\r
VOID\r
UnicodeToEfiKey (\r
- IN TERMINAL_DEV *TerminalDevice\r
+ IN TERMINAL_DEV *TerminalDevice\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
AnsiTestString (\r
- IN TERMINAL_DEV *TerminalDevice,\r
- IN CHAR16 *WString\r
+ IN TERMINAL_DEV *TerminalDevice,\r
+ IN CHAR16 *WString\r
);\r
\r
//\r
**/\r
VOID\r
VTUTF8RawDataToUnicode (\r
- IN TERMINAL_DEV *VtUtf8Device\r
+ IN TERMINAL_DEV *VtUtf8Device\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
VTUTF8TestString (\r
- IN TERMINAL_DEV *TerminalDevice,\r
- IN CHAR16 *WString\r
+ IN TERMINAL_DEV *TerminalDevice,\r
+ IN CHAR16 *WString\r
);\r
\r
/**\r
**/\r
VOID\r
UnicodeToUtf8 (\r
- IN CHAR16 Unicode,\r
- OUT UTF8_CHAR *Utf8Char,\r
- OUT UINT8 *ValidBytes\r
+ IN CHAR16 Unicode,\r
+ OUT UTF8_CHAR *Utf8Char,\r
+ OUT UINT8 *ValidBytes\r
);\r
\r
/**\r
**/\r
VOID\r
GetOneValidUtf8Char (\r
- IN TERMINAL_DEV *Utf8Device,\r
- OUT UTF8_CHAR *Utf8Char,\r
- OUT UINT8 *ValidBytes\r
+ IN TERMINAL_DEV *Utf8Device,\r
+ OUT UTF8_CHAR *Utf8Char,\r
+ OUT UINT8 *ValidBytes\r
);\r
\r
/**\r
**/\r
VOID\r
Utf8ToUnicode (\r
- IN UTF8_CHAR Utf8Char,\r
- IN UINT8 ValidBytes,\r
- OUT CHAR16 *UnicodeChar\r
+ IN UTF8_CHAR Utf8Char,\r
+ IN UINT8 ValidBytes,\r
+ OUT CHAR16 *UnicodeChar\r
);\r
\r
//\r
BOOLEAN\r
TerminalIsValidTextGraphics (\r
IN CHAR16 Graphic,\r
- OUT CHAR8 *PcAnsi, OPTIONAL\r
+ OUT CHAR8 *PcAnsi OPTIONAL,\r
OUT CHAR8 *Ascii OPTIONAL\r
);\r
\r
**/\r
BOOLEAN\r
IsHotPlugDevice (\r
- IN EFI_DEVICE_PATH_PROTOCOL *DevicePath\r
+ IN EFI_DEVICE_PATH_PROTOCOL *DevicePath\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
TerminalConInTimerHandler (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
-\r
/**\r
Process key notify.\r
\r
VOID\r
EFIAPI\r
KeyNotifyProcessHandler (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
#endif\r