summaryrefslogtreecommitdiffstats
path: root/StdLib/LibC/Main/Main.c
diff options
context:
space:
mode:
authordarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>2012-12-11 21:19:14 +0000
committerdarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>2012-12-11 21:19:14 +0000
commit6c6c850ad62d6fdc73828057339be1dc7df37c8e (patch)
treea61c6d2725dd186f3affcb9b00b8d4caf2ea1ee6 /StdLib/LibC/Main/Main.c
parente575c101d866bb895ac2fab538bc2ed074163af3 (diff)
downloadedk2-6c6c850ad62d6fdc73828057339be1dc7df37c8e.tar.gz
edk2-6c6c850ad62d6fdc73828057339be1dc7df37c8e.tar.bz2
edk2-6c6c850ad62d6fdc73828057339be1dc7df37c8e.zip
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/Main.c')
-rw-r--r--StdLib/LibC/Main/Main.c4
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);
}