1 #ifndef	_SYS_TERMIOS_H
2 # define _SYS_TERMIOS_H
3 
4 # define _XCGETA (('x'<<8)|1)
5 # define _XCSETA (('x'<<8)|2)
6 # define _XCSETAW (('x'<<8)|3)
7 # define _XCSETAF (('x'<<8)|4)
8 # define _TCSBRK (('T'<<8)|5)
9 # define _TCFLSH (('T'<<8)|7)
10 # define _TCXONC (('T'<<8)|6)
11 
12 # define TCOOFF	0
13 # define TCOON	1
14 # define TCIOFF	2
15 # define TCION	3
16 
17 # define TCIFLUSH	0
18 # define TCOFLUSH	1
19 # define TCIOFLUSH	2
20 
21 # define NCCS 13
22 
23 # define TCSAFLUSH	_XCSETAF
24 # define TCSANOW	_XCSETA
25 # define TCSADRAIN	_XCSETAW
26 # define TCSADFLUSH	_XCSETAF
27 
28 # define IGNBRK	000001
29 # define BRKINT	000002
30 # define IGNPAR	000004
31 # define INPCK	000020
32 # define ISTRIP	000040
33 # define INLCR	000100
34 # define IGNCR	000200
35 # define ICRNL	000400
36 # define IXON	002000
37 # define IXOFF	010000
38 
39 # define OPOST	000001
40 # define OCRNL	000004
41 # define ONLCR	000010
42 # define ONOCR	000020
43 # define TAB3	014000
44 
45 # define CLOCAL	004000
46 # define CREAD	000200
47 # define CSIZE	000060
48 # define CS5	0
49 # define CS6	020
50 # define CS7	040
51 # define CS8	060
52 # define CSTOPB	000100
53 # define HUPCL	002000
54 # define PARENB	000400
55 # define PAODD	001000
56 
57 # define ECHO	0000010
58 # define ECHOE	0000020
59 # define ECHOK	0000040
60 # define ECHONL	0000100
61 # define ICANON	0000002
62 # define IEXTEN	0000400	/* anybody know *what* this does?! */
63 # define ISIG	0000001
64 # define NOFLSH	0000200
65 # define TOSTOP	0001000
66 
67 # define VEOF	4	/* also VMIN -- thanks, AT&T */
68 # define VEOL	5	/* also VTIME -- thanks again */
69 # define VERASE	2
70 # define VINTR	0
71 # define VKILL	3
72 # define VMIN	4	/* also VEOF */
73 # define VQUIT	1
74 # define VSUSP	10
75 # define VTIME	5	/* also VEOL */
76 # define VSTART	11
77 # define VSTOP	12
78 
79 # define B0	000000
80 # define B50	000001
81 # define B75	000002
82 # define B110	000003
83 # define B134	000004
84 # define B150	000005
85 # define B200	000006
86 # define B300	000007
87 # define B600	000010
88 # define B1200	000011
89 # define B1800	000012
90 # define B2400	000013
91 # define B4800	000014
92 # define B9600	000015
93 # define B19200	000016
94 # define B38400	000017
95 
96 typedef unsigned char cc_t;
97 typedef unsigned short tcflag_t;
98 typedef char speed_t;
99 
100 struct termios {
101 	tcflag_t	c_iflag;
102 	tcflag_t	c_oflag;
103 	tcflag_t	c_cflag;
104 	tcflag_t	c_lflag;
105 	char		c_line;
106 	cc_t		c_cc[NCCS];
107 	speed_t		c_ispeed;
108 	speed_t		c_ospeed;
109 };
110 
111 # ifndef _NO_MACROS
112 
113 #  define cfgetospeed(tp)	((tp)->c_ospeed)
114 #  define cfgetispeed(tp)	((tp)->c_ispeed)
115 #  define cfsetospeed(tp,s)	(((tp)->c_ospeed = (s)), 0)
116 #  define cfsetispeed(tp,s)	(((tp)->c_ispeed = (s)), 0)
117 #  define tcdrain(fd)		_ioctl (fd, _TCSBRK, 1)
118 # endif	/* _NO_MACROS */
119 
120 #endif	/* _SYS_TERMIOS_H */
121 
122