diff options
author | Eric Andersen <andersen@codepoet.org> | 2002-01-09 14:13:19 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2002-01-09 14:13:19 +0000 |
commit | 90374108bb8e84f45ef3186f8d569cf1eb4e446d (patch) | |
tree | cdb2169ecf3be304c8ad01b4da85a28dde83c513 /libc/termios/termios.c | |
parent | 1ad690545c7079115f76918f483c33c120e48204 (diff) |
Rework termios wrapping code to try and do the right thing.
-Erik
Diffstat (limited to 'libc/termios/termios.c')
-rw-r--r-- | libc/termios/termios.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/libc/termios/termios.c b/libc/termios/termios.c index 43b4cb647..a5b3b2776 100644 --- a/libc/termios/termios.c +++ b/libc/termios/termios.c @@ -27,12 +27,11 @@ #include <stddef.h> #include <sys/ioctl.h> #include <sys/types.h> -#include <termios.h> #include <unistd.h> +#include "kernel_termios.h" #ifdef L_isatty /* Return 1 if FD is a terminal, 0 if not. */ -#include "kernel_termios.h" int isatty(int fd) { @@ -125,7 +124,7 @@ pid_t tcgetpgrp ( int fd) #ifdef L_cfgetospeed /* Return the output baud rate stored in *TERMIOS_P. */ -speed_t cfgetospeed ( const struct termios *termios_p) +speed_t cfgetospeed ( const struct libc_termios *termios_p) { return termios_p->c_cflag & (CBAUD | CBAUDEX); } @@ -137,7 +136,7 @@ speed_t cfgetospeed ( const struct termios *termios_p) * Although for Linux there is no difference between input and output * speed, the numerical 0 is a special case for the input baud rate. It * should set the input baud rate to the output baud rate. */ -speed_t cfgetispeed (const struct termios *termios_p) +speed_t cfgetispeed (const struct libc_termios *termios_p) { return ((termios_p->c_iflag & IBAUD0) ? 0 : termios_p->c_cflag & (CBAUD | CBAUDEX)); @@ -146,7 +145,7 @@ speed_t cfgetispeed (const struct termios *termios_p) #ifdef L_cfsetospeed /* Set the output baud rate stored in *TERMIOS_P to SPEED. */ -int cfsetospeed (struct termios *termios_p, speed_t speed) +int cfsetospeed (struct libc_termios *termios_p, speed_t speed) { if ((speed & ~CBAUD) != 0 && (speed < B57600 || speed > B460800)) @@ -167,7 +166,7 @@ int cfsetospeed (struct termios *termios_p, speed_t speed) * Although for Linux there is no difference between input and output * speed, the numerical 0 is a special case for the input baud rate. It * should set the input baud rate to the output baud rate. */ -int cfsetispeed ( struct termios *termios_p, speed_t speed) +int cfsetispeed ( struct libc_termios *termios_p, speed_t speed) { if ((speed & ~CBAUD) != 0 && (speed < B57600 || speed > B460800)) @@ -274,7 +273,7 @@ static const struct speed_struct speeds[] = /* Set both the input and output baud rates stored in *TERMIOS_P to SPEED. */ -int cfsetspeed (struct termios *termios_p, speed_t speed) +int cfsetspeed (struct libc_termios *termios_p, speed_t speed) { size_t cnt; @@ -306,8 +305,7 @@ int cfsetspeed (struct termios *termios_p, speed_t speed) /* Set *T to indicate raw mode. */ void -cfmakeraw (t) - struct termios *t; +cfmakeraw (struct libc_termios *t) { t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON); t->c_oflag &= ~OPOST; |