1 #ifndef _SYS_TERMIOS_H 2 # define _SYS_TERMIOS_H 3 4 # define _XCGETA (('x'<<8)|1) 5 # define _XCSETA (('x'<<8)|2) 6 # define _XCSETAW (('x'<<8)|3) 7 # define _XCSETAF (('x'<<8)|4) 8 # define _TCSBRK (('T'<<8)|5) 9 # define _TCFLSH (('T'<<8)|7) 10 # define _TCXONC (('T'<<8)|6) 11 12 # define TCOOFF 0 13 # define TCOON 1 14 # define TCIOFF 2 15 # define TCION 3 16 17 # define TCIFLUSH 0 18 # define TCOFLUSH 1 19 # define TCIOFLUSH 2 20 21 # define NCCS 13 22 23 # define TCSAFLUSH _XCSETAF 24 # define TCSANOW _XCSETA 25 # define TCSADRAIN _XCSETAW 26 # define TCSADFLUSH _XCSETAF 27 28 # define IGNBRK 000001 29 # define BRKINT 000002 30 # define IGNPAR 000004 31 # define INPCK 000020 32 # define ISTRIP 000040 33 # define INLCR 000100 34 # define IGNCR 000200 35 # define ICRNL 000400 36 # define IXON 002000 37 # define IXOFF 010000 38 39 # define OPOST 000001 40 # define OCRNL 000004 41 # define ONLCR 000010 42 # define ONOCR 000020 43 # define TAB3 014000 44 45 # define CLOCAL 004000 46 # define CREAD 000200 47 # define CSIZE 000060 48 # define CS5 0 49 # define CS6 020 50 # define CS7 040 51 # define CS8 060 52 # define CSTOPB 000100 53 # define HUPCL 002000 54 # define PARENB 000400 55 # define PAODD 001000 56 57 # define ECHO 0000010 58 # define ECHOE 0000020 59 # define ECHOK 0000040 60 # define ECHONL 0000100 61 # define ICANON 0000002 62 # define IEXTEN 0000400 /* anybody know *what* this does?! */ 63 # define ISIG 0000001 64 # define NOFLSH 0000200 65 # define TOSTOP 0001000 66 67 # define VEOF 4 /* also VMIN -- thanks, AT&T */ 68 # define VEOL 5 /* also VTIME -- thanks again */ 69 # define VERASE 2 70 # define VINTR 0 71 # define VKILL 3 72 # define VMIN 4 /* also VEOF */ 73 # define VQUIT 1 74 # define VSUSP 10 75 # define VTIME 5 /* also VEOL */ 76 # define VSTART 11 77 # define VSTOP 12 78 79 # define B0 000000 80 # define B50 000001 81 # define B75 000002 82 # define B110 000003 83 # define B134 000004 84 # define B150 000005 85 # define B200 000006 86 # define B300 000007 87 # define B600 000010 88 # define B1200 000011 89 # define B1800 000012 90 # define B2400 000013 91 # define B4800 000014 92 # define B9600 000015 93 # define B19200 000016 94 # define B38400 000017 95 96 typedef unsigned char cc_t; 97 typedef unsigned short tcflag_t; 98 typedef char speed_t; 99 100 struct termios { 101 tcflag_t c_iflag; 102 tcflag_t c_oflag; 103 tcflag_t c_cflag; 104 tcflag_t c_lflag; 105 char c_line; 106 cc_t c_cc[NCCS]; 107 speed_t c_ispeed; 108 speed_t c_ospeed; 109 }; 110 111 # ifndef _NO_MACROS 112 113 # define cfgetospeed(tp) ((tp)->c_ospeed) 114 # define cfgetispeed(tp) ((tp)->c_ispeed) 115 # define cfsetospeed(tp,s) (((tp)->c_ospeed = (s)), 0) 116 # define cfsetispeed(tp,s) (((tp)->c_ispeed = (s)), 0) 117 # define tcdrain(fd) _ioctl (fd, _TCSBRK, 1) 118 # endif /* _NO_MACROS */ 119 120 #endif /* _SYS_TERMIOS_H */ 121 122