| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 | /* Copyright (C) 1997,1999,2001,2003,2004,2005 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, see   <http://www.gnu.org/licenses/>.  */#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;/* * termios type and macro definitions.  Be careful about adding stuff * to this file since it's used in GNU libc and there are strict rules * concerning namespace pollution. */#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_line;			/* line discipline (== c_cc[19]) */	cc_t c_cc[NCCS];		/* control characters */	speed_t c_ispeed;		/* input speed */	speed_t c_ospeed;		/* output speed */#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1};/* c_cc characters */#define VINTR	0#define VQUIT	1#define VERASE	2#define VKILL	3#define VEOF	4#define VMIN	5#define VEOL	6#define VTIME	7#define VEOL2	8#define VSWTC	9#define VWERASE	10#define VREPRINT	11#define VSUSP		12#define VSTART		13#define VSTOP		14#define VLNEXT		15#define VDISCARD	16/* 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#define IXANY	0004000#define IUCLC	0010000#define IMAXBEL	0020000#define IUTF8	0040000/* 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#if defined __USE_MISC || defined __USE_XOPEN# 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#endif#define VTDLY	00200000#define   VT0	00000000#define   VT1	00200000#ifdef __USE_MISC# define XTABS	00006000#endif/* c_cflag bit meaning */#ifdef __USE_MISC# define CBAUD	0000377#endif#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#ifdef __USE_MISC# define EXTA B19200# define EXTB B38400# define CBAUDEX 0000020#endif#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#ifdef __USE_MISC# define CMSPAR   010000000000		/* mark or space (stick) parity */# define CRTSCTS  020000000000		/* flow control */#endif/* c_lflag bits */#define ISIG	0x00000080#define ICANON	0x00000100#if defined __USE_MISC || defined __USE_XOPEN# define XCASE	0x00004000#endif#define ECHO	0x00000008#define ECHOE	0x00000002#define ECHOK	0x00000004#define ECHONL	0x00000010#define NOFLSH	0x80000000#define TOSTOP	0x00400000#ifdef __USE_MISC# define ECHOCTL	0x00000040# define ECHOPRT	0x00000020# define ECHOKE	0x00000001# define FLUSHO	0x00800000# define PENDIN	0x20000000#endif#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#ifndef __UCLIBC_STRICT_HEADERS__struct sgttyb {	char	sg_ispeed;	char	sg_ospeed;	char	sg_erase;	char	sg_kill;	short	sg_flags;};#endifstruct tchars {	char	t_intrc;	char	t_quitc;	char	t_startc;	char	t_stopc;	char	t_eofc;	char	t_brkc;};struct ltchars {	char	t_suspc;	char	t_dsuspc;	char	t_rprntc;	char	t_flushc;	char	t_werasc;	char	t_lnextc;};/* Used for packet mode */#define TIOCPKT_DATA		 0#define TIOCPKT_FLUSHREAD	 1#define TIOCPKT_FLUSHWRITE	 2#define TIOCPKT_STOP		 4#define TIOCPKT_START		 8#define TIOCPKT_NOSTOP		16#define TIOCPKT_DOSTOP		32/* c_cc characters */#define _VINTR	0#define _VQUIT	1#define _VERASE	2#define _VKILL	3#define _VEOF	4#define _VMIN	5#define _VEOL	6#define _VTIME	7#define _VEOL2	8#define _VSWTC	9/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */#define TIOCSER_TEMT    0x01	/* Transmitter physically empty */
 |