Addition of more functionality by Eric Norum to support GNU readline.

This commit is contained in:
Joel Sherrill
1999-10-01 15:55:30 +00:00
parent 6b7a6d9840
commit 3cad291962
10 changed files with 233 additions and 7 deletions

View File

@@ -0,0 +1,33 @@
/*
* tcflow() - POSIX 1003.1b 7.2.2 - Line Control Functions
*
* COPYRIGHT (c) 1989-1998.
* On-Line Applications Research Corporation (OAR).
* Copyright assigned to U.S. Government, 1994.
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id$
*/
#include <rtems.h>
#if defined(RTEMS_NEWLIB)
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <termios.h>
/* #include <sys/ioctl.h> */
int ioctl();
#include <rtems/libio.h>
int tcflow (int fd, int action)
{
return 0;
}
#endif

View File

@@ -0,0 +1,33 @@
/*
* tcflush() - POSIX 1003.1b 7.2.2 - Line Control Functions
*
* COPYRIGHT (c) 1989-1998.
* On-Line Applications Research Corporation (OAR).
* Copyright assigned to U.S. Government, 1994.
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id$
*/
#include <rtems.h>
#if defined(RTEMS_NEWLIB)
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <termios.h>
/* #include <sys/ioctl.h> */
int ioctl();
#include <rtems/libio.h>
int tcflush (int fd, int queue)
{
return 0;
}
#endif

View File

@@ -32,9 +32,18 @@ int tcsetattr(
struct termios *tp
)
{
if ( opt != TCSANOW )
switch (opt) {
default:
set_errno_and_return_minus_one( ENOTSUP );
return ioctl( fd, RTEMS_IO_SET_ATTRIBUTES, tp );
case TCSADRAIN:
if (ioctl( fd, RTEMS_IO_TCDRAIN, NULL ) < 0)
return -1;
/*
* Fall through to....
*/
case TCSANOW:
return ioctl( fd, RTEMS_IO_SET_ATTRIBUTES, tp );
}
}
#endif

View File

@@ -25,7 +25,8 @@ IMFS_C_PIECES = imfs_chown imfs_creat imfs_directory imfs_eval imfs_free \
imfs_readlink imfs_fdatasync
TERMIOS_C_PIECES = cfgetispeed cfgetospeed cfsetispeed cfsetospeed tcgetattr \
tcsetattr tcdrain termios termiosinitialize termiosreserveresources
tcsetattr tcdrain tcflow tcflush termios \
termiosinitialize termiosreserveresources
SYSTEM_CALL_C_PIECES = open close read write lseek ioctl mkdir mknod mkfifo \
rmdir chdir chmod fchmod chown link unlink umask ftruncate utime fstat \

33
c/src/lib/libc/tcflow.c Normal file
View File

@@ -0,0 +1,33 @@
/*
* tcflow() - POSIX 1003.1b 7.2.2 - Line Control Functions
*
* COPYRIGHT (c) 1989-1998.
* On-Line Applications Research Corporation (OAR).
* Copyright assigned to U.S. Government, 1994.
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id$
*/
#include <rtems.h>
#if defined(RTEMS_NEWLIB)
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <termios.h>
/* #include <sys/ioctl.h> */
int ioctl();
#include <rtems/libio.h>
int tcflow (int fd, int action)
{
return 0;
}
#endif

33
c/src/lib/libc/tcflush.c Normal file
View File

@@ -0,0 +1,33 @@
/*
* tcflush() - POSIX 1003.1b 7.2.2 - Line Control Functions
*
* COPYRIGHT (c) 1989-1998.
* On-Line Applications Research Corporation (OAR).
* Copyright assigned to U.S. Government, 1994.
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id$
*/
#include <rtems.h>
#if defined(RTEMS_NEWLIB)
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <termios.h>
/* #include <sys/ioctl.h> */
int ioctl();
#include <rtems/libio.h>
int tcflush (int fd, int queue)
{
return 0;
}
#endif

View File

@@ -32,9 +32,18 @@ int tcsetattr(
struct termios *tp
)
{
if ( opt != TCSANOW )
switch (opt) {
default:
set_errno_and_return_minus_one( ENOTSUP );
return ioctl( fd, RTEMS_IO_SET_ATTRIBUTES, tp );
case TCSADRAIN:
if (ioctl( fd, RTEMS_IO_TCDRAIN, NULL ) < 0)
return -1;
/*
* Fall through to....
*/
case TCSANOW:
return ioctl( fd, RTEMS_IO_SET_ATTRIBUTES, tp );
}
}
#endif