1*0Sstevel@tonic-gate /* 2*0Sstevel@tonic-gate * CDDL HEADER START 3*0Sstevel@tonic-gate * 4*0Sstevel@tonic-gate * The contents of this file are subject to the terms of the 5*0Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only 6*0Sstevel@tonic-gate * (the "License"). You may not use this file except in compliance 7*0Sstevel@tonic-gate * with the License. 8*0Sstevel@tonic-gate * 9*0Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*0Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 11*0Sstevel@tonic-gate * See the License for the specific language governing permissions 12*0Sstevel@tonic-gate * and limitations under the License. 13*0Sstevel@tonic-gate * 14*0Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 15*0Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*0Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 17*0Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 18*0Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 19*0Sstevel@tonic-gate * 20*0Sstevel@tonic-gate * CDDL HEADER END 21*0Sstevel@tonic-gate */ 22*0Sstevel@tonic-gate /* 23*0Sstevel@tonic-gate * Copyright 1999-2002 Sun Microsystems, Inc. All rights reserved. 24*0Sstevel@tonic-gate * Use is subject to license terms. 25*0Sstevel@tonic-gate */ 26*0Sstevel@tonic-gate 27*0Sstevel@tonic-gate /* 28*0Sstevel@tonic-gate * Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T 29*0Sstevel@tonic-gate * All Rights Reserved 30*0Sstevel@tonic-gate * 31*0Sstevel@tonic-gate */ 32*0Sstevel@tonic-gate 33*0Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 34*0Sstevel@tonic-gate 35*0Sstevel@tonic-gate #include <stdio.h> 36*0Sstevel@tonic-gate #include <sys/types.h> 37*0Sstevel@tonic-gate #include <termio.h> 38*0Sstevel@tonic-gate #include <sys/stermio.h> 39*0Sstevel@tonic-gate #include <sys/termiox.h> 40*0Sstevel@tonic-gate #include "stty.h" 41*0Sstevel@tonic-gate 42*0Sstevel@tonic-gate const struct speeds speeds[] = { 43*0Sstevel@tonic-gate "0", B0, 0, 44*0Sstevel@tonic-gate "50", B50, 50, 45*0Sstevel@tonic-gate "75", B75, 75, 46*0Sstevel@tonic-gate "110", B110, 110, 47*0Sstevel@tonic-gate "134", B134, 134, 48*0Sstevel@tonic-gate "134.5", B134, 134, 49*0Sstevel@tonic-gate "150", B150, 150, 50*0Sstevel@tonic-gate "200", B200, 200, 51*0Sstevel@tonic-gate "300", B300, 300, 52*0Sstevel@tonic-gate "600", B600, 600, 53*0Sstevel@tonic-gate "1200", B1200, 1200, 54*0Sstevel@tonic-gate "1800", B1800, 1800, 55*0Sstevel@tonic-gate "2400", B2400, 2400, 56*0Sstevel@tonic-gate "4800", B4800, 4800, 57*0Sstevel@tonic-gate "9600", B9600, 9600, 58*0Sstevel@tonic-gate "19200", B19200, 19200, 59*0Sstevel@tonic-gate "19.2", B19200, 19200, 60*0Sstevel@tonic-gate "38400", B38400, 38400, 61*0Sstevel@tonic-gate "38.4", B38400, 38400, 62*0Sstevel@tonic-gate "57600", B57600, 57600, 63*0Sstevel@tonic-gate "57.6", B57600, 57600, 64*0Sstevel@tonic-gate "76800", B76800, 76800, 65*0Sstevel@tonic-gate "76.8", B76800, 76800, 66*0Sstevel@tonic-gate "115200", B115200, 115200, 67*0Sstevel@tonic-gate "115.2", B115200, 115200, 68*0Sstevel@tonic-gate "153600", B153600, 153600, 69*0Sstevel@tonic-gate "153.6", B153600, 153600, 70*0Sstevel@tonic-gate "230400", B230400, 230400, 71*0Sstevel@tonic-gate "230.4", B230400, 230400, 72*0Sstevel@tonic-gate "307200", B307200, 307200, 73*0Sstevel@tonic-gate "307.2", B307200, 307200, 74*0Sstevel@tonic-gate "460800", B460800, 460800, 75*0Sstevel@tonic-gate "460.8", B460800, 460800, 76*0Sstevel@tonic-gate 0, 77*0Sstevel@tonic-gate }; 78*0Sstevel@tonic-gate 79*0Sstevel@tonic-gate const struct mds cmodes[] = { 80*0Sstevel@tonic-gate "-parity", CS8, PARENB|CSIZE, 81*0Sstevel@tonic-gate "-evenp", CS8, PARENB|CSIZE, 82*0Sstevel@tonic-gate "-oddp", CS8, PARENB|PARODD|CSIZE, 83*0Sstevel@tonic-gate "parity", PARENB|CS7, PARODD|CSIZE, 84*0Sstevel@tonic-gate "evenp", PARENB|CS7, PARODD|CSIZE, 85*0Sstevel@tonic-gate "oddp", PARENB|PARODD|CS7, CSIZE, 86*0Sstevel@tonic-gate "parenb", PARENB, 0, 87*0Sstevel@tonic-gate "-parenb", 0, PARENB, 88*0Sstevel@tonic-gate "parodd", PARODD, 0, 89*0Sstevel@tonic-gate "-parodd", 0, PARODD, 90*0Sstevel@tonic-gate "cs8", CS8, CSIZE, 91*0Sstevel@tonic-gate "cs7", CS7, CSIZE, 92*0Sstevel@tonic-gate "cs6", CS6, CSIZE, 93*0Sstevel@tonic-gate "cs5", CS5, CSIZE, 94*0Sstevel@tonic-gate "cstopb", CSTOPB, 0, 95*0Sstevel@tonic-gate "-cstopb", 0, CSTOPB, 96*0Sstevel@tonic-gate "hupcl", HUPCL, 0, 97*0Sstevel@tonic-gate "hup", HUPCL, 0, 98*0Sstevel@tonic-gate "-hupcl", 0, HUPCL, 99*0Sstevel@tonic-gate "-hup", 0, HUPCL, 100*0Sstevel@tonic-gate "clocal", CLOCAL, 0, 101*0Sstevel@tonic-gate "-clocal", 0, CLOCAL, 102*0Sstevel@tonic-gate "loblk", LOBLK, 0, 103*0Sstevel@tonic-gate "-loblk", 0, LOBLK, 104*0Sstevel@tonic-gate "cread", CREAD, 0, 105*0Sstevel@tonic-gate "-cread", 0, CREAD, 106*0Sstevel@tonic-gate "crtscts", (long)CRTSCTS, 0, 107*0Sstevel@tonic-gate "-crtscts", 0, (long)CRTSCTS, 108*0Sstevel@tonic-gate "crtsxoff", CRTSXOFF, 0, 109*0Sstevel@tonic-gate "-crtsxoff", 0, CRTSXOFF, 110*0Sstevel@tonic-gate "raw", CS8, (CSIZE|PARENB), 111*0Sstevel@tonic-gate "-raw", (CS7|PARENB), CSIZE, 112*0Sstevel@tonic-gate "cooked", (CS7|PARENB), CSIZE, 113*0Sstevel@tonic-gate "sane", (CS7|PARENB|CREAD), (CSIZE|PARODD|CLOCAL), 114*0Sstevel@tonic-gate 0 115*0Sstevel@tonic-gate }; 116*0Sstevel@tonic-gate 117*0Sstevel@tonic-gate const struct mds ncmodes[] = { 118*0Sstevel@tonic-gate "parext", PAREXT, 0, 119*0Sstevel@tonic-gate "-parext", 0, PAREXT, 120*0Sstevel@tonic-gate "markp", (PARENB|PARODD|CS7|PAREXT), CSIZE, 121*0Sstevel@tonic-gate "-markp", CS8, (PARENB|PARODD|CSIZE|PAREXT), 122*0Sstevel@tonic-gate "spacep", (PARENB|CS7|PAREXT), PARODD|CSIZE, 123*0Sstevel@tonic-gate "-spacep", CS8, (PARENB|CSIZE|PAREXT), 124*0Sstevel@tonic-gate 0 125*0Sstevel@tonic-gate }; 126*0Sstevel@tonic-gate 127*0Sstevel@tonic-gate const struct mds imodes[] = { 128*0Sstevel@tonic-gate "ignbrk", IGNBRK, 0, 129*0Sstevel@tonic-gate "-ignbrk", 0, IGNBRK, 130*0Sstevel@tonic-gate "brkint", BRKINT, 0, 131*0Sstevel@tonic-gate "-brkint", 0, BRKINT, 132*0Sstevel@tonic-gate "ignpar", IGNPAR, 0, 133*0Sstevel@tonic-gate "-ignpar", 0, IGNPAR, 134*0Sstevel@tonic-gate "parmrk", PARMRK, 0, 135*0Sstevel@tonic-gate "-parmrk", 0, PARMRK, 136*0Sstevel@tonic-gate "inpck", INPCK, 0, 137*0Sstevel@tonic-gate "-inpck", 0, INPCK, 138*0Sstevel@tonic-gate "istrip", ISTRIP, 0, 139*0Sstevel@tonic-gate "-istrip", 0, ISTRIP, 140*0Sstevel@tonic-gate "inlcr", INLCR, 0, 141*0Sstevel@tonic-gate "-inlcr", 0, INLCR, 142*0Sstevel@tonic-gate "igncr", IGNCR, 0, 143*0Sstevel@tonic-gate "-igncr", 0, IGNCR, 144*0Sstevel@tonic-gate "icrnl", ICRNL, 0, 145*0Sstevel@tonic-gate "-icrnl", 0, ICRNL, 146*0Sstevel@tonic-gate #ifdef XPG4 147*0Sstevel@tonic-gate "-nl", 0, (ICRNL|INLCR|IGNCR), 148*0Sstevel@tonic-gate "nl", ICRNL, 0, 149*0Sstevel@tonic-gate #else 150*0Sstevel@tonic-gate "-nl", ICRNL, (INLCR|IGNCR), 151*0Sstevel@tonic-gate "nl", 0, ICRNL, 152*0Sstevel@tonic-gate #endif 153*0Sstevel@tonic-gate "iuclc", IUCLC, 0, 154*0Sstevel@tonic-gate "-iuclc", 0, IUCLC, 155*0Sstevel@tonic-gate "lcase", IUCLC, 0, 156*0Sstevel@tonic-gate "-lcase", 0, IUCLC, 157*0Sstevel@tonic-gate "LCASE", IUCLC, 0, 158*0Sstevel@tonic-gate "-LCASE", 0, IUCLC, 159*0Sstevel@tonic-gate "ixon", IXON, 0, 160*0Sstevel@tonic-gate "-ixon", 0, IXON, 161*0Sstevel@tonic-gate "ixany", IXANY, 0, 162*0Sstevel@tonic-gate "-ixany", 0, IXANY, 163*0Sstevel@tonic-gate "ixoff", IXOFF, 0, 164*0Sstevel@tonic-gate "-ixoff", 0, IXOFF, 165*0Sstevel@tonic-gate "raw", 0, -1, 166*0Sstevel@tonic-gate "-raw", (BRKINT|IGNPAR|ISTRIP|ICRNL|IXON), 0, 167*0Sstevel@tonic-gate "cooked", (BRKINT|IGNPAR|ISTRIP|ICRNL|IXON), 0, 168*0Sstevel@tonic-gate "sane", (BRKINT|IGNPAR|ISTRIP|ICRNL|IXON|IMAXBEL), 169*0Sstevel@tonic-gate (IGNBRK|PARMRK|INPCK|INLCR|IGNCR|IUCLC|IXOFF|IXANY), 170*0Sstevel@tonic-gate 0 171*0Sstevel@tonic-gate }; 172*0Sstevel@tonic-gate 173*0Sstevel@tonic-gate 174*0Sstevel@tonic-gate const struct mds nimodes[] = { 175*0Sstevel@tonic-gate "imaxbel", IMAXBEL, 0, 176*0Sstevel@tonic-gate "-imaxbel", 0, IMAXBEL, 177*0Sstevel@tonic-gate 0 178*0Sstevel@tonic-gate }; 179*0Sstevel@tonic-gate 180*0Sstevel@tonic-gate const struct mds lmodes[] = { 181*0Sstevel@tonic-gate "isig", ISIG, 0, 182*0Sstevel@tonic-gate "-isig", 0, ISIG, 183*0Sstevel@tonic-gate "icanon", ICANON, 0, 184*0Sstevel@tonic-gate "-icanon", 0, ICANON, 185*0Sstevel@tonic-gate "xcase", XCASE, 0, 186*0Sstevel@tonic-gate "-xcase", 0, XCASE, 187*0Sstevel@tonic-gate "lcase", XCASE, 0, 188*0Sstevel@tonic-gate "-lcase", 0, XCASE, 189*0Sstevel@tonic-gate "LCASE", XCASE, 0, 190*0Sstevel@tonic-gate "-LCASE", 0, XCASE, 191*0Sstevel@tonic-gate "echo", ECHO, 0, 192*0Sstevel@tonic-gate "-echo", 0, ECHO, 193*0Sstevel@tonic-gate "echoe", ECHOE, 0, 194*0Sstevel@tonic-gate "-echoe", 0, ECHOE, 195*0Sstevel@tonic-gate "echok", ECHOK, 0, 196*0Sstevel@tonic-gate "-echok", 0, ECHOK, 197*0Sstevel@tonic-gate "lfkc", ECHOK, 0, 198*0Sstevel@tonic-gate "-lfkc", 0, ECHOK, 199*0Sstevel@tonic-gate "echonl", ECHONL, 0, 200*0Sstevel@tonic-gate "-echonl", 0, ECHONL, 201*0Sstevel@tonic-gate "noflsh", NOFLSH, 0, 202*0Sstevel@tonic-gate "-noflsh", 0, NOFLSH, 203*0Sstevel@tonic-gate "raw", 0, (ISIG|ICANON|XCASE), 204*0Sstevel@tonic-gate "-raw", (ISIG|ICANON), 0, 205*0Sstevel@tonic-gate "cooked", (ISIG|ICANON), 0, 206*0Sstevel@tonic-gate "sane", (ISIG|ICANON|IEXTEN|ECHO|ECHOK|ECHOE|ECHOKE|ECHOCTL), 207*0Sstevel@tonic-gate (XCASE|ECHONL|NOFLSH|STFLUSH|STWRAP|STAPPL), 208*0Sstevel@tonic-gate "stflush", STFLUSH, 0, 209*0Sstevel@tonic-gate "-stflush", 0, STFLUSH, 210*0Sstevel@tonic-gate "stwrap", STWRAP, 0, 211*0Sstevel@tonic-gate "-stwrap", 0, STWRAP, 212*0Sstevel@tonic-gate "stappl", STAPPL, 0, 213*0Sstevel@tonic-gate "-stappl", 0, STAPPL, 214*0Sstevel@tonic-gate 0, 215*0Sstevel@tonic-gate }; 216*0Sstevel@tonic-gate 217*0Sstevel@tonic-gate const struct mds nlmodes[] = { 218*0Sstevel@tonic-gate "tostop", TOSTOP, 0, 219*0Sstevel@tonic-gate "-tostop", 0, TOSTOP, 220*0Sstevel@tonic-gate "echoctl", ECHOCTL, 0, 221*0Sstevel@tonic-gate "-echoctl", 0, ECHOCTL, 222*0Sstevel@tonic-gate "echoprt", ECHOPRT, 0, 223*0Sstevel@tonic-gate "-echoprt", 0, ECHOPRT, 224*0Sstevel@tonic-gate "echoke", ECHOKE, 0, 225*0Sstevel@tonic-gate "-echoke", 0, ECHOKE, 226*0Sstevel@tonic-gate "defecho", DEFECHO, 0, 227*0Sstevel@tonic-gate "-defecho", 0, DEFECHO, 228*0Sstevel@tonic-gate "flusho", FLUSHO, 0, 229*0Sstevel@tonic-gate "-flusho", 0, FLUSHO, 230*0Sstevel@tonic-gate "pendin", PENDIN, 0, 231*0Sstevel@tonic-gate "-pendin", 0, PENDIN, 232*0Sstevel@tonic-gate "iexten", IEXTEN, 0, 233*0Sstevel@tonic-gate "-iexten", 0, IEXTEN, 234*0Sstevel@tonic-gate 0 235*0Sstevel@tonic-gate }; 236*0Sstevel@tonic-gate 237*0Sstevel@tonic-gate const struct mds omodes[] = { 238*0Sstevel@tonic-gate "opost", OPOST, 0, 239*0Sstevel@tonic-gate "-opost", 0, OPOST, 240*0Sstevel@tonic-gate "olcuc", OLCUC, 0, 241*0Sstevel@tonic-gate "-olcuc", 0, OLCUC, 242*0Sstevel@tonic-gate "lcase", OLCUC, 0, 243*0Sstevel@tonic-gate "-lcase", 0, OLCUC, 244*0Sstevel@tonic-gate "LCASE", OLCUC, 0, 245*0Sstevel@tonic-gate "-LCASE", 0, OLCUC, 246*0Sstevel@tonic-gate "onlcr", ONLCR, 0, 247*0Sstevel@tonic-gate "-onlcr", 0, ONLCR, 248*0Sstevel@tonic-gate "-nl", ONLCR, (OCRNL|ONLRET), 249*0Sstevel@tonic-gate "nl", 0, ONLCR, 250*0Sstevel@tonic-gate "ocrnl", OCRNL, 0, 251*0Sstevel@tonic-gate "-ocrnl", 0, OCRNL, 252*0Sstevel@tonic-gate "onocr", ONOCR, 0, 253*0Sstevel@tonic-gate "-onocr", 0, ONOCR, 254*0Sstevel@tonic-gate "onlret", ONLRET, 0, 255*0Sstevel@tonic-gate "-onlret", 0, ONLRET, 256*0Sstevel@tonic-gate "fill", OFILL, OFDEL, 257*0Sstevel@tonic-gate "-fill", 0, OFILL|OFDEL, 258*0Sstevel@tonic-gate "nul-fill", OFILL, OFDEL, 259*0Sstevel@tonic-gate "del-fill", OFILL|OFDEL, 0, 260*0Sstevel@tonic-gate "ofill", OFILL, 0, 261*0Sstevel@tonic-gate "-ofill", 0, OFILL, 262*0Sstevel@tonic-gate "ofdel", OFDEL, 0, 263*0Sstevel@tonic-gate "-ofdel", 0, OFDEL, 264*0Sstevel@tonic-gate "cr0", CR0, CRDLY, 265*0Sstevel@tonic-gate "cr1", CR1, CRDLY, 266*0Sstevel@tonic-gate "cr2", CR2, CRDLY, 267*0Sstevel@tonic-gate "cr3", CR3, CRDLY, 268*0Sstevel@tonic-gate "tab0", TAB0, TABDLY, 269*0Sstevel@tonic-gate "tabs", TAB0, TABDLY, 270*0Sstevel@tonic-gate "tab1", TAB1, TABDLY, 271*0Sstevel@tonic-gate "tab2", TAB2, TABDLY, 272*0Sstevel@tonic-gate "tab3", TAB3, TABDLY, 273*0Sstevel@tonic-gate "-tabs", TAB3, TABDLY, 274*0Sstevel@tonic-gate "tab8", TAB3, TABDLY, 275*0Sstevel@tonic-gate "nl0", NL0, NLDLY, 276*0Sstevel@tonic-gate "nl1", NL1, NLDLY, 277*0Sstevel@tonic-gate "ff0", FF0, FFDLY, 278*0Sstevel@tonic-gate "ff1", FF1, FFDLY, 279*0Sstevel@tonic-gate "vt0", VT0, VTDLY, 280*0Sstevel@tonic-gate "vt1", VT1, VTDLY, 281*0Sstevel@tonic-gate "bs0", BS0, BSDLY, 282*0Sstevel@tonic-gate "bs1", BS1, BSDLY, 283*0Sstevel@tonic-gate "raw", 0, OPOST, 284*0Sstevel@tonic-gate "-raw", OPOST, 0, 285*0Sstevel@tonic-gate "cooked", OPOST, 0, 286*0Sstevel@tonic-gate "tty33", CR1, (CRDLY|TABDLY|NLDLY|FFDLY|VTDLY|BSDLY), 287*0Sstevel@tonic-gate "tn300", CR1, (CRDLY|TABDLY|NLDLY|FFDLY|VTDLY|BSDLY), 288*0Sstevel@tonic-gate "ti700", CR2, (CRDLY|TABDLY|NLDLY|FFDLY|VTDLY|BSDLY), 289*0Sstevel@tonic-gate "vt05", NL1, (CRDLY|TABDLY|NLDLY|FFDLY|VTDLY|BSDLY), 290*0Sstevel@tonic-gate "tek", FF1, (CRDLY|TABDLY|NLDLY|FFDLY|VTDLY|BSDLY), 291*0Sstevel@tonic-gate "tty37", (FF1|VT1|CR2|TAB1|NL1), (NLDLY|CRDLY|TABDLY|BSDLY|VTDLY|FFDLY), 292*0Sstevel@tonic-gate "sane", (OPOST|ONLCR), (OLCUC|OCRNL|ONOCR|ONLRET|OFILL|OFDEL| 293*0Sstevel@tonic-gate NLDLY|CRDLY|TABDLY|BSDLY|VTDLY|FFDLY), 294*0Sstevel@tonic-gate 0, 295*0Sstevel@tonic-gate }; 296*0Sstevel@tonic-gate 297*0Sstevel@tonic-gate const struct mds hmodes[] = { 298*0Sstevel@tonic-gate "-rtsxoff", 0, RTSXOFF, 299*0Sstevel@tonic-gate "rtsxoff", RTSXOFF, 0, 300*0Sstevel@tonic-gate "-ctsxon", 0, CTSXON, 301*0Sstevel@tonic-gate "ctsxon", CTSXON, 0, 302*0Sstevel@tonic-gate "-dtrxoff", 0, DTRXOFF, 303*0Sstevel@tonic-gate "dtrxoff", DTRXOFF, 0, 304*0Sstevel@tonic-gate "-cdxon", 0, CDXON, 305*0Sstevel@tonic-gate "cdxon", CDXON, 0, 306*0Sstevel@tonic-gate "-isxoff", 0, ISXOFF, 307*0Sstevel@tonic-gate "isxoff", ISXOFF, 0, 308*0Sstevel@tonic-gate 0, 309*0Sstevel@tonic-gate }; 310*0Sstevel@tonic-gate 311*0Sstevel@tonic-gate const struct mds clkmodes[] = { 312*0Sstevel@tonic-gate "xcibrg", XCIBRG, XMTCLK, 313*0Sstevel@tonic-gate "xctset", XCTSET, XMTCLK, 314*0Sstevel@tonic-gate "xcrset", XCRSET, XMTCLK, 315*0Sstevel@tonic-gate "rcibrg", RCIBRG, RCVCLK, 316*0Sstevel@tonic-gate "rctset", RCTSET, RCVCLK, 317*0Sstevel@tonic-gate "rcrset", RCRSET, RCVCLK, 318*0Sstevel@tonic-gate "tsetcoff", TSETCOFF, TSETCLK, 319*0Sstevel@tonic-gate "tsetcrbrg", TSETCRBRG, TSETCLK, 320*0Sstevel@tonic-gate "tsetctbrg", TSETCTBRG, TSETCLK, 321*0Sstevel@tonic-gate "tsetctset", TSETCTSET, TSETCLK, 322*0Sstevel@tonic-gate "tsetcrset", TSETCRSET, TSETCLK, 323*0Sstevel@tonic-gate "rsetcoff", RSETCOFF, RSETCLK, 324*0Sstevel@tonic-gate "rsetcrbrg", RSETCRBRG, RSETCLK, 325*0Sstevel@tonic-gate "rsetctbrg", RSETCTBRG, RSETCLK, 326*0Sstevel@tonic-gate "rsetctset", RSETCTSET, RSETCLK, 327*0Sstevel@tonic-gate "rsetcrset", RSETCRSET, RSETCLK, 328*0Sstevel@tonic-gate "async", XCIBRG|RCIBRG|TSETCOFF|RSETCOFF, XMTCLK|RCVCLK|TSETCLK|RSETCLK, 329*0Sstevel@tonic-gate 0, 330*0Sstevel@tonic-gate }; 331*0Sstevel@tonic-gate 332*0Sstevel@tonic-gate const char *not_supported[] = { 333*0Sstevel@tonic-gate "rtsxoff", 334*0Sstevel@tonic-gate "ctsxon", 335*0Sstevel@tonic-gate "dtrxoff", 336*0Sstevel@tonic-gate "cdxon", 337*0Sstevel@tonic-gate "isxoff", 338*0Sstevel@tonic-gate "xcibrg", 339*0Sstevel@tonic-gate "xctset", 340*0Sstevel@tonic-gate "scrset", 341*0Sstevel@tonic-gate "rcibrg", 342*0Sstevel@tonic-gate "rctset", 343*0Sstevel@tonic-gate "rcrset", 344*0Sstevel@tonic-gate "tsetcoff", 345*0Sstevel@tonic-gate "tsetcrbrg", 346*0Sstevel@tonic-gate "rsetcbrg", 347*0Sstevel@tonic-gate "rsetctbrg", 348*0Sstevel@tonic-gate "rsetctset", 349*0Sstevel@tonic-gate "rsetcrset", 350*0Sstevel@tonic-gate 0, 351*0Sstevel@tonic-gate }; 352