Logo Search packages:      
Sourcecode: linux version File versions  Download package

termbits.h

/* $Id: termbits.h,v 1.1 2000/07/10 16:32:31 bjornw Exp $ */

#ifndef __ARCH_ETRAX100_TERMBITS_H__
#define __ARCH_ETRAX100_TERMBITS_H__

#include <linux/posix_types.h>

typedef unsigned char   cc_t;
typedef unsigned int    speed_t;
typedef unsigned int    tcflag_t;

#define NCCS 19
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
#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
#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

/* c_cflag bit meaning */
/*
 *     3             2            1
 *    10 987 654 321 098 765 432 109 876 543 210
 *                             |           | ||| CBAUD
 *                                         obaud    
 *
 *                                       ||CSIZE
 *
 *                                     |CSTOP
 *                                    |CREAD
 *                                   |CPARENB
 *
 *                                 |CPARODD 
 *                                |HUPCL
 *                               |CLOCAL
 *                             |CBAUDEX
 *    10 987 654 321 098 765 432 109 876 543 210
 *        |           || ||   CIBAUD, IBSHIFT=16
 *                    ibaud
 *     |CMSPAR
 *    | CRTSCTS
 *       x x xxx xxx x     x xx Free bits
 */

#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
#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
#define CBAUDEX 0010000
#define  BOTHER  0010000
#define  B57600  0010001
#define  B115200 0010002
#define  B230400 0010003
#define  B460800 0010004

/* Unsupported rates, but needed to avoid compile error. */
#define   B500000 0010005
#define   B576000 0010006
#define  B1000000 0010010
#define  B1152000 0010011
#define  B1500000 0010012
#define  B2000000 0010013
#define  B2500000 0010014
#define  B3000000 0010015
#define  B3500000 0010016
#define  B4000000 0010017

/* etrax supports these additional three baud rates */
#define  B921600   0010005
#define  B1843200  0010006
#define  B6250000  0010007
/* ETRAX FS supports this as well */
#define  B12500000 0010010
#define CIBAUD      002003600000    /* input baud rate (used in v32) */
/* The values for CIBAUD bits are the same as the values for CBAUD and CBAUDEX
 * shifted left IBSHIFT bits.
 */
#define IBSHIFT   16
#define CMSPAR    010000000000 /* mark or space (stick) parity - PARODD=space*/
#define CRTSCTS     020000000000          /* flow control */

/* c_lflag bits */
#define ISIG      0000001
#define ICANON    0000002
#define XCASE     0000004
#define ECHO      0000010
#define ECHOE     0000020
#define ECHOK     0000040
#define ECHONL    0000100
#define NOFLSH    0000200
#define TOSTOP    0000400
#define ECHOCTL   0001000
#define ECHOPRT   0002000
#define ECHOKE    0004000
#define FLUSHO    0010000
#define PENDIN    0040000
#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

#endif

Generated by  Doxygen 1.6.0   Back to index