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