00001
00002
00003 #ifndef _TERMIOS_H
00004 #define _TERMIOS_H
00005
00006 typedef unsigned short tcflag_t;
00007 typedef unsigned char cc_t;
00008 typedef unsigned int speed_t;
00009
00010 #define NCCS 20
00011
00012
00013
00014 struct termios {
00015 tcflag_t c_iflag;
00016 tcflag_t c_oflag;
00017 tcflag_t c_cflag;
00018 tcflag_t c_lflag;
00019 speed_t c_ispeed;
00020 speed_t c_ospeed;
00021 cc_t c_cc[NCCS];
00022 };
00023
00024
00025 #define BRKINT 0x0001
00026 #define ICRNL 0x0002
00027 #define IGNBRK 0x0004
00028 #define IGNCR 0x0008
00029 #define IGNPAR 0x0010
00030 #define INLCR 0x0020
00031 #define INPCK 0x0040
00032 #define ISTRIP 0x0080
00033 #define IXOFF 0x0100
00034 #define IXON 0x0200
00035 #define PARMRK 0x0400
00036
00037
00038 #define OPOST 0x0001
00039
00040
00041 #define CLOCAL 0x0001
00042 #define CREAD 0x0002
00043 #define CSIZE 0x000C
00044 #define CS5 0x0000
00045 #define CS6 0x0004
00046 #define CS7 0x0008
00047 #define CS8 0x000C
00048 #define CSTOPB 0x0010
00049 #define HUPCL 0x0020
00050 #define PARENB 0x0040
00051 #define PARODD 0x0080
00052
00053
00054 #define ECHO 0x0001
00055 #define ECHOE 0x0002
00056 #define ECHOK 0x0004
00057 #define ECHONL 0x0008
00058 #define ICANON 0x0010
00059 #define IEXTEN 0x0020
00060 #define ISIG 0x0040
00061 #define NOFLSH 0x0080
00062 #define TOSTOP 0x0100
00063
00064
00065 #define VEOF 0
00066 #define VEOL 1
00067 #define VERASE 2
00068 #define VINTR 3
00069 #define VKILL 4
00070 #define VMIN 5
00071 #define VQUIT 6
00072 #define VTIME 7
00073 #define VSUSP 8
00074 #define VSTART 9
00075 #define VSTOP 10
00076
00077 #define _POSIX_VDISABLE (cc_t)0xFF
00078
00079
00080
00081
00082
00083
00084
00085
00086 #define B0 0x0000
00087 #define B50 0x1000
00088 #define B75 0x2000
00089 #define B110 0x3000
00090 #define B134 0x4000
00091 #define B150 0x5000
00092 #define B200 0x6000
00093 #define B300 0x7000
00094 #define B600 0x8000
00095 #define B1200 0x9000
00096 #define B1800 0xA000
00097 #define B2400 0xB000
00098 #define B4800 0xC000
00099 #define B9600 0xD000
00100 #define B19200 0xE000
00101 #define B38400 0xF000
00102
00103
00104 #define TCSANOW 1
00105 #define TCSADRAIN 2
00106 #define TCSAFLUSH 3
00107
00108
00109 #define TCIFLUSH 1
00110 #define TCOFLUSH 2
00111 #define TCIOFLUSH 3
00112
00113
00114 #define TCOOFF 1
00115 #define TCOON 2
00116 #define TCIOFF 3
00117 #define TCION 4
00118
00119
00120 #ifndef _ANSI_H
00121 #include <ansi.h>
00122 #endif
00123
00124 _PROTOTYPE( int tcsendbreak, (int _fildes, int _duration) );
00125 _PROTOTYPE( int tcdrain, (int _filedes) );
00126 _PROTOTYPE( int tcflush, (int _filedes, int _queue_selector) );
00127 _PROTOTYPE( int tcflow, (int _filedes, int _action) );
00128 _PROTOTYPE( speed_t cfgetispeed, (const struct termios *_termios_p) );
00129 _PROTOTYPE( speed_t cfgetospeed, (const struct termios *_termios_p) );
00130 _PROTOTYPE( int cfsetispeed, (struct termios *_termios_p, speed_t _speed) );
00131 _PROTOTYPE( int cfsetospeed, (struct termios *_termios_p, speed_t _speed) );
00132 _PROTOTYPE( int tcgetattr, (int _filedes, struct termios *_termios_p) );
00133 _PROTOTYPE( int tcsetattr, \
00134 (int _filedes, int _opt_actions, const struct termios *_termios_p) );
00135
00136 #define cfgetispeed(termios_p) ((termios_p)->c_ispeed)
00137 #define cfgetospeed(termios_p) ((termios_p)->c_ospeed)
00138 #define cfsetispeed(termios_p, speed) ((termios_p)->c_ispeed = (speed), 0)
00139 #define cfsetospeed(termios_p, speed) ((termios_p)->c_ospeed = (speed), 0)
00140
00141 #ifdef _MINIX
00142
00143
00144
00145
00146
00147
00148 #define IXANY 0x0800
00149
00150
00151
00152 #define ONLCR 0x0002
00153 #define XTABS 0x0004
00154 #define ONOEOT 0x0008
00155
00156
00157 #define LFLUSHO 0x0200
00158
00159
00160 #define VREPRINT 11
00161 #define VLNEXT 12
00162 #define VDISCARD 13
00163
00164
00165 #define B57600 0x0100
00166 #define B115200 0x0200
00167
00168
00169
00170 #define TCTRL_DEF (CREAD | CS8 | HUPCL)
00171 #define TINPUT_DEF (BRKINT | ICRNL | IXON | IXANY)
00172 #define TOUTPUT_DEF (OPOST | ONLCR)
00173 #define TLOCAL_DEF (ISIG | IEXTEN | ICANON | ECHO | ECHOE)
00174 #define TSPEED_DEF B9600
00175
00176 #define TEOF_DEF '\4'
00177 #define TEOL_DEF _POSIX_VDISABLE
00178 #define TERASE_DEF '\10'
00179 #define TINTR_DEF '\3'
00180 #define TKILL_DEF '\25'
00181 #define TMIN_DEF 1
00182 #define TQUIT_DEF '\34'
00183 #define TSTART_DEF '\21'
00184 #define TSTOP_DEF '\23'
00185 #define TSUSP_DEF '\32'
00186 #define TTIME_DEF 0
00187 #define TREPRINT_DEF '\22'
00188 #define TLNEXT_DEF '\26'
00189 #define TDISCARD_DEF '\17'
00190
00191
00192
00193
00194
00195
00196
00197 struct winsize
00198 {
00199 unsigned short ws_row;
00200 unsigned short ws_col;
00201 unsigned short ws_xpixel;
00202 unsigned short ws_ypixel;
00203 };
00204 #endif
00205
00206 #endif