/** @file\r
Header file for Terminal driver.\r
\r
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2011, Intel Corporation. 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
#include <Guid/GlobalVariable.h>\r
#include <Guid/PcAnsi.h>\r
\r
-#include <Protocol/SimpleTextInExNotify.h>\r
#include <Protocol/SimpleTextOut.h>\r
#include <Protocol/SerialIo.h>\r
#include <Protocol/DevicePath.h>\r
EFI_INPUT_KEY Data[FIFO_MAX_NUMBER + 1];\r
} EFI_KEY_FIFO;\r
\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
UNICODE_FIFO *UnicodeFiFo;\r
EFI_KEY_FIFO *EfiKeyFiFo;\r
EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
+ EFI_EVENT TimerEvent;\r
EFI_EVENT TwoSecondTimeOut;\r
UINT32 InputState;\r
UINT32 ResetState;\r
\r
#define RESET_STATE_DEFAULT 0x00\r
#define RESET_STATE_ESC_R 0x01\r
-#define RESET_STATE_ESC_R_ESC_r 0x02\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 MODE2_COLUMN_COUNT 100\r
#define MODE2_ROW_COUNT 31\r
\r
+//\r
+// MODE3 is defined by PcdConOutColumn & PcdConOutRow\r
+//\r
+\r
+#define TERMINAL_MAX_MODE 4\r
+\r
#define BACKSPACE 8\r
#define ESC 27\r
#define CSI 0x9B\r
languages specified in SupportedLanguages. The\r
number of languages supported by a driver is up\r
to the driver writer. Language is specified\r
- in RFC 3066 or ISO 639-2 language code format.\r
+ in RFC 4646 or ISO 639-2 language code format.\r
\r
@param DriverName[out] A pointer to the Unicode string to return.\r
This Unicode string is the name of the\r
languages specified in SupportedLanguages. The\r
number of languages supported by a driver is up\r
to the driver writer. Language is specified in\r
- RFC 3066 or ISO 639-2 language code format.\r
+ RFC 4646 or ISO 639-2 language code format.\r
\r
@param ControllerName[out] A pointer to the Unicode string to return.\r
This Unicode string is the name of the\r
IN EFI_DEVICE_PATH_PROTOCOL *ParentDevicePath\r
);\r
\r
-/**\r
- Read the EFI variable (VendorGuid/Name) and return a dynamically allocated\r
- buffer, and the size of the buffer. On failure return NULL.\r
-\r
- @param Name String part of EFI variable name\r
- @param VendorGuid GUID part of EFI variable name\r
- @param VariableSize Returns the size of the EFI variable that was read\r
-\r
- @return Dynamically allocated memory that contains a copy of the EFI variable.\r
- Caller is repsoncible freeing the buffer. If variable was not read,\r
- NULL regturned.\r
-\r
-**/\r
-VOID *\r
-TerminalGetVariableAndSize (\r
- IN CHAR16 *Name,\r
- IN EFI_GUID *VendorGuid,\r
- OUT UINTN *VariableSize\r
- );\r
-\r
/**\r
Build termial device path according to terminal type.\r
\r
BOOLEAN\r
EfiKeyFiFoInsertOneKey (\r
TERMINAL_DEV *TerminalDevice,\r
- EFI_INPUT_KEY Key\r
+ EFI_INPUT_KEY *Key\r
);\r
\r
/**\r
IN EFI_DEVICE_PATH_PROTOCOL *DevicePath\r
);\r
\r
+/**\r
+ Timer handler to poll the key from serial.\r
+\r
+ @param Event Indicates the event that invoke this function.\r
+ @param Context Indicates the calling context.\r
+**/\r
+VOID\r
+EFIAPI\r
+TerminalConInTimerHandler (\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
+ );\r
#endif\r