(linenum→info "unix/slp.c:2238")

qemu/0.9.1/linux-user/x86_64/termbits.h

    1: #define TARGET_NCCS 19
    2: 
    3: typedef unsigned char   target_cc_t;
    4: typedef unsigned int    target_speed_t;
    5: typedef unsigned int    target_tcflag_t;
    6: struct target_termios {
    7:         target_tcflag_t c_iflag;               /* input mode flags */
    8:         target_tcflag_t c_oflag;               /* output mode flags */
    9:         target_tcflag_t c_cflag;               /* control mode flags */
   10:         target_tcflag_t c_lflag;               /* local mode flags */
   11:         target_cc_t c_line;                    /* line discipline */
   12:         target_cc_t c_cc[TARGET_NCCS];         /* control characters */
   13: };
   14: 
   15: /* c_cc characters */
   16: #define TARGET_VINTR 0
   17: #define TARGET_VQUIT 1
   18: #define TARGET_VERASE 2
   19: #define TARGET_VKILL 3
   20: #define TARGET_VEOF 4
   21: #define TARGET_VTIME 5
   22: #define TARGET_VMIN 6
   23: #define TARGET_VSWTC 7
   24: #define TARGET_VSTART 8
   25: #define TARGET_VSTOP 9
   26: #define TARGET_VSUSP 10
   27: #define TARGET_VEOL 11
   28: #define TARGET_VREPRINT 12
   29: #define TARGET_VDISCARD 13
   30: #define TARGET_VWERASE 14
   31: #define TARGET_VLNEXT 15
   32: #define TARGET_VEOL2 16
   33: 
   34: /* c_iflag bits */
   35: #define TARGET_IGNBRK   0000001
   36: #define TARGET_BRKINT   0000002
   37: #define TARGET_IGNPAR   0000004
   38: #define TARGET_PARMRK   0000010
   39: #define TARGET_INPCK    0000020
   40: #define TARGET_ISTRIP   0000040
   41: #define TARGET_INLCR    0000100
   42: #define TARGET_IGNCR    0000200
   43: #define TARGET_ICRNL    0000400
   44: #define TARGET_IUCLC    0001000
   45: #define TARGET_IXON     0002000
   46: #define TARGET_IXANY    0004000
   47: #define TARGET_IXOFF    0010000
   48: #define TARGET_IMAXBEL  0020000
   49: #define TARGET_IUTF8    0040000
   50: 
   51: /* c_oflag bits */
   52: #define TARGET_OPOST    0000001
   53: #define TARGET_OLCUC    0000002
   54: #define TARGET_ONLCR    0000004
   55: #define TARGET_OCRNL    0000010
   56: #define TARGET_ONOCR    0000020
   57: #define TARGET_ONLRET   0000040
   58: #define TARGET_OFILL    0000100
   59: #define TARGET_OFDEL    0000200
   60: #define TARGET_NLDLY    0000400
   61: #define   TARGET_NL0    0000000
   62: #define   TARGET_NL1    0000400
   63: #define TARGET_CRDLY    0003000
   64: #define   TARGET_CR0    0000000
   65: #define   TARGET_CR1    0001000
   66: #define   TARGET_CR2    0002000
   67: #define   TARGET_CR3    0003000
   68: #define TARGET_TABDLY   0014000
   69: #define   TARGET_TAB0   0000000
   70: #define   TARGET_TAB1   0004000
   71: #define   TARGET_TAB2   0010000
   72: #define   TARGET_TAB3   0014000
   73: #define   TARGET_XTABS  0014000
   74: #define TARGET_BSDLY    0020000
   75: #define   TARGET_BS0    0000000
   76: #define   TARGET_BS1    0020000
   77: #define TARGET_VTDLY    0040000
   78: #define   TARGET_VT0    0000000
   79: #define   TARGET_VT1    0040000
   80: #define TARGET_FFDLY    0100000
   81: #define   TARGET_FF0    0000000
   82: #define   TARGET_FF1    0100000
   83: 
   84: /* c_cflag bit meaning */
   85: #define TARGET_CBAUD    0010017
   86: #define  TARGET_B0      0000000              /* hang up */
   87: #define  TARGET_B50     0000001
   88: #define  TARGET_B75     0000002
   89: #define  TARGET_B110    0000003
   90: #define  TARGET_B134    0000004
   91: #define  TARGET_B150    0000005
   92: #define  TARGET_B200    0000006
   93: #define  TARGET_B300    0000007
   94: #define  TARGET_B600    0000010
   95: #define  TARGET_B1200   0000011
   96: #define  TARGET_B1800   0000012
   97: #define  TARGET_B2400   0000013
   98: #define  TARGET_B4800   0000014
   99: #define  TARGET_B9600   0000015
  100: #define  TARGET_B19200  0000016
  101: #define  TARGET_B38400  0000017
  102: #define TARGET_EXTA B19200
  103: #define TARGET_EXTB B38400
  104: #define TARGET_CSIZE    0000060
  105: #define   TARGET_CS5    0000000
  106: #define   TARGET_CS6    0000020
  107: #define   TARGET_CS7    0000040
  108: #define   TARGET_CS8    0000060
  109: #define TARGET_CSTOPB   0000100
  110: #define TARGET_CREAD    0000200
  111: #define TARGET_PARENB   0000400
  112: #define TARGET_PARODD   0001000
  113: #define TARGET_HUPCL    0002000
  114: #define TARGET_CLOCAL   0004000
  115: #define TARGET_CBAUDEX 0010000
  116: #define    TARGET_BOTHER 0010000                /* non standard rate */
  117: #define    TARGET_B57600 0010001
  118: #define   TARGET_B115200 0010002
  119: #define   TARGET_B230400 0010003
  120: #define   TARGET_B460800 0010004
  121: #define   TARGET_B500000 0010005
  122: #define   TARGET_B576000 0010006
  123: #define   TARGET_B921600 0010007
  124: #define  TARGET_B1000000 0010010
  125: #define  TARGET_B1152000 0010011
  126: #define  TARGET_B1500000 0010012
  127: #define  TARGET_B2000000 0010013
  128: #define  TARGET_B2500000 0010014
  129: #define  TARGET_B3000000 0010015
  130: #define  TARGET_B3500000 0010016
  131: #define  TARGET_B4000000 0010017
  132: #define TARGET_CIBAUD     002003600000    /* input baud rate */
  133: #define TARGET_CMSPAR     010000000000            /* mark or space (stick) parity */
  134: #define TARGET_CRTSCTS    020000000000           /* flow control */
  135: 
  136: #define TARGET_IBSHIFT    8              /* Shift from CBAUD to CIBAUD */
  137: 
  138: /* c_lflag bits */
  139: #define TARGET_ISIG     0000001
  140: #define TARGET_ICANON   0000002
  141: #define TARGET_XCASE    0000004
  142: #define TARGET_ECHO     0000010
  143: #define TARGET_ECHOE    0000020
  144: #define TARGET_ECHOK    0000040
  145: #define TARGET_ECHONL   0000100
  146: #define TARGET_NOFLSH   0000200
  147: #define TARGET_TOSTOP   0000400
  148: #define TARGET_ECHOCTL  0001000
  149: #define TARGET_ECHOPRT  0002000
  150: #define TARGET_ECHOKE   0004000
  151: #define TARGET_FLUSHO   0010000
  152: #define TARGET_PENDIN   0040000
  153: #define TARGET_IEXTEN   0100000
  154: 
  155: /* tcflow() and TCXONC use these */
  156: #define TARGET_TCOOFF           0
  157: #define TARGET_TCOON            1
  158: #define TARGET_TCIOFF           2
  159: #define TARGET_TCION            3
  160: 
  161: /* tcflush() and TCFLSH use these */
  162: #define TARGET_TCIFLUSH 0
  163: #define TARGET_TCOFLUSH 1
  164: #define TARGET_TCIOFLUSH        2
  165: 
  166: /* tcsetattr uses these */
  167: #define TARGET_TCSANOW          0
  168: #define TARGET_TCSADRAIN        1
  169: #define TARGET_TCSAFLUSH        2
  170: 
  171: #define TARGET_TCGETS           0x5401
  172: #define TARGET_TCSETS           0x5402
  173: #define TARGET_TCSETSW          0x5403
  174: #define TARGET_TCSETSF          0x5404
  175: #define TARGET_TCGETA           0x5405
  176: #define TARGET_TCSETA           0x5406
  177: #define TARGET_TCSETAW          0x5407
  178: #define TARGET_TCSETAF          0x5408
  179: #define TARGET_TCSBRK           0x5409
  180: #define TARGET_TCXONC           0x540A
  181: #define TARGET_TCFLSH           0x540B
  182: #define TARGET_TIOCEXCL 0x540C
  183: #define TARGET_TIOCNXCL 0x540D
  184: #define TARGET_TIOCSCTTY        0x540E
  185: #define TARGET_TIOCGPGRP        0x540F
  186: #define TARGET_TIOCSPGRP        0x5410
  187: #define TARGET_TIOCOUTQ 0x5411
  188: #define TARGET_TIOCSTI          0x5412
  189: #define TARGET_TIOCGWINSZ       0x5413
  190: #define TARGET_TIOCSWINSZ       0x5414
  191: #define TARGET_TIOCMGET 0x5415
  192: #define TARGET_TIOCMBIS 0x5416
  193: #define TARGET_TIOCMBIC 0x5417
  194: #define TARGET_TIOCMSET 0x5418
  195: #define TARGET_TIOCGSOFTCAR     0x5419
  196: #define TARGET_TIOCSSOFTCAR     0x541A
  197: #define TARGET_FIONREAD 0x541B
  198: #define TARGET_TIOCINQ          FIONREAD
  199: #define TARGET_TIOCLINUX        0x541C
  200: #define TARGET_TIOCCONS 0x541D
  201: #define TARGET_TIOCGSERIAL      0x541E
  202: #define TARGET_TIOCSSERIAL      0x541F
  203: #define TARGET_TIOCPKT          0x5420
  204: #define TARGET_FIONBIO          0x5421
  205: #define TARGET_TIOCNOTTY        0x5422
  206: #define TARGET_TIOCSETD 0x5423
  207: #define TARGET_TIOCGETD 0x5424
  208: #define TARGET_TCSBRKP          0x5425  /* Needed for POSIX tcsendbreak() */
  209: #define TARGET_TIOCSBRK 0x5427  /* BSD compatibility */
  210: #define TARGET_TIOCCBRK 0x5428  /* BSD compatibility */
  211: #define TARGET_TIOCGSID 0x5429  /* Return the session ID of FD */
  212: #define TARGET_TCGETS2          _IOR('T',0x2A, struct termios2)
  213: #define TARGET_TCSETS2          _IOW('T',0x2B, struct termios2)
  214: #define TARGET_TCSETSW2 _IOW('T',0x2C, struct termios2)
  215: #define TARGET_TCSETSF2 _IOW('T',0x2D, struct termios2)
  216: #define TARGET_TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
  217: #define TARGET_TIOCSPTLCK       _IOW('T',0x31, int)  /* Lock/unlock Pty */
  218: 
  219: #define TARGET_FIONCLEX 0x5450  /* these numbers need to be adjusted. */
  220: #define TARGET_FIOCLEX          0x5451
  221: #define TARGET_FIOASYNC 0x5452
  222: #define TARGET_TIOCSERCONFIG    0x5453
  223: #define TARGET_TIOCSERGWILD     0x5454
  224: #define TARGET_TIOCSERSWILD     0x5455
  225: #define TARGET_TIOCGLCKTRMIOS   0x5456
  226: #define TARGET_TIOCSLCKTRMIOS   0x5457
  227: #define TARGET_TIOCSERGSTRUCT   0x5458 /* For debugging only */
  228: #define TARGET_TIOCSERGETLSR   0x5459 /* Get line status register */
  229: #define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config  */
  230: #define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
  231: 
  232: #define TARGET_TIOCMIWAIT       0x545C        /* wait for a change on serial input line(s) */
  233: #define TARGET_TIOCGICOUNT      0x545D       /* read serial port inline interrupt counts */
  234: #define TARGET_TIOCGHAYESESP   0x545E  /* Get Hayes ESP configuration */
  235: #define TARGET_TIOCSHAYESESP   0x545F  /* Set Hayes ESP configuration */
  236: #define TARGET_FIOQSIZE       0x5460
  237: 
  238: /* Used for packet mode */
  239: #define TARGET_TIOCPKT_DATA              0
  240: #define TARGET_TIOCPKT_FLUSHREAD         1
  241: #define TARGET_TIOCPKT_FLUSHWRITE        2
  242: #define TARGET_TIOCPKT_STOP              4
  243: #define TARGET_TIOCPKT_START             8
  244: #define TARGET_TIOCPKT_NOSTOP           16
  245: #define TARGET_TIOCPKT_DOSTOP           32
  246: 
  247: #define TARGET_TIOCSER_TEMT    0x01     /* Transmitter physically empty */
Syntax (Markdown)