|
@@ -27,12 +27,11 @@
|
|
|
#include <stddef.h>
|
|
#include <stddef.h>
|
|
|
#include <sys/ioctl.h>
|
|
#include <sys/ioctl.h>
|
|
|
#include <sys/types.h>
|
|
#include <sys/types.h>
|
|
|
-#include <termios.h>
|
|
|
|
|
#include <unistd.h>
|
|
#include <unistd.h>
|
|
|
|
|
+#include "kernel_termios.h"
|
|
|
|
|
|
|
|
#ifdef L_isatty
|
|
#ifdef L_isatty
|
|
|
/* Return 1 if FD is a terminal, 0 if not. */
|
|
/* Return 1 if FD is a terminal, 0 if not. */
|
|
|
-#include "kernel_termios.h"
|
|
|
|
|
|
|
|
|
|
int isatty(int fd)
|
|
int isatty(int fd)
|
|
|
{
|
|
{
|
|
@@ -125,7 +124,7 @@ pid_t tcgetpgrp ( int fd)
|
|
|
|
|
|
|
|
#ifdef L_cfgetospeed
|
|
#ifdef L_cfgetospeed
|
|
|
/* Return the output baud rate stored in *TERMIOS_P. */
|
|
/* 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);
|
|
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
|
|
* 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
|
|
* 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. */
|
|
* 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)
|
|
return ((termios_p->c_iflag & IBAUD0)
|
|
|
? 0 : termios_p->c_cflag & (CBAUD | CBAUDEX));
|
|
? 0 : termios_p->c_cflag & (CBAUD | CBAUDEX));
|
|
@@ -146,7 +145,7 @@ speed_t cfgetispeed (const struct termios *termios_p)
|
|
|
|
|
|
|
|
#ifdef L_cfsetospeed
|
|
#ifdef L_cfsetospeed
|
|
|
/* Set the output baud rate stored in *TERMIOS_P to SPEED. */
|
|
/* 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
|
|
if ((speed & ~CBAUD) != 0
|
|
|
&& (speed < B57600 || speed > B460800))
|
|
&& (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
|
|
* 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
|
|
* 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. */
|
|
* 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
|
|
if ((speed & ~CBAUD) != 0
|
|
|
&& (speed < B57600 || speed > B460800))
|
|
&& (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. */
|
|
/* 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;
|
|
size_t cnt;
|
|
|
|
|
|
|
@@ -306,8 +305,7 @@ int cfsetspeed (struct termios *termios_p, speed_t speed)
|
|
|
|
|
|
|
|
/* Set *T to indicate raw mode. */
|
|
/* Set *T to indicate raw mode. */
|
|
|
void
|
|
void
|
|
|
-cfmakeraw (t)
|
|
|
|
|
- struct termios *t;
|
|
|
|
|
|
|
+cfmakeraw (struct libc_termios *t)
|
|
|
{
|
|
{
|
|
|
t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
|
|
t->c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
|
|
|
t->c_oflag &= ~OPOST;
|
|
t->c_oflag &= ~OPOST;
|