From 90374108bb8e84f45ef3186f8d569cf1eb4e446d Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 9 Jan 2002 14:13:19 +0000 Subject: Rework termios wrapping code to try and do the right thing. -Erik --- libc/termios/termios.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'libc/termios/termios.c') 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 #include #include -#include #include +#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; -- cgit v1.2.3