| Viewing file:  termbits.h (7.72 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
/** This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 1995, 96, 99, 2001, 06 Ralf Baechle
 * Copyright (C) 1999 Silicon Graphics, Inc.
 * Copyright (C) 2001 MIPS Technologies, Inc.
 */
 #ifndef _ASM_TERMBITS_H
 #define _ASM_TERMBITS_H
 
 #include <linux/posix_types.h>
 
 typedef unsigned char cc_t;
 typedef unsigned int speed_t;
 typedef unsigned int tcflag_t;
 
 /*
 * The ABI says nothing about NCC but seems to use NCCS as
 * replacement for it in struct termio
 */
 #define NCCS    23
 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 */
 };
 
 struct termios2 {
 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 */
 };
 
 struct ktermios {
 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 */
 };
 
 /* c_cc characters */
 #define VINTR         0        /* Interrupt character [ISIG].    */
 #define VQUIT         1        /* Quit character [ISIG].  */
 #define VERASE         2        /* Erase character [ICANON].  */
 #define VKILL         3        /* Kill-line character [ICANON].  */
 #define VMIN         4        /* Minimum number of bytes read at once [!ICANON].  */
 #define VTIME         5        /* Time-out value (tenths of a second) [!ICANON].  */
 #define VEOL2         6        /* Second EOL character [ICANON].  */
 #define VSWTC         7        /* ??? */
 #define VSWTCH        VSWTC
 #define VSTART         8        /* Start (X-ON) character [IXON, IXOFF].  */
 #define VSTOP         9        /* Stop (X-OFF) character [IXON, IXOFF].  */
 #define VSUSP        10        /* Suspend character [ISIG].  */
 #if 0
 /*
 * VDSUSP is not supported
 */
 #define VDSUSP        11        /* Delayed suspend character [ISIG].  */
 #endif
 #define VREPRINT    12        /* Reprint-line character [ICANON].  */
 #define VDISCARD    13        /* Discard character [IEXTEN].    */
 #define VWERASE        14        /* Word-erase character [ICANON].  */
 #define VLNEXT        15        /* Literal-next character [IEXTEN].  */
 #define VEOF        16        /* End-of-file character [ICANON].  */
 #define VEOL        17        /* End-of-line character [ICANON].  */
 
 /* c_iflag bits */
 #define IGNBRK    0000001        /* Ignore break condition.  */
 #define BRKINT    0000002        /* Signal interrupt on break.  */
 #define IGNPAR    0000004        /* Ignore characters with parity errors.  */
 #define PARMRK    0000010        /* Mark parity and framing errors.  */
 #define INPCK    0000020        /* Enable input parity check.  */
 #define ISTRIP    0000040        /* Strip 8th bit off characters.  */
 #define INLCR    0000100        /* Map NL to CR on input.  */
 #define IGNCR    0000200        /* Ignore CR.  */
 #define ICRNL    0000400        /* Map CR to NL on input.  */
 #define IUCLC    0001000        /* Map upper case to lower case on input.  */
 #define IXON    0002000        /* Enable start/stop output control.  */
 #define IXANY    0004000        /* Any character will restart after stop.  */
 #define IXOFF    0010000        /* Enable start/stop input control.  */
 #define IMAXBEL 0020000        /* Ring bell when input queue is full.    */
 #define IUTF8    0040000        /* Input is UTF-8 */
 
 /* c_oflag bits */
 #define OPOST    0000001        /* Perform output processing.  */
 #define OLCUC    0000002        /* Map lower case to upper case on output.  */
 #define ONLCR    0000004        /* Map NL to CR-NL on output.  */
 #define OCRNL    0000010
 #define ONOCR    0000020
 #define ONLRET    0000040
 #define OFILL    0000100
 #define OFDEL    0000200
 #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      XTABS 0014000
 #define BSDLY    0020000
 #define      BS0    0000000
 #define      BS1    0020000
 #define VTDLY    0040000
 #define      VT0    0000000
 #define      VT1    0040000
 #define FFDLY    0100000
 #define      FF0    0000000
 #define      FF1    0100000
 /*
 #define PAGEOUT ???
 #define WRAP    ???
 */
 
 /* c_cflag bit meaning */
 #define CBAUD    0010017
 #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 CSIZE    0000060        /* Number of bits per byte (mask).  */
 #define      CS5    0000000        /* 5 bits per byte.  */
 #define      CS6    0000020        /* 6 bits per byte.  */
 #define      CS7    0000040        /* 7 bits per byte.  */
 #define      CS8    0000060        /* 8 bits per byte.  */
 #define CSTOPB    0000100        /* Two stop bits instead of one.  */
 #define CREAD    0000200        /* Enable receiver.  */
 #define PARENB    0000400        /* Parity enable.  */
 #define PARODD    0001000        /* Odd parity instead of even.    */
 #define HUPCL    0002000        /* Hang up on last close.  */
 #define CLOCAL    0004000        /* Ignore modem status lines.  */
 #define CBAUDEX 0010000
 #define       BOTHER 0010000
 #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 CIBAUD      002003600000    /* input baud rate */
 #define CMSPAR      010000000000    /* mark or space (stick) parity */
 #define CRTSCTS      020000000000    /* flow control */
 
 #define IBSHIFT 16        /* Shift from CBAUD to CIBAUD */
 
 /* c_lflag bits */
 #define ISIG    0000001        /* Enable signals.  */
 #define ICANON    0000002        /* Do erase and kill processing.  */
 #define XCASE    0000004
 #define ECHO    0000010        /* Enable echo.     */
 #define ECHOE    0000020        /* Visual erase for ERASE.  */
 #define ECHOK    0000040        /* Echo NL after KILL.    */
 #define ECHONL    0000100        /* Echo NL even if ECHO is off.     */
 #define NOFLSH    0000200        /* Disable flush after interrupt.  */
 #define IEXTEN    0000400        /* Enable DISCARD and LNEXT.  */
 #define ECHOCTL 0001000        /* Echo control characters as ^X.  */
 #define ECHOPRT 0002000        /* Hardcopy visual erase.  */
 #define ECHOKE    0004000        /* Visual erase for KILL.  */
 #define FLUSHO    0020000
 #define PENDIN    0040000        /* Retype pending input (state).  */
 #define TOSTOP    0100000        /* Send SIGTTOU for background output.    */
 #define ITOSTOP TOSTOP
 #define EXTPROC 0200000        /* External processing on pty */
 
 /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
 #define TIOCSER_TEMT    0x01    /* Transmitter physically empty */
 
 /* tcflow() and TCXONC use these */
 #define TCOOFF        0    /* Suspend output.  */
 #define TCOON        1    /* Restart suspended output.  */
 #define TCIOFF        2    /* Send a STOP character.  */
 #define TCION        3    /* Send a START character.  */
 
 /* tcflush() and TCFLSH use these */
 #define TCIFLUSH    0    /* Discard data received but not yet read.  */
 #define TCOFLUSH    1    /* Discard data written but not yet sent.  */
 #define TCIOFLUSH    2    /* Discard all pending data.  */
 
 /* tcsetattr uses these */
 #define TCSANOW        TCSETS    /* Change immediately.    */
 #define TCSADRAIN    TCSETSW /* Change when pending output is written.  */
 #define TCSAFLUSH    TCSETSF /* Flush pending input before changing.     */
 
 #endif /* _ASM_TERMBITS_H */
 
 |