summaryrefslogtreecommitdiff
path: root/StdLib/LibC/Uefi/Devices/Utility
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/Uefi/Devices/Utility
parente575c101d866bb895ac2fab538bc2ed074163af3 (diff)
downloadedk2-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/Uefi/Devices/Utility')
-rw-r--r--StdLib/LibC/Uefi/Devices/Utility/DevGenisis.c32
1 files changed, 25 insertions, 7 deletions
diff --git a/StdLib/LibC/Uefi/Devices/Utility/DevGenisis.c b/StdLib/LibC/Uefi/Devices/Utility/DevGenisis.c
index f6d375e6db..8d95fbad5e 100644
--- a/StdLib/LibC/Uefi/Devices/Utility/DevGenisis.c
+++ b/StdLib/LibC/Uefi/Devices/Utility/DevGenisis.c
@@ -1,7 +1,7 @@
/** @file
Device Abstraction: device creation utility functions.
- Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2011 - 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 that accompanies this distribution.
The full text of the license may be found at
@@ -44,22 +44,40 @@ int EFIAPI fnullop_flush (struct __filedes *filp)
{ return 0; }
int EFIAPI fbadop_stat (struct __filedes *filp, struct stat *StatBuf, void *Buf)
-{ return -EPERM; }
+{
+ errno = EPERM;
+ return -1;
+}
int EFIAPI fbadop_ioctl (struct __filedes *filp, ULONGN Cmd, va_list argp)
-{ return -EPERM; }
+{
+ errno = EPERM;
+ return -1;
+}
int EFIAPI fbadop_delete (struct __filedes *filp)
-{ return -EPERM; }
+{
+ errno = EPERM;
+ return -1;
+}
int EFIAPI fbadop_mkdir (const char *path, __mode_t perms)
-{ return -EPERM; }
+{
+ errno = EPERM;
+ return -1;
+}
int EFIAPI fbadop_rename (const char *from, const char *to)
-{ return -EPERM; }
+{
+ errno = EPERM;
+ return -1;
+}
int EFIAPI fbadop_rmdir (struct __filedes *filp)
-{ return -EPERM; }
+{
+ errno = EPERM;
+ return -1;
+}
/** Add a new device to the device list.
If both DevName and DevProto are NULL, register this as the Default device.