| Viewing file:  termios.h (5.21 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
/* termios type and macro definitions.  Linux version.Copyright (C) 1993-2016 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."
 #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  B500000  0010005
 #define  B576000  0010006
 #define  B921600  0010007
 #define  B1000000 0010010
 #define  B1152000 0010011
 #define  B1500000 0010012
 #define  B2000000 0010013
 #define  B2500000 0010014
 #define  B3000000 0010015
 #define  B3500000 0010016
 #define  B4000000 0010017
 #define __MAX_BAUD B4000000
 #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
 #ifdef __USE_MISC
 # define EXTPROC 0200000
 #endif
 
 /* 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)
 
 |