| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 | /* termios type and macro definitions.  Linux version.   Copyright (C) 1993, 94, 95, 96, 97, 99 Free Software Foundation, Inc.   This file is part of the GNU C Library.   The GNU C Library is free software; you can redistribute it and/or   modify it under the terms of the GNU Lesser General Public   License as published by the Free Software Foundation; either   version 2.1 of the License, or (at your option) any later version.   The GNU C Library is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   Lesser General Public License for more details.   You should have received a copy of the GNU Lesser General Public   License along with the GNU C Library; if not, write to the Free   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA   02111-1307 USA.  */#ifndef _TERMIOS_H# error "Never include <bits/termios.h> directly; use <termios.h> instead."#endiftypedef unsigned char	cc_t;typedef unsigned int	speed_t;typedef unsigned int	tcflag_t;#define NCCS 32struct termios  {    tcflag_t c_iflag;		/* input mode flags */    tcflag_t c_oflag;		/* output mode flags */    tcflag_t c_cflag;		/* control mode flags */    tcflag_t c_lflag;		/* local mode flags */    cc_t c_cc[NCCS];		/* control characters */    cc_t c_line;		/* line discipline (== c_cc[33]) */    speed_t c_ispeed;		/* input speed */    speed_t c_ospeed;		/* output speed */  };/* c_cc characters */#define VEOF 0#define VEOL 1#define VEOL2 2#define VERASE 3#define VWERASE 4#define VKILL 5#define VREPRINT 6#define VSWTC 7#define VINTR 8#define VQUIT 9#define VSUSP 10#define VSTART 12#define VSTOP 13#define VLNEXT 14#define VDISCARD 15#define VMIN 16#define VTIME 17/* c_iflag bits */#define IGNBRK	0000001#define BRKINT	0000002#define IGNPAR	0000004#define PARMRK	0000010#define INPCK	0000020#define ISTRIP	0000040#define INLCR	0000100#define IGNCR	0000200#define ICRNL	0000400#define IXON	0001000#define IXOFF	0002000#ifdef __USE_BSD  /* POSIX.1 doesn't want these... */# define IXANY		0004000# define IUCLC		0010000# define IMAXBEL	0020000#endif/* c_oflag bits */#define OPOST	0000001#define ONLCR	0000002#define OLCUC	0000004#define OCRNL	0000010#define ONOCR	0000020#define ONLRET	0000040#define OFILL	00000100#define OFDEL	00000200#define NLDLY	00001400#define   NL0	00000000#define   NL1	00000400#define   NL2	00001000#define   NL3	00001400#define TABDLY	00006000#define   TAB0	00000000#define   TAB1	00002000#define   TAB2	00004000#define   TAB3	00006000#define CRDLY	00030000#define   CR0	00000000#define   CR1	00010000#define   CR2	00020000#define   CR3	00030000#define FFDLY	00040000#define   FF0	00000000#define   FF1	00040000#define BSDLY	00100000#define   BS0	00000000#define   BS1	00100000#define VTDLY	00200000#define   VT0	00000000#define   VT1	00200000#define XTABS	01000000 /* Hmm.. Linux/i386 considers this part of TABDLY.. *//* c_cflag bit meaning */#define CBAUD	0000037#define  B0	0000000		/* hang up */#define  B50	0000001#define  B75	0000002#define  B110	0000003#define  B134	0000004#define  B150	0000005#define  B200	0000006#define  B300	0000007#define  B600	0000010#define  B1200	0000011#define  B1800	0000012#define  B2400	0000013#define  B4800	0000014#define  B9600	0000015#define  B19200	0000016#define  B38400	0000017#define EXTA B19200#define EXTB B38400#define CBAUDEX 0000000#define  B57600   00020#define  B115200  00021#define  B230400  00022#define  B460800  00023#define  B500000  00024#define  B576000  00025#define  B921600  00026#define  B1000000 00027#define  B1152000 00030#define  B1500000 00031#define  B2000000 00032#define  B2500000 00033#define  B3000000 00034#define  B3500000 00035#define  B4000000 00036#define __MAX_BAUD B4000000#define CSIZE	00001400#define   CS5	00000000#define   CS6	00000400#define   CS7	00001000#define   CS8	00001400#define CSTOPB	00002000#define CREAD	00004000#define PARENB	00010000#define PARODD	00020000#define HUPCL	00040000#define CLOCAL	00100000#define CRTSCTS	  020000000000		/* flow control *//* c_lflag bits */#define ISIG	0x00000080#define ICANON	0x00000100#define XCASE	0x00004000#define ECHO	0x00000008#define ECHOE	0x00000002#define ECHOK	0x00000004#define ECHONL	0x00000010#define NOFLSH	0x80000000#define TOSTOP	0x00400000#define ECHOCTL	0x00000040#define ECHOPRT	0x00000020#define ECHOKE	0x00000001#define FLUSHO	0x00800000#define PENDIN	0x20000000#define IEXTEN	0x00000400/* Values for the ACTION argument to `tcflow'.  */#define	TCOOFF		0#define	TCOON		1#define	TCIOFF		2#define	TCION		3/* Values for the QUEUE_SELECTOR argument to `tcflush'.  */#define	TCIFLUSH	0#define	TCOFLUSH	1#define	TCIOFLUSH	2/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */#define	TCSANOW		0#define	TCSADRAIN	1#define	TCSAFLUSH	2#define _IOT_termios /* Hurd ioctl type field.  */ \  _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
 |