diff options
author | darylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-12-11 21:19:14 +0000 |
---|---|---|
committer | darylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524> | 2012-12-11 21:19:14 +0000 |
commit | 6c6c850ad62d6fdc73828057339be1dc7df37c8e (patch) | |
tree | a61c6d2725dd186f3affcb9b00b8d4caf2ea1ee6 /StdLib/LibC/Main | |
parent | e575c101d866bb895ac2fab538bc2ed074163af3 (diff) | |
download | edk2-platforms-6c6c850ad62d6fdc73828057339be1dc7df37c8e.tar.xz |
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
Diffstat (limited to 'StdLib/LibC/Main')
-rw-r--r-- | StdLib/LibC/Main/Main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/StdLib/LibC/Main/Main.c b/StdLib/LibC/Main/Main.c index 5736428db5..0c84c160e0 100644 --- a/StdLib/LibC/Main/Main.c +++ b/StdLib/LibC/Main/Main.c @@ -158,9 +158,9 @@ ShellAppMain ( mfd[i].MyFD = (UINT16)i;
}
- i = open("stdin:", O_RDONLY, 0444);
+ i = open("stdin:", (O_RDONLY | O_TTY_INIT), 0444);
if(i == 0) {
- i = open("stdout:", O_WRONLY, 0222);
+ i = open("stdout:", (O_WRONLY | O_TTY_INIT), 0222);
if(i == 1) {
i = open("stderr:", O_WRONLY, 0222);
}
|