StdLib: Add terminal type line editing (Interactive IO) for console devices.
Adds a subset of the terminal I/O capabilities described in the Single Unix Specification, V4. Supports: Erase previous character. Default is Backspace or ^H Erase line. Default is ^U TAB characters are supported and, by default, are rendered as 8 spaces. They will still be read as a single TAB character. Both Canonical and Non-Canonical modes are supported. If a terminal device is opened with O_TTY_INIT in the mode, the device will be initialized to "sane" values for interactive use. It will be in Canonical mode, Enter will be translated to NewLine and on output, a NewLine is translated to CRLF. Echoing will be on, control characters are output as ^X, and TABs are expanded. See the new <sys/termios.h> file for more information. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: daryl.mcdaniel@intel.com Reviewed-by: erik.c.bjorge@intel.com Reviewed-by: leroy.p.leahy@intel.com Reviewed-by: lee.g.rosenbaum@intel.com Reviewed-by: jaben.carsey@intel.com git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13989 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
33
StdLib/LibC/Uefi/InteractiveIO/IIOechoCtrl.h
Normal file
33
StdLib/LibC/Uefi/InteractiveIO/IIOechoCtrl.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/** @file
|
||||
Constants and declarations for the Echo function.
|
||||
|
||||
Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials are licensed and made available
|
||||
under the terms and conditions of the BSD License which accompanies this
|
||||
distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php.
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
**/
|
||||
#ifndef _IIO_ECHO_CTRL_H
|
||||
#define _IIO_ECHO_CTRL_H
|
||||
#include <sys/termios.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* These constants are assigned values within the Unicode Private Use range.
|
||||
The value of IIO_ECHO_MIN must be adjusted to ensure that IIO_ECHO_MAX
|
||||
never exceeds the value of 0xF900.
|
||||
*/
|
||||
typedef enum {
|
||||
IIO_ECHO_MIN = (TtyFunKeyMin - 3),
|
||||
IIO_ECHO_DISCARD = IIO_ECHO_MIN, // Ignore this character completely
|
||||
IIO_ECHO_ERASE, // Erase previous character
|
||||
IIO_ECHO_KILL, // Kill the entire line
|
||||
IIO_ECHO_MAX
|
||||
} IioEchoCtrl;
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _IIO_ECHO_CTRL_H */
|
Reference in New Issue
Block a user