Port of BAS 2.4 to NuttX by Alan Carvalho de Assis

This commit is contained in:
Gregory Nutt 2014-10-27 07:53:12 -06:00
parent 80efa803b9
commit b8e84e2dce
2 changed files with 29 additions and 10 deletions

View File

@ -242,7 +242,8 @@ struct termios
#ifdef __cplusplus
#define EXTERN extern "C"
extern "C" {
extern "C"
{
#else
#define EXTERN extern
#endif
@ -254,7 +255,7 @@ extern "C" {
* supported by simply defining them to be cfgetspeed().
*/
EXTERN speed_t cfgetspeed(FAR const struct termios *termiosp);
speed_t cfgetspeed(FAR const struct termios *termiosp);
#define cfgetispeed(termiosp) cfgetspeed(termiosp)
#define cfgetospeed(termiosp) cfgetspeed(termiosp)
@ -265,37 +266,41 @@ EXTERN speed_t cfgetspeed(FAR const struct termios *termiosp);
* supported by simply defining them to be cfsetspeed().
*/
EXTERN int cfsetspeed(FAR struct termios *termiosp, speed_t speed);
int cfsetspeed(FAR struct termios *termiosp, speed_t speed);
#define cfsetispeed(termiosp,speed) cfsetspeed(termiosp,speed)
#define cfsetospeed(termiosp,speed) cfsetspeed(termiosp,speed)
/* Wait for transmission of output */
EXTERN int tcdrain(int fd);
int tcdrain(int fd);
/* Suspend or restart the transmission or reception of data */
EXTERN int tcflow(int fd, int action);
int tcflow(int fd, int action);
/* Flush non-transmitted output data, non-read input data or both */
EXTERN int tcflush(int fd, int cmd);
int tcflush(int fd, int cmd);
/* Get the parameters associated with the terminal */
EXTERN int tcgetattr(int fd, FAR struct termios *termiosp);
int tcgetattr(int fd, FAR struct termios *termiosp);
/* Get process group ID for session leader for controlling terminal */
EXTERN pid_t tcgetsid(int fd);
pid_t tcgetsid(int fd);
/* Send a "break" for a specific duration */
EXTERN int tcsendbreak(int fd, int duration);
int tcsendbreak(int fd, int duration);
/* Set the parameters associated with the terminal */
EXTERN int tcsetattr(int fd, int options, FAR const struct termios *termiosp);
int tcsetattr(int fd, int options, FAR const struct termios *termiosp);
/* Verify if a file descript is a terminal i/o file */
int isatty(int fd);
#undef EXTERN
#ifdef __cplusplus

14
libc/termios/lib_isatty.c Normal file
View File

@ -0,0 +1,14 @@
/* Added by Alan Carvalho de Assis
This code is from:
https://github.com/raggi/apue.2e/blob/master/termios/isatty.c
based on Advanced Programming in the UNIX Environment
*/
#include <termios.h>
int isatty(int fd)
{
struct termios ts;
return(tcgetattr(fd, &ts) != -1); /* true if no error (is a tty) */
}