16 #ifndef __SYS_TERMIOS_H__
17 #define __SYS_TERMIOS_H__
21 #include <sys/types.h>
24 typedef unsigned char cc_t;
25 typedef unsigned int speed_t;
26 typedef unsigned int tcflag_t;
42 unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel;
63 #define IGNBRK 0000001
64 #define BRKINT 0000002
65 #define IGNPAR 0000004
66 #define PARMRK 0000010
68 #define ISTRIP 0000040
76 #define IMAXBEL 0020000
84 #define ONLRET 0000040
87 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE)
96 #define TABDLY 0014000
101 #define BSDLY 0020000
104 #define FFDLY 0100000
109 #define VTDLY 0040000
122 #define B1200 0000011
123 #define B1800 0000012
124 #define B2400 0000013
125 #define B4800 0000014
126 #define B9600 0000015
127 #define B19200 0000016
128 #define B38400 0000017
130 #define B57600 0010001
131 #define B115200 0010002
132 #define B230400 0010003
133 #define B460800 0010004
134 #define B500000 0010005
135 #define B576000 0010006
136 #define B921600 0010007
137 #define B1000000 0010010
138 #define B1152000 0010011
139 #define B1500000 0010012
140 #define B2000000 0010013
141 #define B2500000 0010014
142 #define B3000000 0010015
143 #define B3500000 0010016
144 #define B4000000 0010017
146 #define CSIZE 0000060
151 #define CSTOPB 0000100
152 #define CREAD 0000200
153 #define PARENB 0000400
154 #define PARODD 0001000
155 #define HUPCL 0002000
156 #define CLOCAL 0004000
159 #define ICANON 0000002
161 #define ECHOE 0000020
162 #define ECHOK 0000040
163 #define ECHONL 0000100
164 #define NOFLSH 0000200
165 #define TOSTOP 0000400
166 #define IEXTEN 0100000
181 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
184 #define CBAUD 0010017
185 #define CBAUDEX 0010000
186 #define CIBAUD 002003600000
187 #define CMSPAR 010000000000
188 #define CRTSCTS 020000000000
190 #define XCASE 0000004
191 #define ECHOCTL 0001000
192 #define ECHOPRT 0002000
193 #define ECHOKE 0004000
194 #define FLUSHO 0010000
195 #define PENDIN 0040000
196 #define EXTPROC 0200000
198 #define XTABS 0014000
203 extern speed_t cfgetospeed (
const struct termios *termios_p);
204 extern speed_t cfgetispeed (
const struct termios *termios_p);
205 extern int cfsetospeed (
struct termios *termios_p, speed_t speed);
206 extern int cfsetispeed (
struct termios *termios_p, speed_t speed);
208 extern int tcgetattr (
int fildes,
struct termios *termios_p);
209 extern int tcsetattr (
int fildes,
int optional_actions,
const struct termios *termios_p);
211 extern int tcgetwinsize (
int fildes,
struct winsize *gws);
212 extern int tcsetwinsize (
int fildes,
const struct winsize *gws);
214 extern int tcsendbreak (
int fildes,
int len);
215 extern int tcdrain (
int fildes);
216 extern int tcflush (
int fildes,
int action);
217 extern int tcflow (
int fildes,
int action);
220 extern pid_t tcgetsid (
int fildes);
223 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
224 extern void cfmakeraw(
struct termios *termios_p);
225 extern int cfsetspeed(
struct termios *termios_p, speed_t speed);