]> git.proxmox.com Git - mirror_edk2.git/commit
StdLib: Add terminal type line editing (Interactive IO) for console devices.
authordarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 11 Dec 2012 21:19:14 +0000 (21:19 +0000)
committerdarylm503 <darylm503@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 11 Dec 2012 21:19:14 +0000 (21:19 +0000)
commit6c6c850ad62d6fdc73828057339be1dc7df37c8e
treea61c6d2725dd186f3affcb9b00b8d4caf2ea1ee6
parente575c101d866bb895ac2fab538bc2ed074163af3
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
23 files changed:
StdLib/Include/Containers/Fifo.h [new file with mode: 0644]
StdLib/Include/Containers/ModuloUtil.h [new file with mode: 0644]
StdLib/Include/sys/termios.h
StdLib/LibC/Containers/Common/ModuloUtil.c [new file with mode: 0644]
StdLib/LibC/Containers/ContainerLib.inf [new file with mode: 0644]
StdLib/LibC/Containers/Queues/Fifo.c [new file with mode: 0644]
StdLib/LibC/Main/Main.c
StdLib/LibC/Uefi/Devices/Console/daConsole.c
StdLib/LibC/Uefi/Devices/Utility/DevGenisis.c
StdLib/LibC/Uefi/Devices/daConsole.inf
StdLib/LibC/Uefi/InteractiveIO/CanonRead.c [new file with mode: 0644]
StdLib/LibC/Uefi/InteractiveIO/IIO.c [new file with mode: 0644]
StdLib/LibC/Uefi/InteractiveIO/IIO.inf [new file with mode: 0644]
StdLib/LibC/Uefi/InteractiveIO/IIOecho.c [new file with mode: 0644]
StdLib/LibC/Uefi/InteractiveIO/IIOechoCtrl.h [new file with mode: 0644]
StdLib/LibC/Uefi/InteractiveIO/IIOutilities.c [new file with mode: 0644]
StdLib/LibC/Uefi/InteractiveIO/IIOutilities.h [new file with mode: 0644]
StdLib/LibC/Uefi/InteractiveIO/IIOwrite.c [new file with mode: 0644]
StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c [new file with mode: 0644]
StdLib/LibC/Uefi/InteractiveIO/TerminalFunctions.c [new file with mode: 0644]
StdLib/LibC/Uefi/SysCalls.c
StdLib/StdLib.dsc
StdLib/StdLib.inc