|
|
1.1 ! root 1: /* from asm/termbits.h */ ! 2: ! 3: #define TARGET_NCCS 19 ! 4: ! 5: struct target_termios { ! 6: unsigned int c_iflag; /* input mode flags */ ! 7: unsigned int c_oflag; /* output mode flags */ ! 8: unsigned int c_cflag; /* control mode flags */ ! 9: unsigned int c_lflag; /* local mode flags */ ! 10: unsigned char c_line; /* line discipline */ ! 11: unsigned char c_cc[TARGET_NCCS]; /* control characters */ ! 12: }; ! 13: ! 14: /* c_cc characters */ ! 15: #define TARGET_VINTR 0 ! 16: #define TARGET_VQUIT 1 ! 17: #define TARGET_VERASE 2 ! 18: #define TARGET_VKILL 3 ! 19: #define TARGET_VEOF 4 ! 20: #define TARGET_VEOL 5 ! 21: #define TARGET_VEOL2 6 ! 22: #define TARGET_VSWTC 7 ! 23: #define TARGET_VSTART 8 ! 24: #define TARGET_VSTOP 9 ! 25: ! 26: #define TARGET_VSUSP 10 ! 27: #define TARGET_VDSUSP 11 /* SunOS POSIX nicety I do believe... */ ! 28: #define TARGET_VREPRINT 12 ! 29: #define TARGET_VDISCARD 13 ! 30: #define TARGET_VWERASE 14 ! 31: #define TARGET_VLNEXT 15 ! 32: ! 33: /* Kernel keeps vmin/vtime separated, user apps assume vmin/vtime is ! 34: * shared with eof/eol ! 35: */ ! 36: #define TARGET_VMIN TARGET_VEOF ! 37: #define TARGET_VTIME TARGET_VEOL ! 38: ! 39: /* c_iflag bits */ ! 40: #define TARGET_IGNBRK 0x00000001 ! 41: #define TARGET_BRKINT 0x00000002 ! 42: #define TARGET_IGNPAR 0x00000004 ! 43: #define TARGET_PARMRK 0x00000008 ! 44: #define TARGET_INPCK 0x00000010 ! 45: #define TARGET_ISTRIP 0x00000020 ! 46: #define TARGET_INLCR 0x00000040 ! 47: #define TARGET_IGNCR 0x00000080 ! 48: #define TARGET_ICRNL 0x00000100 ! 49: #define TARGET_IUCLC 0x00000200 ! 50: #define TARGET_IXON 0x00000400 ! 51: #define TARGET_IXANY 0x00000800 ! 52: #define TARGET_IXOFF 0x00001000 ! 53: #define TARGET_IMAXBEL 0x00002000 ! 54: ! 55: /* c_oflag bits */ ! 56: #define TARGET_OPOST 0x00000001 ! 57: #define TARGET_OLCUC 0x00000002 ! 58: #define TARGET_ONLCR 0x00000004 ! 59: #define TARGET_OCRNL 0x00000008 ! 60: #define TARGET_ONOCR 0x00000010 ! 61: #define TARGET_ONLRET 0x00000020 ! 62: #define TARGET_OFILL 0x00000040 ! 63: #define TARGET_OFDEL 0x00000080 ! 64: #define TARGET_NLDLY 0x00000100 ! 65: #define TARGET_NL0 0x00000000 ! 66: #define TARGET_NL1 0x00000100 ! 67: #define TARGET_CRDLY 0x00000600 ! 68: #define TARGET_CR0 0x00000000 ! 69: #define TARGET_CR1 0x00000200 ! 70: #define TARGET_CR2 0x00000400 ! 71: #define TARGET_CR3 0x00000600 ! 72: #define TARGET_TABDLY 0x00001800 ! 73: #define TARGET_TAB0 0x00000000 ! 74: #define TARGET_TAB1 0x00000800 ! 75: #define TARGET_TAB2 0x00001000 ! 76: #define TARGET_TAB3 0x00001800 ! 77: #define TARGET_XTABS 0x00001800 ! 78: #define TARGET_BSDLY 0x00002000 ! 79: #define TARGET_BS0 0x00000000 ! 80: #define TARGET_BS1 0x00002000 ! 81: #define TARGET_VTDLY 0x00004000 ! 82: #define TARGET_VT0 0x00000000 ! 83: #define TARGET_VT1 0x00004000 ! 84: #define TARGET_FFDLY 0x00008000 ! 85: #define TARGET_FF0 0x00000000 ! 86: #define TARGET_FF1 0x00008000 ! 87: #define TARGET_PAGEOUT 0x00010000 /* SUNOS specific */ ! 88: #define TARGET_WRAP 0x00020000 /* SUNOS specific */ ! 89: ! 90: /* c_cflag bit meaning */ ! 91: #define TARGET_CBAUD 0x0000100f ! 92: #define TARGET_B0 0x00000000 /* hang up */ ! 93: #define TARGET_B50 0x00000001 ! 94: #define TARGET_B75 0x00000002 ! 95: #define TARGET_B110 0x00000003 ! 96: #define TARGET_B134 0x00000004 ! 97: #define TARGET_B150 0x00000005 ! 98: #define TARGET_B200 0x00000006 ! 99: #define TARGET_B300 0x00000007 ! 100: #define TARGET_B600 0x00000008 ! 101: #define TARGET_B1200 0x00000009 ! 102: #define TARGET_B1800 0x0000000a ! 103: #define TARGET_B2400 0x0000000b ! 104: #define TARGET_B4800 0x0000000c ! 105: #define TARGET_B9600 0x0000000d ! 106: #define TARGET_B19200 0x0000000e ! 107: #define TARGET_B38400 0x0000000f ! 108: #define TARGET_EXTA B19200 ! 109: #define TARGET_EXTB B38400 ! 110: #define TARGET_CSIZE 0x00000030 ! 111: #define TARGET_CS5 0x00000000 ! 112: #define TARGET_CS6 0x00000010 ! 113: #define TARGET_CS7 0x00000020 ! 114: #define TARGET_CS8 0x00000030 ! 115: #define TARGET_CSTOPB 0x00000040 ! 116: #define TARGET_CREAD 0x00000080 ! 117: #define TARGET_PARENB 0x00000100 ! 118: #define TARGET_PARODD 0x00000200 ! 119: #define TARGET_HUPCL 0x00000400 ! 120: #define TARGET_CLOCAL 0x00000800 ! 121: #define TARGET_CBAUDEX 0x00001000 ! 122: /* We'll never see these speeds with the Zilogs, but for completeness... */ ! 123: #define TARGET_B57600 0x00001001 ! 124: #define TARGET_B115200 0x00001002 ! 125: #define TARGET_B230400 0x00001003 ! 126: #define TARGET_B460800 0x00001004 ! 127: /* This is what we can do with the Zilogs. */ ! 128: #define TARGET_B76800 0x00001005 ! 129: /* This is what we can do with the SAB82532. */ ! 130: #define TARGET_B153600 0x00001006 ! 131: #define TARGET_B307200 0x00001007 ! 132: #define TARGET_B614400 0x00001008 ! 133: #define TARGET_B921600 0x00001009 ! 134: /* And these are the rest... */ ! 135: #define TARGET_B500000 0x0000100a ! 136: #define TARGET_B576000 0x0000100b ! 137: #define TARGET_B1000000 0x0000100c ! 138: #define TARGET_B1152000 0x0000100d ! 139: #define TARGET_B1500000 0x0000100e ! 140: #define TARGET_B2000000 0x0000100f ! 141: /* These have totally bogus values and nobody uses them ! 142: so far. Later on we'd have to use say 0x10000x and ! 143: adjust CBAUD constant and drivers accordingly. ! 144: #define B2500000 0x00001010 ! 145: #define B3000000 0x00001011 ! 146: #define B3500000 0x00001012 ! 147: #define B4000000 0x00001013 */ ! 148: #define TARGET_CIBAUD 0x100f0000 /* input baud rate (not used) */ ! 149: #define TARGET_CMSPAR 0x40000000 /* mark or space (stick) parity */ ! 150: #define TARGET_CRTSCTS 0x80000000 /* flow control */ ! 151: ! 152: /* c_lflag bits */ ! 153: #define TARGET_ISIG 0x00000001 ! 154: #define TARGET_ICANON 0x00000002 ! 155: #define TARGET_XCASE 0x00000004 ! 156: #define TARGET_ECHO 0x00000008 ! 157: #define TARGET_ECHOE 0x00000010 ! 158: #define TARGET_ECHOK 0x00000020 ! 159: #define TARGET_ECHONL 0x00000040 ! 160: #define TARGET_NOFLSH 0x00000080 ! 161: #define TARGET_TOSTOP 0x00000100 ! 162: #define TARGET_ECHOCTL 0x00000200 ! 163: #define TARGET_ECHOPRT 0x00000400 ! 164: #define TARGET_ECHOKE 0x00000800 ! 165: #define TARGET_DEFECHO 0x00001000 /* SUNOS thing, what is it? */ ! 166: #define TARGET_FLUSHO 0x00002000 ! 167: #define TARGET_PENDIN 0x00004000 ! 168: #define TARGET_IEXTEN 0x00008000 ! 169: ! 170: /* ioctls */ ! 171: ! 172: /* Big T */ ! 173: #define TARGET_TCGETA TARGET_IOR('T', 1, struct target_termio) ! 174: #define TARGET_TCSETA TARGET_IOW('T', 2, struct target_termio) ! 175: #define TARGET_TCSETAW TARGET_IOW('T', 3, struct target_termio) ! 176: #define TARGET_TCSETAF TARGET_IOW('T', 4, struct target_termio) ! 177: #define TARGET_TCSBRK TARGET_IO('T', 5) ! 178: #define TARGET_TCXONC TARGET_IO('T', 6) ! 179: #define TARGET_TCFLSH TARGET_IO('T', 7) ! 180: #define TARGET_TCGETS TARGET_IOR('T', 8, struct target_termios) ! 181: #define TARGET_TCSETS TARGET_IOW('T', 9, struct target_termios) ! 182: #define TARGET_TCSETSW TARGET_IOW('T', 10, struct target_termios) ! 183: #define TARGET_TCSETSF TARGET_IOW('T', 11, struct target_termios) ! 184: ! 185: /* Note that all the ioctls that are not available in Linux have a ! 186: * double underscore on the front to: a) avoid some programs to ! 187: * thing we support some ioctls under Linux (autoconfiguration stuff) ! 188: */ ! 189: /* Little t */ ! 190: #define TARGET_TIOCGETD TARGET_IOR('t', 0, int) ! 191: #define TARGET_TIOCSETD TARGET_IOW('t', 1, int) ! 192: //#define __TIOCHPCL _IO('t', 2) /* SunOS Specific */ ! 193: //#define __TIOCMODG _IOR('t', 3, int) /* SunOS Specific */ ! 194: //#define __TIOCMODS _IOW('t', 4, int) /* SunOS Specific */ ! 195: //#define __TIOCGETP _IOR('t', 8, struct sgttyb) /* SunOS Specific */ ! 196: //#define __TIOCSETP _IOW('t', 9, struct sgttyb) /* SunOS Specific */ ! 197: //#define __TIOCSETN _IOW('t', 10, struct sgttyb) /* SunOS Specific */ ! 198: #define TARGET_TIOCEXCL TARGET_IO('t', 13) ! 199: #define TARGET_TIOCNXCL TARGET_IO('t', 14) ! 200: //#define __TIOCFLUSH _IOW('t', 16, int) /* SunOS Specific */ ! 201: //#define __TIOCSETC _IOW('t', 17, struct tchars) /* SunOS Specific */ ! 202: //#define __TIOCGETC _IOR('t', 18, struct tchars) /* SunOS Specific */ ! 203: //#define __TIOCTCNTL _IOW('t', 32, int) /* SunOS Specific */ ! 204: //#define __TIOCSIGNAL _IOW('t', 33, int) /* SunOS Specific */ ! 205: //#define __TIOCSETX _IOW('t', 34, int) /* SunOS Specific */ ! 206: //#define __TIOCGETX _IOR('t', 35, int) /* SunOS Specific */ ! 207: #define TARGET_TIOCCONS TARGET_IO('t', 36) ! 208: //#define __TIOCSSIZE _IOW('t', 37, struct sunos_ttysize) /* SunOS Specific */ ! 209: //#define __TIOCGSIZE _IOR('t', 38, struct sunos_ttysize) /* SunOS Specific */ ! 210: #define TARGET_TIOCGSOFTCAR TARGET_IOR('t', 100, int) ! 211: #define TARGET_TIOCSSOFTCAR TARGET_IOW('t', 101, int) ! 212: //#define __TIOCUCNTL _IOW('t', 102, int) /* SunOS Specific */ ! 213: #define TARGET_TIOCSWINSZ TARGET_IOW('t', 103, struct winsize) ! 214: #define TARGET_TIOCGWINSZ TARGET_IOR('t', 104, struct winsize) ! 215: //#define __TIOCREMOTE _IOW('t', 105, int) /* SunOS Specific */ ! 216: #define TARGET_TIOCMGET TARGET_IOR('t', 106, int) ! 217: #define TARGET_TIOCMBIC TARGET_IOW('t', 107, int) ! 218: #define TARGET_TIOCMBIS TARGET_IOW('t', 108, int) ! 219: #define TARGET_TIOCMSET TARGET_IOW('t', 109, int) ! 220: #define TARGET_TIOCSTART TARGET_IO('t', 110) ! 221: #define TARGET_TIOCSTOP TARGET_IO('t', 111) ! 222: #define TARGET_TIOCPKT TARGET_IOW('t', 112, int) ! 223: #define TARGET_TIOCNOTTY TARGET_IO('t', 113) ! 224: #define TARGET_TIOCSTI TARGET_IOW('t', 114, char) ! 225: #define TARGET_TIOCOUTQ TARGET_IOR('t', 115, int) ! 226: //#define __TIOCGLTC _IOR('t', 116, struct ltchars) /* SunOS Specific */ ! 227: //#define __TIOCSLTC _IOW('t', 117, struct ltchars) /* SunOS Specific */ ! 228: /* 118 is the non-posix setpgrp tty ioctl */ ! 229: /* 119 is the non-posix getpgrp tty ioctl */ ! 230: //#define __TIOCCDTR TARGET_IO('t', 120) /* SunOS Specific */ ! 231: //#define __TIOCSDTR TARGET_IO('t', 121) /* SunOS Specific */ ! 232: #define TARGET_TIOCCBRK TARGET_IO('t', 122) ! 233: #define TARGET_TIOCSBRK TARGET_IO('t', 123) ! 234: //#define __TIOCLGET TARGET_IOW('t', 124, int) /* SunOS Specific */ ! 235: //#define __TIOCLSET TARGET_IOW('t', 125, int) /* SunOS Specific */ ! 236: //#define __TIOCLBIC TARGET_IOW('t', 126, int) /* SunOS Specific */ ! 237: //#define __TIOCLBIS TARGET_IOW('t', 127, int) /* SunOS Specific */ ! 238: //#define __TIOCISPACE TARGET_IOR('t', 128, int) /* SunOS Specific */ ! 239: //#define __TIOCISIZE TARGET_IOR('t', 129, int) /* SunOS Specific */ ! 240: #define TARGET_TIOCSPGRP TARGET_IOW('t', 130, int) ! 241: #define TARGET_TIOCGPGRP TARGET_IOR('t', 131, int) ! 242: #define TARGET_TIOCSCTTY TARGET_IO('t', 132) ! 243: #define TARGET_TIOCGSID TARGET_IOR('t', 133, int) ! 244: /* Get minor device of a pty master's FD -- Solaris equiv is ISPTM */ ! 245: #define TARGET_TIOCGPTN TARGET_IOR('t', 134, unsigned int) /* Get Pty Number */ ! 246: #define TARGET_TIOCSPTLCK TARGET_IOW('t', 135, int) /* Lock/unlock PTY */ ! 247: ! 248: /* Little f */ ! 249: #define TARGET_FIOCLEX TARGET_IO('f', 1) ! 250: #define TARGET_FIONCLEX TARGET_IO('f', 2) ! 251: #define TARGET_FIOASYNC TARGET_IOW('f', 125, int) ! 252: #define TARGET_FIONBIO TARGET_IOW('f', 126, int) ! 253: #define TARGET_FIONREAD TARGET_IOR('f', 127, int) ! 254: #define TARGET_TIOCINQ TARGET_FIONREAD ! 255: ! 256: /* SCARY Rutgers local SunOS kernel hackery, perhaps I will support it ! 257: * someday. This is completely bogus, I know... ! 258: */ ! 259: //#define __TCGETSTAT TARGET_IO('T', 200) /* Rutgers specific */ ! 260: //#define __TCSETSTAT TARGET_IO('T', 201) /* Rutgers specific */ ! 261: ! 262: /* Linux specific, no SunOS equivalent. */ ! 263: #define TARGET_TIOCLINUX 0x541C ! 264: #define TARGET_TIOCGSERIAL 0x541E ! 265: #define TARGET_TIOCSSERIAL 0x541F ! 266: #define TARGET_TCSBRKP 0x5425 ! 267: #define TARGET_TIOCTTYGSTRUCT 0x5426 ! 268: #define TARGET_TIOCSERCONFIG 0x5453 ! 269: #define TARGET_TIOCSERGWILD 0x5454 ! 270: #define TARGET_TIOCSERSWILD 0x5455 ! 271: #define TARGET_TIOCGLCKTRMIOS 0x5456 ! 272: #define TARGET_TIOCSLCKTRMIOS 0x5457 ! 273: #define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */ ! 274: #define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */ ! 275: #define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */ ! 276: #define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */ ! 277: #define TARGET_TIOCMIWAIT 0x545C /* Wait input */ ! 278: #define TARGET_TIOCGICOUNT 0x545D /* Read serial port inline interrupt counts */ ! 279:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.