1da2e3ebdSchinhdr termios,termio,sgtty 2da2e3ebdSchinsys termios,termio,ioctl,bsdtty,nttyio,ttyio 3da2e3ebdSchinlib tcgetattr,tcgetpgrp termios.h 4da2e3ebdSchinmac _POSIX_VDISABLE termios.h 5da2e3ebdSchinmem termios.c_line termios.h 6da2e3ebdSchin 7da2e3ebdSchincat{ 8da2e3ebdSchin 9da2e3ebdSchin#ifdef _hdr_termios 10da2e3ebdSchin# if _mac__POSIX_VDISABLE 11da2e3ebdSchin# undef _POSIX_VDISABLE 12da2e3ebdSchin# endif 13da2e3ebdSchin# include <termios.h> 14da2e3ebdSchin#else 15da2e3ebdSchin# if defined(_sys_termios) && defined(_lib_tcgetattr) 16da2e3ebdSchin# include <sys/termios.h> 17da2e3ebdSchin# define _hdr_termios 1 18da2e3ebdSchin# else 19da2e3ebdSchin# undef _sys_termios 20da2e3ebdSchin# endif /* _sys_termios */ 21da2e3ebdSchin#endif /* _hdr_termios */ 22da2e3ebdSchin 23da2e3ebdSchin#ifdef _hdr_termios 24da2e3ebdSchin# undef _hdr_sgtty 25da2e3ebdSchin# undef tcgetattr 26da2e3ebdSchin# undef tcsetattr 27da2e3ebdSchin# undef tcgetpgrp 28da2e3ebdSchin# undef tcsetpgrp 29da2e3ebdSchin# undef cfgetospeed 30da2e3ebdSchin# ifndef TCSANOW 31da2e3ebdSchin# define TCSANOW TCSETS 32da2e3ebdSchin# define TCSADRAIN TCSETSW 33da2e3ebdSchin# define TCSAFLUSH TCSETSF 34da2e3ebdSchin# endif /* TCSANOW */ 35da2e3ebdSchin /* The following corrects bugs in some implementations */ 36da2e3ebdSchin# if defined(TCSADFLUSH) && !defined(TCSAFLUSH) 37da2e3ebdSchin# define TCSAFLUSH TCSADFLUSH 38da2e3ebdSchin# endif /* TCSADFLUSH */ 39da2e3ebdSchin# ifndef _lib_tcgetattr 40da2e3ebdSchin# undef tcgetattr 41da2e3ebdSchin# define tcgetattr(fd,tty) ioctl(fd, TCGETS, tty) 42da2e3ebdSchin# undef tcsetattr 43da2e3ebdSchin# define tcsetattr(fd,action,tty) ioctl(fd, action, tty) 44da2e3ebdSchin# undef cfgetospeed 45da2e3ebdSchin# define cfgetospeed(tp) ((tp)->c_cflag & CBAUD) 46da2e3ebdSchin# endif /* _lib_tcgetattr */ 47da2e3ebdSchin# undef TIOCGETC 48da2e3ebdSchin#else 49da2e3ebdSchin# define cfgetospeed(tp) ((tp)->c_cflag & CBAUD) 50da2e3ebdSchin# define cfgetispeed(tp) ((tp)->c_cflag & CBAUD) 51da2e3ebdSchin# define cfsetispeed(tp,val) ((tp)->c_cflag &=~ CBAUD,(tp)->c_cflag|=(val)) 52da2e3ebdSchin# define cfsetospeed(tp,val) ((tp)->c_cflag &=~ CBAUD,(tp)->c_cflag|=(val)) 53da2e3ebdSchin# ifdef _hdr_termio 54da2e3ebdSchin# include <termio.h> 55da2e3ebdSchin# else 56da2e3ebdSchin# ifdef _sys_termio 57da2e3ebdSchin# include <sys/termio.h> 58da2e3ebdSchin# define _hdr_termio 1 59da2e3ebdSchin# endif /* _sys_termio */ 60da2e3ebdSchin# endif /* _hdr_termio */ 61da2e3ebdSchin# ifdef _hdr_termio 62da2e3ebdSchin# define termios termio 63da2e3ebdSchin# undef TIOCGETC 64da2e3ebdSchin# define tcgetattr(fd,tty) ioctl(fd, TCGETA, tty) 65da2e3ebdSchin# define tcsetattr(fd,action,tty) ioctl(fd, action, tty) 66da2e3ebdSchin 67da2e3ebdSchin# ifdef _sys_bsdtty 68da2e3ebdSchin# include <sys/bsdtty.h> 69da2e3ebdSchin# endif /* _sys_bsdtty */ 70da2e3ebdSchin# else 71da2e3ebdSchin# ifdef _hdr_sgtty 72da2e3ebdSchin# include <sgtty.h> 73da2e3ebdSchin# ifndef LPENDIN 74da2e3ebdSchin# ifdef _sys_nttyio 75da2e3ebdSchin# include <sys/nttyio.h> 76da2e3ebdSchin# endif /* _sys_nttyio */ 77da2e3ebdSchin# endif /* LPENDIN */ 78da2e3ebdSchin# define termios sgttyb 79da2e3ebdSchin# ifdef TIOCSETN 80da2e3ebdSchin# undef TCSETAW 81da2e3ebdSchin# endif /* TIOCSETN */ 82da2e3ebdSchin# ifdef TIOCGETP 83da2e3ebdSchin# define tcgetattr(fd,tty) ioctl(fd, TIOCGETP, tty) 84da2e3ebdSchin# define tcsetattr(fd,action,tty) ioctl(fd, action, tty) 85da2e3ebdSchin# else 86da2e3ebdSchin# define tcgetattr(fd,tty) gtty(fd, tty) 87da2e3ebdSchin# define tcsetattr(fd,action,tty) stty(fd, tty) 88da2e3ebdSchin# endif /* TIOCGETP */ 89da2e3ebdSchin# else 90da2e3ebdSchin# ifdef _sys_ttyio 91da2e3ebdSchin# include <sys/ttyio.h> 92da2e3ebdSchin# endif 93da2e3ebdSchin# endif /* _hdr_sgtty */ 94da2e3ebdSchin# endif /* hdr_termio */ 95da2e3ebdSchin 96da2e3ebdSchin# ifndef TCSANOW 97da2e3ebdSchin# ifdef TCSETAW 98da2e3ebdSchin# define TCSANOW TCSETA 99da2e3ebdSchin# define TCSAFLUSH TCSETAF 100da2e3ebdSchin# else 101da2e3ebdSchin# ifdef TIOCSETN 102da2e3ebdSchin# define TCSANOW TIOCSETN 103da2e3ebdSchin# define TCSADRAIN TIOCSETN 104da2e3ebdSchin# define TCSAFLUSH TIOCSETP 105da2e3ebdSchin# endif /* TIOCSETN */ 106da2e3ebdSchin# endif /* TCSETAW */ 107da2e3ebdSchin# endif /* TCSANOW */ 108da2e3ebdSchin#endif /* _hdr_termios */ 109da2e3ebdSchin 110da2e3ebdSchin/* set ECHOCTL if driver can echo control charaters as ^c */ 111da2e3ebdSchin#ifdef LCTLECH 112da2e3ebdSchin# ifndef ECHOCTL 113da2e3ebdSchin# define ECHOCTL LCTLECH 114da2e3ebdSchin# endif /* !ECHOCTL */ 115da2e3ebdSchin#endif /* LCTLECH */ 116da2e3ebdSchin#ifdef LNEW_CTLECH 117da2e3ebdSchin# ifndef ECHOCTL 118da2e3ebdSchin# define ECHOCTL LNEW_CTLECH 119da2e3ebdSchin# endif /* !ECHOCTL */ 120da2e3ebdSchin#endif /* LNEW_CTLECH */ 121da2e3ebdSchin#ifdef LNEW_PENDIN 122da2e3ebdSchin# ifndef PENDIN 123da2e3ebdSchin# define PENDIN LNEW_PENDIN 124da2e3ebdSchin# endif /* !PENDIN */ 125da2e3ebdSchin#endif /* LNEW_PENDIN */ 126da2e3ebdSchin 127da2e3ebdSchin}end 128