diff options
author | Nicolas Planel <nplanel@mandriva.com> | 2003-10-29 16:07:11 +0000 |
---|---|---|
committer | Nicolas Planel <nplanel@mandriva.com> | 2003-10-29 16:07:11 +0000 |
commit | de47eb59bb829423b1d0f47ba13099073999b3cb (patch) | |
tree | 827f35c4666e15ec66edae7c1fa05d963324602b /mdk-stage1/dietlibc/lib/tcsetattr.c | |
parent | 1fece42e9c460ca017fc4facad380f05163d8977 (diff) | |
download | drakx-backup-do-not-use-de47eb59bb829423b1d0f47ba13099073999b3cb.tar drakx-backup-do-not-use-de47eb59bb829423b1d0f47ba13099073999b3cb.tar.gz drakx-backup-do-not-use-de47eb59bb829423b1d0f47ba13099073999b3cb.tar.bz2 drakx-backup-do-not-use-de47eb59bb829423b1d0f47ba13099073999b3cb.tar.xz drakx-backup-do-not-use-de47eb59bb829423b1d0f47ba13099073999b3cb.zip |
Corporate Server 2.1.1 releasetopic/Corpo_2_1
Diffstat (limited to 'mdk-stage1/dietlibc/lib/tcsetattr.c')
-rw-r--r-- | mdk-stage1/dietlibc/lib/tcsetattr.c | 46 |
1 files changed, 28 insertions, 18 deletions
diff --git a/mdk-stage1/dietlibc/lib/tcsetattr.c b/mdk-stage1/dietlibc/lib/tcsetattr.c index cf70354d2..03fe8adee 100644 --- a/mdk-stage1/dietlibc/lib/tcsetattr.c +++ b/mdk-stage1/dietlibc/lib/tcsetattr.c @@ -1,27 +1,37 @@ -#define tcsetattr libc_tcsetattr #include <termios.h> #include <sys/ioctl.h> -#undef tcsetattr +#include <errno.h> +#include "dietfeatures.h" -#include <asm/errno.h> +#if !defined(__powerpc__) && !defined(__sparc__) && !defined(__alpha__) && !defined(__hppa__) +#if TCSANOW==0 && TCSADRAIN==1 && TCSAFLUSH==2 && TCSETSW-TCSETS==1 && TCSETSF-TCSETS==2 +#define shortcut +#endif +#endif -extern int errno; +int tcsetattr ( int fildes, int optional_actions, struct termios* termios_p ) +{ +#ifdef shortcut -/* Hack around a kernel bug; value must correspond to the one used in speed.c */ -#define IBAUD0 020000000000 + if ( (unsigned int)optional_actions < 3u ) + return ioctl ( fildes, TCSETS+optional_actions, termios_p ); -int tcsetattr(int fildes, int optional_actions, struct termios *termios_p) -{ - termios_p->c_iflag &= ~IBAUD0; - switch (optional_actions) { - case TCSANOW: - return ioctl(fildes, TCSETS, termios_p); - case TCSADRAIN: - return ioctl(fildes, TCSETSW, termios_p); - case TCSAFLUSH: - return ioctl(fildes, TCSETSF, termios_p); - default: errno = EINVAL; return -1; - } + +#else + + switch ( optional_actions ) { + case TCSANOW: + return ioctl ( fildes, TCSETS , termios_p ); + case TCSADRAIN: + return ioctl ( fildes, TCSETSW, termios_p ); + case TCSAFLUSH: + return ioctl ( fildes, TCSETSF, termios_p ); + default: + errno = EINVAL; + return -1; + } + +#endif } |