|
@@ -0,0 +1,210 @@
|
|
|
+/* termios type and macro definitions. Linux version.
|
|
|
+ Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2003, 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, 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."
|
|
|
+#endif
|
|
|
+
|
|
|
+typedef unsigned char cc_t;
|
|
|
+typedef unsigned int speed_t;
|
|
|
+typedef unsigned int tcflag_t;
|
|
|
+
|
|
|
+#define NCCS 32
|
|
|
+struct 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 */
|
|
|
+ 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 VTIME 5
|
|
|
+#define VMIN 6
|
|
|
+#define VSWTC 7
|
|
|
+#define VSTART 8
|
|
|
+#define VSTOP 9
|
|
|
+#define VSUSP 10
|
|
|
+#define VEOL 11
|
|
|
+#define VREPRINT 12
|
|
|
+#define VDISCARD 13
|
|
|
+#define VWERASE 14
|
|
|
+#define VLNEXT 15
|
|
|
+#define VEOL2 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 IUCLC 0001000
|
|
|
+#define IXON 0002000
|
|
|
+#define IXANY 0004000
|
|
|
+#define IXOFF 0010000
|
|
|
+#define IMAXBEL 0020000
|
|
|
+#define IUTF8 0040000
|
|
|
+
|
|
|
+/* c_oflag bits */
|
|
|
+#define OPOST 0000001
|
|
|
+#define OLCUC 0000002
|
|
|
+#define ONLCR 0000004
|
|
|
+#define OCRNL 0000010
|
|
|
+#define ONOCR 0000020
|
|
|
+#define ONLRET 0000040
|
|
|
+#define OFILL 0000100
|
|
|
+#define OFDEL 0000200
|
|
|
+#if defined __USE_MISC || defined __USE_XOPEN
|
|
|
+# define NLDLY 0000400
|
|
|
+# define NL0 0000000
|
|
|
+# define NL1 0000400
|
|
|
+# define CRDLY 0003000
|
|
|
+# define CR0 0000000
|
|
|
+# define CR1 0001000
|
|
|
+# define CR2 0002000
|
|
|
+# define CR3 0003000
|
|
|
+# define TABDLY 0014000
|
|
|
+# define TAB0 0000000
|
|
|
+# define TAB1 0004000
|
|
|
+# define TAB2 0010000
|
|
|
+# define TAB3 0014000
|
|
|
+# define BSDLY 0020000
|
|
|
+# define BS0 0000000
|
|
|
+# define BS1 0020000
|
|
|
+# define FFDLY 0100000
|
|
|
+# define FF0 0000000
|
|
|
+# define FF1 0100000
|
|
|
+#endif
|
|
|
+
|
|
|
+#define VTDLY 0040000
|
|
|
+#define VT0 0000000
|
|
|
+#define VT1 0040000
|
|
|
+
|
|
|
+#ifdef __USE_MISC
|
|
|
+# define XTABS 0014000
|
|
|
+#endif
|
|
|
+
|
|
|
+/* c_cflag bit meaning */
|
|
|
+#ifdef __USE_MISC
|
|
|
+# define CBAUD 0010017
|
|
|
+#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
|
|
|
+#endif
|
|
|
+#define CSIZE 0000060
|
|
|
+#define CS5 0000000
|
|
|
+#define CS6 0000020
|
|
|
+#define CS7 0000040
|
|
|
+#define CS8 0000060
|
|
|
+#define CSTOPB 0000100
|
|
|
+#define CREAD 0000200
|
|
|
+#define PARENB 0000400
|
|
|
+#define PARODD 0001000
|
|
|
+#define HUPCL 0002000
|
|
|
+#define CLOCAL 0004000
|
|
|
+#ifdef __USE_MISC
|
|
|
+# define CBAUDEX 0010000
|
|
|
+#endif
|
|
|
+#define B57600 0010001
|
|
|
+#define B115200 0010002
|
|
|
+#define B230400 0010003
|
|
|
+#define B460800 0010004
|
|
|
+#define B921600 0010005
|
|
|
+#define B1843200 0010006
|
|
|
+#define B6250000 0010007
|
|
|
+#define __MAX_BAUD B6250000
|
|
|
+#ifdef __USE_MISC
|
|
|
+# define CIBAUD 002003600000 /* input baud rate (not used) */
|
|
|
+# define CMSPAR 010000000000 /* mark or space (stick) parity */
|
|
|
+# define CRTSCTS 020000000000 /* flow control */
|
|
|
+#endif
|
|
|
+
|
|
|
+/* c_lflag bits */
|
|
|
+#define ISIG 0000001
|
|
|
+#define ICANON 0000002
|
|
|
+#if defined __USE_MISC || defined __USE_XOPEN
|
|
|
+# define XCASE 0000004
|
|
|
+#endif
|
|
|
+#define ECHO 0000010
|
|
|
+#define ECHOE 0000020
|
|
|
+#define ECHOK 0000040
|
|
|
+#define ECHONL 0000100
|
|
|
+#define NOFLSH 0000200
|
|
|
+#define TOSTOP 0000400
|
|
|
+#ifdef __USE_MISC
|
|
|
+# define ECHOCTL 0001000
|
|
|
+# define ECHOPRT 0002000
|
|
|
+# define ECHOKE 0004000
|
|
|
+# define FLUSHO 0010000
|
|
|
+# define PENDIN 0040000
|
|
|
+#endif
|
|
|
+#define IEXTEN 0100000
|
|
|
+
|
|
|
+/* tcflow() and TCXONC use these */
|
|
|
+#define TCOOFF 0
|
|
|
+#define TCOON 1
|
|
|
+#define TCIOFF 2
|
|
|
+#define TCION 3
|
|
|
+
|
|
|
+/* tcflush() and TCFLSH use these */
|
|
|
+#define TCIFLUSH 0
|
|
|
+#define TCOFLUSH 1
|
|
|
+#define TCIOFLUSH 2
|
|
|
+
|
|
|
+/* tcsetattr uses these */
|
|
|
+#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)
|