modernc.org/cc@v1.0.1/v2/headers/linux_386/usr/include/i386-linux-gnu/bits/termios.h (about)

     1  /* termios type and macro definitions.  Linux version.
     2     Copyright (C) 1993-2018 Free Software Foundation, Inc.
     3     This file is part of the GNU C Library.
     4  
     5     The GNU C Library is free software; you can redistribute it and/or
     6     modify it under the terms of the GNU Lesser General Public
     7     License as published by the Free Software Foundation; either
     8     version 2.1 of the License, or (at your option) any later version.
     9  
    10     The GNU C Library is distributed in the hope that it will be useful,
    11     but WITHOUT ANY WARRANTY; without even the implied warranty of
    12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    13     Lesser General Public License for more details.
    14  
    15     You should have received a copy of the GNU Lesser General Public
    16     License along with the GNU C Library; if not, see
    17     <http://www.gnu.org/licenses/>.  */
    18  
    19  #ifndef _TERMIOS_H
    20  # error "Never include <bits/termios.h> directly; use <termios.h> instead."
    21  #endif
    22  
    23  typedef unsigned char cc_t;
    24  typedef unsigned int speed_t;
    25  typedef unsigned int tcflag_t;
    26  
    27  #define NCCS 32
    28  struct termios {
    29  	tcflag_t c_iflag;	/* input mode flags */
    30  	tcflag_t c_oflag;	/* output mode flags */
    31  	tcflag_t c_cflag;	/* control mode flags */
    32  	tcflag_t c_lflag;	/* local mode flags */
    33  	cc_t c_line;		/* line discipline */
    34  	cc_t c_cc[NCCS];	/* control characters */
    35  	speed_t c_ispeed;	/* input speed */
    36  	speed_t c_ospeed;	/* output speed */
    37  #define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
    38  #define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
    39  };
    40  
    41  /* c_cc characters */
    42  #define VINTR 0
    43  #define VQUIT 1
    44  #define VERASE 2
    45  #define VKILL 3
    46  #define VEOF 4
    47  #define VTIME 5
    48  #define VMIN 6
    49  #define VSWTC 7
    50  #define VSTART 8
    51  #define VSTOP 9
    52  #define VSUSP 10
    53  #define VEOL 11
    54  #define VREPRINT 12
    55  #define VDISCARD 13
    56  #define VWERASE 14
    57  #define VLNEXT 15
    58  #define VEOL2 16
    59  
    60  /* c_iflag bits */
    61  #define IGNBRK	0000001
    62  #define BRKINT	0000002
    63  #define IGNPAR	0000004
    64  #define PARMRK	0000010
    65  #define INPCK	0000020
    66  #define ISTRIP	0000040
    67  #define INLCR	0000100
    68  #define IGNCR	0000200
    69  #define ICRNL	0000400
    70  #define IUCLC	0001000
    71  #define IXON	0002000
    72  #define IXANY	0004000
    73  #define IXOFF	0010000
    74  #define IMAXBEL	0020000
    75  #define IUTF8	0040000
    76  
    77  /* c_oflag bits */
    78  #define OPOST	0000001
    79  #define OLCUC	0000002
    80  #define ONLCR	0000004
    81  #define OCRNL	0000010
    82  #define ONOCR	0000020
    83  #define ONLRET	0000040
    84  #define OFILL	0000100
    85  #define OFDEL	0000200
    86  #if defined __USE_MISC || defined __USE_XOPEN
    87  # define NLDLY	0000400
    88  # define   NL0	0000000
    89  # define   NL1	0000400
    90  # define CRDLY	0003000
    91  # define   CR0	0000000
    92  # define   CR1	0001000
    93  # define   CR2	0002000
    94  # define   CR3	0003000
    95  # define TABDLY	0014000
    96  # define   TAB0	0000000
    97  # define   TAB1	0004000
    98  # define   TAB2	0010000
    99  # define   TAB3	0014000
   100  # define BSDLY	0020000
   101  # define   BS0	0000000
   102  # define   BS1	0020000
   103  # define FFDLY	0100000
   104  # define   FF0	0000000
   105  # define   FF1	0100000
   106  #endif
   107  
   108  #define VTDLY	0040000
   109  #define   VT0	0000000
   110  #define   VT1	0040000
   111  
   112  #ifdef __USE_MISC
   113  # define XTABS	0014000
   114  #endif
   115  
   116  /* c_cflag bit meaning */
   117  #ifdef __USE_MISC
   118  # define CBAUD	0010017
   119  #endif
   120  #define  B0	0000000		/* hang up */
   121  #define  B50	0000001
   122  #define  B75	0000002
   123  #define  B110	0000003
   124  #define  B134	0000004
   125  #define  B150	0000005
   126  #define  B200	0000006
   127  #define  B300	0000007
   128  #define  B600	0000010
   129  #define  B1200	0000011
   130  #define  B1800	0000012
   131  #define  B2400	0000013
   132  #define  B4800	0000014
   133  #define  B9600	0000015
   134  #define  B19200	0000016
   135  #define  B38400	0000017
   136  #ifdef __USE_MISC
   137  # define EXTA B19200
   138  # define EXTB B38400
   139  #endif
   140  #define CSIZE	0000060
   141  #define   CS5	0000000
   142  #define   CS6	0000020
   143  #define   CS7	0000040
   144  #define   CS8	0000060
   145  #define CSTOPB	0000100
   146  #define CREAD	0000200
   147  #define PARENB	0000400
   148  #define PARODD	0001000
   149  #define HUPCL	0002000
   150  #define CLOCAL	0004000
   151  #ifdef __USE_MISC
   152  # define CBAUDEX 0010000
   153  #endif
   154  #define  B57600   0010001
   155  #define  B115200  0010002
   156  #define  B230400  0010003
   157  #define  B460800  0010004
   158  #define  B500000  0010005
   159  #define  B576000  0010006
   160  #define  B921600  0010007
   161  #define  B1000000 0010010
   162  #define  B1152000 0010011
   163  #define  B1500000 0010012
   164  #define  B2000000 0010013
   165  #define  B2500000 0010014
   166  #define  B3000000 0010015
   167  #define  B3500000 0010016
   168  #define  B4000000 0010017
   169  #define __MAX_BAUD B4000000
   170  #ifdef __USE_MISC
   171  # define CIBAUD	  002003600000	/* input baud rate (not used) */
   172  # define CMSPAR   010000000000	/* mark or space (stick) parity */
   173  # define CRTSCTS  020000000000	/* flow control */
   174  #endif
   175  
   176  /* c_lflag bits */
   177  #define ISIG	0000001
   178  #define ICANON	0000002
   179  #if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
   180  # define XCASE	0000004
   181  #endif
   182  #define ECHO	0000010
   183  #define ECHOE	0000020
   184  #define ECHOK	0000040
   185  #define ECHONL	0000100
   186  #define NOFLSH	0000200
   187  #define TOSTOP	0000400
   188  #ifdef __USE_MISC
   189  # define ECHOCTL 0001000
   190  # define ECHOPRT 0002000
   191  # define ECHOKE	 0004000
   192  # define FLUSHO	 0010000
   193  # define PENDIN	 0040000
   194  #endif
   195  #define IEXTEN	0100000
   196  #ifdef __USE_MISC
   197  # define EXTPROC 0200000
   198  #endif
   199  
   200  /* tcflow() and TCXONC use these */
   201  #define	TCOOFF		0
   202  #define	TCOON		1
   203  #define	TCIOFF		2
   204  #define	TCION		3
   205  
   206  /* tcflush() and TCFLSH use these */
   207  #define	TCIFLUSH	0
   208  #define	TCOFLUSH	1
   209  #define	TCIOFLUSH	2
   210  
   211  /* tcsetattr uses these */
   212  #define	TCSANOW		0
   213  #define	TCSADRAIN	1
   214  #define	TCSAFLUSH	2
   215  
   216  #define _IOT_termios /* Hurd ioctl type field.  */ \
   217    _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)