/** @file\r
Header file for boot maintenance module.\r
\r
-Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
TerminalTypeVt100,\r
TerminalTypeVt100Plus,\r
TerminalTypeVtUtf8,\r
- TerminalTypeTtyTerm\r
+ TerminalTypeTtyTerm,\r
+ TerminalTypeLinux,\r
+ TerminalTypeXtermR6,\r
+ TerminalTypeVt400,\r
+ TerminalTypeSCO\r
} TYPE_OF_TERMINAL;\r
\r
//\r
extern BM_MENU_OPTION ConsoleErrMenu;\r
extern BM_MENU_OPTION DriverMenu;\r
extern BM_MENU_OPTION TerminalMenu;\r
-extern UINT16 TerminalType[5];\r
+extern UINT16 TerminalType[9];\r
extern COM_ATTR BaudRateList[19];\r
extern COM_ATTR DataBitsList[4];\r
extern COM_ATTR ParityList[5];\r
extern COM_ATTR StopBitsList[3];\r
-extern EFI_GUID TerminalTypeGuid[5];\r
+extern EFI_GUID TerminalTypeGuid[9];\r
extern EFI_DEVICE_PATH_PROTOCOL EndDevicePath[];\r
extern UINT16 mFlowControlType[2];\r
extern UINT32 mFlowControlValue[2];\r
///** @file\r
// String definitions for Boot Maintenance Utility.\r
//\r
-// Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>\r
+// Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>\r
// SPDX-License-Identifier: BSD-2-Clause-Patent\r
//\r
//**/\r
#language fr-FR "VT_UTF8"\r
#string STR_COM_TYPE_4 #language en-US "TTY_TERM"\r
#language fr-FR "TTY_TERM"\r
+#string STR_COM_TYPE_5 #language en-US "LINUX"\r
+ #language fr-FR "LINUX"\r
+#string STR_COM_TYPE_6 #language en-US "XTERM_R6"\r
+ #language fr-FR "XTERM_R6"\r
+#string STR_COM_TYPE_7 #language en-US "VT_400"\r
+ #language fr-FR "VT_400"\r
+#string STR_COM_TYPE_8 #language en-US "SCO"\r
+ #language fr-FR "SCO"\r
#string STR_RESET #language en-US "Reset System"\r
#language fr-FR "Reset System"\r
#string STR_FORM_GOTO_MAIN #language en-US "Go Back To Main Page"\r
VENDOR_DEVICE_PATH *Vendor;\r
UART_DEVICE_PATH *Uart;\r
ACPI_HID_DEVICE_PATH *Acpi;\r
+ UINTN Index;\r
\r
IsTerminal = FALSE;\r
\r
}\r
\r
//\r
- // There are four kinds of Terminal types\r
+ // There are 9 kinds of Terminal types\r
// check to see whether this devicepath\r
// is one of that type\r
//\r
- if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[0])) {\r
- *Termi = TerminalTypePcAnsi;\r
- IsTerminal = TRUE;\r
- } else {\r
- if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[1])) {\r
- *Termi = TerminalTypeVt100;\r
- IsTerminal = TRUE;\r
- } else {\r
- if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[2])) {\r
- *Termi = TerminalTypeVt100Plus;\r
- IsTerminal = TRUE;\r
- } else {\r
- if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[3])) {\r
- *Termi = TerminalTypeVtUtf8;\r
- IsTerminal = TRUE;\r
- } else {\r
- if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[4])) {\r
- *Termi = TerminalTypeTtyTerm;\r
- IsTerminal = TRUE;\r
- } else {\r
- IsTerminal = FALSE;\r
- }\r
- }\r
- }\r
+ for (Index = 0; Index < ARRAY_SIZE (TerminalTypeGuid); Index++) {\r
+ if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[Index])) {\r
+ *Termi = Index;\r
+ IsTerminal = TRUE;\r
+ break;\r
}\r
}\r
\r
+ if (Index == ARRAY_SIZE (TerminalTypeGuid)) {\r
+ IsTerminal = FALSE;\r
+ }\r
+\r
if (!IsTerminal) {\r
return FALSE;\r
}\r
/** @file\r
Define some data used for Boot Maint\r
\r
-Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
///\r
/// Terminal type string token storage\r
///\r
-UINT16 TerminalType[] = {\r
+UINT16 TerminalType[9] = {\r
STRING_TOKEN(STR_COM_TYPE_0),\r
STRING_TOKEN(STR_COM_TYPE_1),\r
STRING_TOKEN(STR_COM_TYPE_2),\r
STRING_TOKEN(STR_COM_TYPE_3),\r
STRING_TOKEN(STR_COM_TYPE_4),\r
+ STRING_TOKEN(STR_COM_TYPE_5),\r
+ STRING_TOKEN(STR_COM_TYPE_6),\r
+ STRING_TOKEN(STR_COM_TYPE_7),\r
+ STRING_TOKEN(STR_COM_TYPE_8),\r
};\r
\r
///\r
///\r
/// Guid for messaging path, used in Serial port setting.\r
///\r
-EFI_GUID TerminalTypeGuid[] = {\r
+EFI_GUID TerminalTypeGuid[9] = {\r
DEVICE_PATH_MESSAGING_PC_ANSI,\r
DEVICE_PATH_MESSAGING_VT_100,\r
DEVICE_PATH_MESSAGING_VT_100_PLUS,\r
DEVICE_PATH_MESSAGING_VT_UTF8,\r
- EFI_TTY_TERM_GUID\r
+ EFI_TTY_TERM_GUID,\r
+ EDKII_LINUX_TERM_GUID,\r
+ EDKII_XTERM_R6_GUID,\r
+ EDKII_VT400_GUID,\r
+ EDKII_SCO_TERM_GUID\r
};\r