/** @file\r
- Simple Text In protocol from the EFI 1.0 specification.\r
+ Simple Text Input protocol from the UEFI 2.0 specification.\r
\r
Abstraction of a very simple input device like a keyboard or serial\r
terminal.\r
\r
- Copyright (c) 2006, Intel Corporation \r
- All rights reserved. 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
-\r
- Module Name: SimpleTextIn.h\r
+ Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \\r
}\r
\r
-//\r
-// Protocol GUID defined in EFI1.1.\r
-// \r
-#define SIMPLE_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID\r
+typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL;\r
\r
-typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL;\r
+///\r
+/// Protocol GUID name defined in EFI1.1.\r
+///\r
+#define SIMPLE_INPUT_PROTOCOL EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID\r
\r
-//\r
-// Backward-compatible with EFI1.1.\r
-// \r
-typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL SIMPLE_INPUT_INTERFACE;\r
-//\r
-// Data structures\r
-//\r
+///\r
+/// Protocol name in EFI1.1 for backward-compatible.\r
+///\r
+typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL SIMPLE_INPUT_INTERFACE;\r
+\r
+///\r
+/// The keystroke information for the key that was pressed.\r
+///\r
typedef struct {\r
- UINT16 ScanCode;\r
- CHAR16 UnicodeChar;\r
+ UINT16 ScanCode;\r
+ CHAR16 UnicodeChar;\r
} EFI_INPUT_KEY;\r
\r
//\r
// Required unicode control chars\r
//\r
-#define CHAR_NULL 0x0000\r
#define CHAR_BACKSPACE 0x0008\r
#define CHAR_TAB 0x0009\r
#define CHAR_LINEFEED 0x000A\r
#define SCAN_F8 0x0012\r
#define SCAN_F9 0x0013\r
#define SCAN_F10 0x0014\r
-#define SCAN_F11 0x0015\r
-#define SCAN_F12 0x0016\r
#define SCAN_ESC 0x0017\r
\r
/**\r
- Reset the input device and optionaly run diagnostics\r
+ Reset the input device and optionally run diagnostics\r
\r
@param This Protocol instance pointer.\r
@param ExtendedVerification Driver may perform diagnostics on reset.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_INPUT_RESET) (\r
+(EFIAPI *EFI_INPUT_RESET)(\r
IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,\r
IN BOOLEAN ExtendedVerification\r
- )\r
-;\r
+ );\r
\r
/**\r
- Reads the next keystroke from the input device. The WaitForKey Event can \r
- be used to test for existance of a keystroke via WaitForEvent () call.\r
+ Reads the next keystroke from the input device. The WaitForKey Event can\r
+ be used to test for existence of a keystroke via WaitForEvent () call.\r
\r
- @param This Protocol instance pointer.\r
- @param Key Driver may perform diagnostics on reset.\r
+ @param This Protocol instance pointer.\r
+ @param Key A pointer to a buffer that is filled in with the keystroke\r
+ information for the key that was pressed.\r
\r
@retval EFI_SUCCESS The keystroke information was returned.\r
- @retval EFI_NOT_READY There was no keystroke data availiable.\r
- @retval EFI_DEVICE_ERROR The keydtroke information was not returned due to\r
+ @retval EFI_NOT_READY There was no keystroke data available.\r
+ @retval EFI_DEVICE_ERROR The keystroke information was not returned due to\r
hardware errors.\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_INPUT_READ_KEY) (\r
+(EFIAPI *EFI_INPUT_READ_KEY)(\r
IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL *This,\r
OUT EFI_INPUT_KEY *Key\r
- )\r
-;\r
+ );\r
\r
+///\r
+/// The EFI_SIMPLE_TEXT_INPUT_PROTOCOL is used on the ConsoleIn device.\r
+/// It is the minimum required protocol for ConsoleIn.\r
+///\r
struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL {\r
- EFI_INPUT_RESET Reset;\r
- EFI_INPUT_READ_KEY ReadKeyStroke;\r
- EFI_EVENT WaitForKey;\r
+ EFI_INPUT_RESET Reset;\r
+ EFI_INPUT_READ_KEY ReadKeyStroke;\r
+ ///\r
+ /// Event to use with WaitForEvent() to wait for a key to be available\r
+ ///\r
+ EFI_EVENT WaitForKey;\r
};\r
\r
-extern EFI_GUID gEfiSimpleTextInProtocolGuid;\r
+extern EFI_GUID gEfiSimpleTextInProtocolGuid;\r
\r
#endif\r