summaryrefslogtreecommitdiff
path: root/libc/termios/termios.c
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2002-01-09 14:13:19 +0000
committerEric Andersen <andersen@codepoet.org>2002-01-09 14:13:19 +0000
commit90374108bb8e84f45ef3186f8d569cf1eb4e446d (patch)
treecdb2169ecf3be304c8ad01b4da85a28dde83c513 /libc/termios/termios.c
parent1ad690545c7079115f76918f483c33c120e48204 (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.c16
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;