|
|
1.1 ! root 1: /* (-lgl ! 2: * COHERENT Version 3.0 ! 3: * Copyright 1989 by Inetco Systems, Ltd. ! 4: * All rights reserved. May not be copied without permission. ! 5: -lgl) */ ! 6: #ifndef TERMIO_H ! 7: #define TERMIO_H ! 8: ! 9: /* ! 10: * Terminal Input/Output Parameters ! 11: */ ! 12: ! 13: #define NCC 8 ! 14: typedef ! 15: struct termio { ! 16: unsigned short c_iflag; /* input modes */ ! 17: unsigned short c_oflag; /* output modes */ ! 18: unsigned short c_cflag; /* control modes */ ! 19: unsigned short c_lflag; /* local modes */ ! 20: char c_line; /* line discipline */ ! 21: unsigned char c_cc[NCC]; /* control chars */ ! 22: } termio_t; ! 23: ! 24: /* ! 25: * Basic Terminal Input Control: c_iflag ! 26: */ ! 27: #define IGNBRK 0000001 /* Ignore break condition */ ! 28: #define BRKINT 0000002 /* Signal interrupt on break */ ! 29: #define IGNPAR 0000004 /* Ignore characters with parity errors */ ! 30: #define PARMRK 0000010 /* Mark parity errors */ ! 31: #define INPCK 0000020 /* Enable input parity check */ ! 32: #define ISTRIP 0000040 /* Strip character */ ! 33: #define INLCR 0000100 /* Map NL to CR on input */ ! 34: #define IGNCR 0000200 /* Ignore CR */ ! 35: #define ICRNL 0000400 /* Map CR to NL on input */ ! 36: #define IUCLC 0001000 /* Map upper-case to lower-case on input */ ! 37: #define IXON 0002000 /* Enable start/stop output control */ ! 38: #define IXANY 0004000 /* Enable any character to restart output */ ! 39: #define IXOFF 0010000 /* Enable start/stop input control */ ! 40: ! 41: /* ! 42: * Basic Terminal Output Control: c_oflag ! 43: */ ! 44: #define OPOST 0000001 /* Postprocess output */ ! 45: #define OLCUC 0000002 /* Map lower case to upper on output */ ! 46: #define ONLCR 0000004 /* Map NL to CR-NL on output */ ! 47: #define OCRNL 0000010 /* Map CR to NL on output */ ! 48: #define ONOCR 0000020 /* No CR output at column 0 */ ! 49: #define ONLRET 0000040 /* NL performs CR function */ ! 50: #define OFILL 0000100 /* Use fill characters for delay */ ! 51: #define OFDEL 0000200 /* Fill is DEL, else NUL */ ! 52: #define NLDLY 0000400 /* Select new-line delays: */ ! 53: #define NL0 0 ! 54: #define NL1 0000400 ! 55: #define CRDLY 0003000 /* Select carriage-return delays: */ ! 56: #define CR0 0 ! 57: #define CR1 0001000 ! 58: #define CR2 0002000 ! 59: #define CR3 0003000 ! 60: #define TABDLY 0014000 /* Select horizontal-tab delays: */ ! 61: #define TAB0 0 ! 62: #define TAB1 0004000 ! 63: #define TAB2 0010000 ! 64: #define TAB3 0014000 ! 65: #define XTABS TAB3 /* Expand tabs to spaces */ ! 66: #define BSDLY 0020000 /* Select backspace delays: */ ! 67: #define BS0 0 ! 68: #define BS1 0020000 ! 69: #define VTDLY 0040000 /* Select vertical-tab delays: */ ! 70: #define VT0 0 ! 71: #define VT1 0040000 ! 72: #define FFDLY 0100000 /* Select form-feed delays: */ ! 73: #define FF0 0 ! 74: #define FF1 0100000 ! 75: ! 76: /* ! 77: * Terminal Hardware Control: c_cflag ! 78: */ ! 79: #define CBAUD 0000017 /* Baud rate: */ ! 80: #define B0 0 /* Hang up */ ! 81: #define B50 0000001 /* 50 baud */ ! 82: #define B75 0000002 /* 75 baud */ ! 83: #define B110 0000003 /* 110 baud */ ! 84: #define B134 0000004 /* 134.5 baud */ ! 85: #define B150 0000005 /* 150 baud */ ! 86: #define B200 0000006 /* 200 baud */ ! 87: #define B300 0000007 /* 300 baud */ ! 88: #define B600 0000010 /* 600 baud */ ! 89: #define B1200 0000011 /* 1200 baud */ ! 90: #define B1800 0000012 /* 1800 baud */ ! 91: #define B2400 0000013 /* 2400 baud */ ! 92: #define B4800 0000014 /* 4800 baud */ ! 93: #define B9600 0000015 /* 9600 baud */ ! 94: #define B19200 0000016 /* 19200 baud */ ! 95: #define B38400 0000017 /* 38400 baud */ ! 96: #define EXTA 0000016 /* External A */ ! 97: #define EXTB 0000017 /* External B */ ! 98: #define CSIZE 0000060 /* Character size: */ ! 99: #define CS5 0 /* 5 bits */ ! 100: #define CS6 0000020 /* 6 bits */ ! 101: #define CS7 0000040 /* 7 bits */ ! 102: #define CS8 0000060 /* 8 bits */ ! 103: #define CSTOPB 0000100 /* Send two stop bits, else one */ ! 104: #define CREAD 0000200 /* Enable receiver */ ! 105: #define PARENB 0000400 /* Parity enable */ ! 106: #define PARODD 0001000 /* Odd parity, else even */ ! 107: #define HUPCL 0002000 /* Hang up on last close */ ! 108: #define CLOCAL 0004000 /* Local line, else dial-up */ ! 109: ! 110: /* ! 111: * Terminal Functions - c_lflag ! 112: */ ! 113: #define ISIG 0000001 /* Enable signals */ ! 114: #define ICANON 0000002 /* Canonical input (erase and kill) */ ! 115: #define XCASE 0000004 /* Canonical upper/lower presentation */ ! 116: #define ECHO 0000010 /* Enable echo */ ! 117: #define ECHOE 0000020 /* Echo erase character as BS-SP-BS */ ! 118: #define ECHOK 0000040 /* Echo NL after kill character */ ! 119: #define ECHONL 0000100 /* Echo NL */ ! 120: #define NOFLSH 0000200 /* Disable flush after interrupt or quit */ ! 121: ! 122: /* ! 123: * Offsets into Control Characters ! 124: */ ! 125: #define VINTR 0 ! 126: #define VQUIT 1 ! 127: #define VERASE 2 ! 128: #define VKILL 3 ! 129: #define VEOF 4 ! 130: #define VEOL 5 ! 131: #define VEOL2 6 ! 132: #define VMIN 4 ! 133: #define VTIME 5 ! 134: ! 135: /* ! 136: * Ioctl Commands - ioctl(fno, com, &termio) ! 137: */ ! 138: ! 139: #define TIOC ('T'<<8) ! 140: #define TCGETA (TIOC|1) /* Get terminal parameters */ ! 141: #define TCSETA (TIOC|2) /* Set terminal parameters */ ! 142: #define TCSETAW (TIOC|3) /* Wait for drain, then set parameters */ ! 143: #define TCSETAF (TIOC|4) /* Wait for drain, flush input, set parms */ ! 144: ! 145: /* ! 146: * Ioctl Commands - ioctl(fno, com, arg) ! 147: */ ! 148: #define TCSBRK (TIOC|5) /* Send 0.25 second break */ ! 149: #define TCXONC (TIOC|6) /* Start/stop control ! 150: arg=0 -> suspend output ! 151: arg=1 -> restart suspended output ! 152: */ ! 153: #define TCFLSH (TIOC|7) /* arg=0 -> flush input queue ! 154: arg=1 -> flush output queue ! 155: arg=2 -> flush both input and output queues ! 156: */ ! 157: #define TCDTR (TIOC|8) /* arg=0 -> drop dtr (carrier) ! 158: arg=1 -> raise dtr ! 159: */ ! 160: #define TCDSET (TIOC|32) ! 161: ! 162: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.