Annotation of Gnu-Mach/i386/i386at/gpl/linux/include/asm/termios.h, revision 1.1.1.1

1.1       root        1: #ifndef _I386_TERMIOS_H
                      2: #define _I386_TERMIOS_H
                      3: 
                      4: /* 0x54 is just a magic number to make these relatively unique ('T') */
                      5: 
                      6: #define TCGETS         0x5401
                      7: #define TCSETS         0x5402
                      8: #define TCSETSW                0x5403
                      9: #define TCSETSF                0x5404
                     10: #define TCGETA         0x5405
                     11: #define TCSETA         0x5406
                     12: #define TCSETAW                0x5407
                     13: #define TCSETAF                0x5408
                     14: #define TCSBRK         0x5409
                     15: #define TCXONC         0x540A
                     16: #define TCFLSH         0x540B
                     17: #define TIOCEXCL       0x540C
                     18: #define TIOCNXCL       0x540D
                     19: #define TIOCSCTTY      0x540E
                     20: #define TIOCGPGRP      0x540F
                     21: #define TIOCSPGRP      0x5410
                     22: #define TIOCOUTQ       0x5411
                     23: #define TIOCSTI                0x5412
                     24: #define TIOCGWINSZ     0x5413
                     25: #define TIOCSWINSZ     0x5414
                     26: #define TIOCMGET       0x5415
                     27: #define TIOCMBIS       0x5416
                     28: #define TIOCMBIC       0x5417
                     29: #define TIOCMSET       0x5418
                     30: #define TIOCGSOFTCAR   0x5419
                     31: #define TIOCSSOFTCAR   0x541A
                     32: #define FIONREAD       0x541B
                     33: #define TIOCINQ                FIONREAD
                     34: #define TIOCLINUX      0x541C
                     35: #define TIOCCONS       0x541D
                     36: #define TIOCGSERIAL    0x541E
                     37: #define TIOCSSERIAL    0x541F
                     38: #define TIOCPKT                0x5420
                     39: #define FIONBIO                0x5421
                     40: #define TIOCNOTTY      0x5422
                     41: #define TIOCSETD       0x5423
                     42: #define TIOCGETD       0x5424
                     43: #define TCSBRKP                0x5425  /* Needed for POSIX tcsendbreak() */
                     44: #define TIOCTTYGSTRUCT 0x5426  /* For debugging only */
                     45: #define FIONCLEX       0x5450  /* these numbers need to be adjusted. */
                     46: #define FIOCLEX                0x5451
                     47: #define FIOASYNC       0x5452
                     48: #define TIOCSERCONFIG  0x5453
                     49: #define TIOCSERGWILD   0x5454
                     50: #define TIOCSERSWILD   0x5455
                     51: #define TIOCGLCKTRMIOS 0x5456
                     52: #define TIOCSLCKTRMIOS 0x5457
                     53: #define TIOCSERGSTRUCT 0x5458 /* For debugging only */
                     54: #define TIOCSERGETLSR   0x5459 /* Get line status register */
                     55: #define TIOCSERGETMULTI 0x545A /* Get multiport config  */
                     56: #define TIOCSERSETMULTI 0x545B /* Set multiport config */
                     57: 
                     58: #define TIOCMIWAIT     0x545C  /* wait for a change on serial input line(s) */
                     59: #define TIOCGICOUNT    0x545D  /* read serial port inline interrupt counts */
                     60: 
                     61: /* Used for packet mode */
                     62: #define TIOCPKT_DATA            0
                     63: #define TIOCPKT_FLUSHREAD       1
                     64: #define TIOCPKT_FLUSHWRITE      2
                     65: #define TIOCPKT_STOP            4
                     66: #define TIOCPKT_START           8
                     67: #define TIOCPKT_NOSTOP         16
                     68: #define TIOCPKT_DOSTOP         32
                     69: 
                     70: struct winsize {
                     71:        unsigned short ws_row;
                     72:        unsigned short ws_col;
                     73:        unsigned short ws_xpixel;
                     74:        unsigned short ws_ypixel;
                     75: };
                     76: 
                     77: #define NCC 8
                     78: struct termio {
                     79:        unsigned short c_iflag;         /* input mode flags */
                     80:        unsigned short c_oflag;         /* output mode flags */
                     81:        unsigned short c_cflag;         /* control mode flags */
                     82:        unsigned short c_lflag;         /* local mode flags */
                     83:        unsigned char c_line;           /* line discipline */
                     84:        unsigned char c_cc[NCC];        /* control characters */
                     85: };
                     86: 
                     87: #define NCCS 19
                     88: struct termios {
                     89:        tcflag_t c_iflag;               /* input mode flags */
                     90:        tcflag_t c_oflag;               /* output mode flags */
                     91:        tcflag_t c_cflag;               /* control mode flags */
                     92:        tcflag_t c_lflag;               /* local mode flags */
                     93:        cc_t c_line;                    /* line discipline */
                     94:        cc_t c_cc[NCCS];                /* control characters */
                     95: };
                     96: 
                     97: /* c_cc characters */
                     98: #define VINTR 0
                     99: #define VQUIT 1
                    100: #define VERASE 2
                    101: #define VKILL 3
                    102: #define VEOF 4
                    103: #define VTIME 5
                    104: #define VMIN 6
                    105: #define VSWTC 7
                    106: #define VSTART 8
                    107: #define VSTOP 9
                    108: #define VSUSP 10
                    109: #define VEOL 11
                    110: #define VREPRINT 12
                    111: #define VDISCARD 13
                    112: #define VWERASE 14
                    113: #define VLNEXT 15
                    114: #define VEOL2 16
                    115: 
                    116: #ifdef __KERNEL__
                    117: /*     intr=^C         quit=^|         erase=del       kill=^U
                    118:        eof=^D          vtime=\0        vmin=\1         sxtc=\0
                    119:        start=^Q        stop=^S         susp=^Z         eol=\0
                    120:        reprint=^R      discard=^U      werase=^W       lnext=^V
                    121:        eol2=\0
                    122: */
                    123: #define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"
                    124: #endif
                    125: 
                    126: /* c_iflag bits */
                    127: #define IGNBRK 0000001
                    128: #define BRKINT 0000002
                    129: #define IGNPAR 0000004
                    130: #define PARMRK 0000010
                    131: #define INPCK  0000020
                    132: #define ISTRIP 0000040
                    133: #define INLCR  0000100
                    134: #define IGNCR  0000200
                    135: #define ICRNL  0000400
                    136: #define IUCLC  0001000
                    137: #define IXON   0002000
                    138: #define IXANY  0004000
                    139: #define IXOFF  0010000
                    140: #define IMAXBEL        0020000
                    141: 
                    142: /* c_oflag bits */
                    143: #define OPOST  0000001
                    144: #define OLCUC  0000002
                    145: #define ONLCR  0000004
                    146: #define OCRNL  0000010
                    147: #define ONOCR  0000020
                    148: #define ONLRET 0000040
                    149: #define OFILL  0000100
                    150: #define OFDEL  0000200
                    151: #define NLDLY  0000400
                    152: #define   NL0  0000000
                    153: #define   NL1  0000400
                    154: #define CRDLY  0003000
                    155: #define   CR0  0000000
                    156: #define   CR1  0001000
                    157: #define   CR2  0002000
                    158: #define   CR3  0003000
                    159: #define TABDLY 0014000
                    160: #define   TAB0 0000000
                    161: #define   TAB1 0004000
                    162: #define   TAB2 0010000
                    163: #define   TAB3 0014000
                    164: #define   XTABS        0014000
                    165: #define BSDLY  0020000
                    166: #define   BS0  0000000
                    167: #define   BS1  0020000
                    168: #define VTDLY  0040000
                    169: #define   VT0  0000000
                    170: #define   VT1  0040000
                    171: #define FFDLY  0100000
                    172: #define   FF0  0000000
                    173: #define   FF1  0100000
                    174: 
                    175: /* c_cflag bit meaning */
                    176: #define CBAUD  0010017
                    177: #define  B0    0000000         /* hang up */
                    178: #define  B50   0000001
                    179: #define  B75   0000002
                    180: #define  B110  0000003
                    181: #define  B134  0000004
                    182: #define  B150  0000005
                    183: #define  B200  0000006
                    184: #define  B300  0000007
                    185: #define  B600  0000010
                    186: #define  B1200 0000011
                    187: #define  B1800 0000012
                    188: #define  B2400 0000013
                    189: #define  B4800 0000014
                    190: #define  B9600 0000015
                    191: #define  B19200        0000016
                    192: #define  B38400        0000017
                    193: #define EXTA B19200
                    194: #define EXTB B38400
                    195: #define CSIZE  0000060
                    196: #define   CS5  0000000
                    197: #define   CS6  0000020
                    198: #define   CS7  0000040
                    199: #define   CS8  0000060
                    200: #define CSTOPB 0000100
                    201: #define CREAD  0000200
                    202: #define PARENB 0000400
                    203: #define PARODD 0001000
                    204: #define HUPCL  0002000
                    205: #define CLOCAL 0004000
                    206: #define CBAUDEX 0010000
                    207: #define  B57600  0010001
                    208: #define  B115200 0010002
                    209: #define  B230400 0010003
                    210: #define CIBAUD   002003600000  /* input baud rate (not used) */
                    211: #define CRTSCTS          020000000000          /* flow control */
                    212: 
                    213: /* c_lflag bits */
                    214: #define ISIG   0000001
                    215: #define ICANON 0000002
                    216: #define XCASE  0000004
                    217: #define ECHO   0000010
                    218: #define ECHOE  0000020
                    219: #define ECHOK  0000040
                    220: #define ECHONL 0000100
                    221: #define NOFLSH 0000200
                    222: #define TOSTOP 0000400
                    223: #define ECHOCTL        0001000
                    224: #define ECHOPRT        0002000
                    225: #define ECHOKE 0004000
                    226: #define FLUSHO 0010000
                    227: #define PENDIN 0040000
                    228: #define IEXTEN 0100000
                    229: 
                    230: /* modem lines */
                    231: #define TIOCM_LE       0x001
                    232: #define TIOCM_DTR      0x002
                    233: #define TIOCM_RTS      0x004
                    234: #define TIOCM_ST       0x008
                    235: #define TIOCM_SR       0x010
                    236: #define TIOCM_CTS      0x020
                    237: #define TIOCM_CAR      0x040
                    238: #define TIOCM_RNG      0x080
                    239: #define TIOCM_DSR      0x100
                    240: #define TIOCM_CD       TIOCM_CAR
                    241: #define TIOCM_RI       TIOCM_RNG
                    242: 
                    243: /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
                    244: #define TIOCSER_TEMT    0x01   /* Transmitter physically empty */
                    245: 
                    246: 
                    247: /* tcflow() and TCXONC use these */
                    248: #define        TCOOFF          0
                    249: #define        TCOON           1
                    250: #define        TCIOFF          2
                    251: #define        TCION           3
                    252: 
                    253: /* tcflush() and TCFLSH use these */
                    254: #define        TCIFLUSH        0
                    255: #define        TCOFLUSH        1
                    256: #define        TCIOFLUSH       2
                    257: 
                    258: /* tcsetattr uses these */
                    259: #define        TCSANOW         0
                    260: #define        TCSADRAIN       1
                    261: #define        TCSAFLUSH       2
                    262: 
                    263: /* line disciplines */
                    264: #define N_TTY          0
                    265: #define N_SLIP         1
                    266: #define N_MOUSE                2
                    267: #define N_PPP          3
                    268: 
                    269: #ifdef __KERNEL__
                    270: 
                    271: #include <linux/string.h>
                    272: 
                    273: /*
                    274:  * Translate a "termio" structure into a "termios". Ugh.
                    275:  */
                    276: extern inline void trans_from_termio(struct termio * termio,
                    277:        struct termios * termios)
                    278: {
                    279: #define SET_LOW_BITS(x,y)      ((x) = (0xffff0000 & (x)) | (y))
                    280:        SET_LOW_BITS(termios->c_iflag, termio->c_iflag);
                    281:        SET_LOW_BITS(termios->c_oflag, termio->c_oflag);
                    282:        SET_LOW_BITS(termios->c_cflag, termio->c_cflag);
                    283:        SET_LOW_BITS(termios->c_lflag, termio->c_lflag);
                    284: #undef SET_LOW_BITS
                    285:        memcpy(termios->c_cc, termio->c_cc, NCC);
                    286: }
                    287: 
                    288: /*
                    289:  * Translate a "termios" structure into a "termio". Ugh.
                    290:  */
                    291: extern inline void trans_to_termio(struct termios * termios,
                    292:        struct termio * termio)
                    293: {
                    294:        termio->c_iflag = termios->c_iflag;
                    295:        termio->c_oflag = termios->c_oflag;
                    296:        termio->c_cflag = termios->c_cflag;
                    297:        termio->c_lflag = termios->c_lflag;
                    298:        termio->c_line  = termios->c_line;
                    299:        memcpy(termio->c_cc, termios->c_cc, NCC);
                    300: }
                    301: 
                    302: #endif /* __KERNEL__ */
                    303: 
                    304: #endif /* _I386_TERMIOS_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.