summaryrefslogtreecommitdiff
path: root/StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c
diff options
context:
space:
mode:
Diffstat (limited to 'StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c')
-rw-r--r--StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c88
1 files changed, 0 insertions, 88 deletions
diff --git a/StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c b/StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c
deleted file mode 100644
index aab81cdaa8..0000000000
--- a/StdLib/LibC/Uefi/InteractiveIO/NonCanonRead.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/** @file
- NonCanonical Interactive Input Function.
-
- The functions assume that isatty() is TRUE at the time they are called.
- If _S_IWTTY is set, the device returns WIDE characters.
-
- Copyright (c) 2012 - 2014, 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.
-**/
-#include <LibConfig.h>
-
-#include <sys/syslimits.h>
-#include <sys/termios.h>
-#include <Containers/Fifo.h>
-#include <Device/IIO.h>
-
-/** Perform a noncanonical read of input.
-
- @param[in] filp Pointer to a file descriptor structure.
- @param[in] BufferSize Maximum number of bytes to return.
-
- @retval -1 An error has occurred. Reason in errno.
- @retval -1 No data returned. None was ready.
- @retval >0 The number of elements returned
-**/
-ssize_t
-IIO_NonCanonRead (
- struct __filedes *filp
- )
-{
- cIIO *This;
- cFIFO *InBuf;
- struct termios *Termio;
- ssize_t NumRead;
- cc_t tioMin;
- cc_t tioTime;
- UINT32 InputType;
- wchar_t InChar; // Intermediate character buffer
-
- NumRead = -1;
- InChar = 0; // Initialize so compilers don't complain.
- This = filp->devdata;
- Termio = &This->Termio;
- InBuf = This->InBuf;
- tioMin = Termio->c_cc[VMIN];
- tioTime = Termio->c_cc[VTIME];
-
- if(tioMin >= MAX_INPUT) {
- tioMin = MAX_INPUT;
- }
- /* There are four types of processing that may be done, based on
- the values of tioMin and tioTime.
- Min Time Type
- --- ---- ----
- 0 0 0 Return buffer contents or 1 new char
- 0 >0 1 Return 0 or 1 character depending on timeout
- >0 0 2 Buffer Min chars. Return BufferSize chars.
- >0 >0 3 Return up to Min chars. Unless the inter-byte timer expires.
-
- Currently, only type 0 is implemented.
- */
- InputType = 0;
- if(tioMin != 0) InputType = 2;
- if(tioTime != 0) ++InputType;
- //switch(InputType) {
- // case 0:
- if(InBuf->IsEmpty(InBuf)) {
- NumRead = filp->f_ops->fo_read(filp, &filp->f_offset, sizeof(wchar_t), &InChar);
- if(NumRead > 0) {
- (void) InBuf->Write(InBuf, &InChar, 1); // Buffer the character
- }
- }
- // break;
- // case 1:
- // break;
- // case 2:
- // break;
- // case 3:
- // break;
- //}
- return NumRead;
-}