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