1*7c478bd9Sstevel@tonic-gate /* 2*7c478bd9Sstevel@tonic-gate * CDDL HEADER START 3*7c478bd9Sstevel@tonic-gate * 4*7c478bd9Sstevel@tonic-gate * The contents of this file are subject to the terms of the 5*7c478bd9Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only 6*7c478bd9Sstevel@tonic-gate * (the "License"). You may not use this file except in compliance 7*7c478bd9Sstevel@tonic-gate * with the License. 8*7c478bd9Sstevel@tonic-gate * 9*7c478bd9Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*7c478bd9Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 11*7c478bd9Sstevel@tonic-gate * See the License for the specific language governing permissions 12*7c478bd9Sstevel@tonic-gate * and limitations under the License. 13*7c478bd9Sstevel@tonic-gate * 14*7c478bd9Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 15*7c478bd9Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*7c478bd9Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 17*7c478bd9Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 18*7c478bd9Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 19*7c478bd9Sstevel@tonic-gate * 20*7c478bd9Sstevel@tonic-gate * CDDL HEADER END 21*7c478bd9Sstevel@tonic-gate */ 22*7c478bd9Sstevel@tonic-gate /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ 23*7c478bd9Sstevel@tonic-gate /* All Rights Reserved */ 24*7c478bd9Sstevel@tonic-gate 25*7c478bd9Sstevel@tonic-gate 26*7c478bd9Sstevel@tonic-gate /* 27*7c478bd9Sstevel@tonic-gate * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 28*7c478bd9Sstevel@tonic-gate * Use is subject to license terms. 29*7c478bd9Sstevel@tonic-gate */ 30*7c478bd9Sstevel@tonic-gate 31*7c478bd9Sstevel@tonic-gate #ifndef _SYS_TERMIOS_H 32*7c478bd9Sstevel@tonic-gate #define _SYS_TERMIOS_H 33*7c478bd9Sstevel@tonic-gate 34*7c478bd9Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 35*7c478bd9Sstevel@tonic-gate 36*7c478bd9Sstevel@tonic-gate #include <sys/feature_tests.h> 37*7c478bd9Sstevel@tonic-gate 38*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 39*7c478bd9Sstevel@tonic-gate #include <sys/ttydev.h> 40*7c478bd9Sstevel@tonic-gate #include <sys/time.h> 41*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 42*7c478bd9Sstevel@tonic-gate 43*7c478bd9Sstevel@tonic-gate #include <sys/types.h> 44*7c478bd9Sstevel@tonic-gate 45*7c478bd9Sstevel@tonic-gate #ifdef __cplusplus 46*7c478bd9Sstevel@tonic-gate extern "C" { 47*7c478bd9Sstevel@tonic-gate #endif 48*7c478bd9Sstevel@tonic-gate 49*7c478bd9Sstevel@tonic-gate /* 50*7c478bd9Sstevel@tonic-gate * _POSIX_VDISABLE has been defined in <sys/termios.h> since the 51*7c478bd9Sstevel@tonic-gate * introduction of the header. The POSIX standard, IEEE Std. 52*7c478bd9Sstevel@tonic-gate * 1003.1-1988 also required the existence of _POSIX_VDISABLE in 53*7c478bd9Sstevel@tonic-gate * this header. Subsequent versions of the IEEE Standard as well 54*7c478bd9Sstevel@tonic-gate * as the X/Open specifications required that _POSIX_VDISABLE be 55*7c478bd9Sstevel@tonic-gate * defined in <unistd.h> while still allowing for it's existence 56*7c478bd9Sstevel@tonic-gate * here. With the introduction of XPG6, _POSIX_VDISABLE can only 57*7c478bd9Sstevel@tonic-gate * be defined in <unistd.h>. 58*7c478bd9Sstevel@tonic-gate */ 59*7c478bd9Sstevel@tonic-gate #if !defined(_XPG6) || defined(__EXTENSIONS__) 60*7c478bd9Sstevel@tonic-gate #ifndef _POSIX_VDISABLE 61*7c478bd9Sstevel@tonic-gate #define _POSIX_VDISABLE 0 /* Disable special character functions */ 62*7c478bd9Sstevel@tonic-gate #endif 63*7c478bd9Sstevel@tonic-gate #endif /* !defined(_XPG6) || defined(__EXTENSIONS__) */ 64*7c478bd9Sstevel@tonic-gate 65*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 66*7c478bd9Sstevel@tonic-gate #define CTRL(c) ((c)&037) 67*7c478bd9Sstevel@tonic-gate #define IBSHIFT 16 68*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 69*7c478bd9Sstevel@tonic-gate 70*7c478bd9Sstevel@tonic-gate /* required by termio.h and VCEOF/VCEOL */ 71*7c478bd9Sstevel@tonic-gate #define _NCC 8 72*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 73*7c478bd9Sstevel@tonic-gate #define NCC _NCC 74*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 75*7c478bd9Sstevel@tonic-gate 76*7c478bd9Sstevel@tonic-gate /* some defines required by POSIX */ 77*7c478bd9Sstevel@tonic-gate #define NCCS 19 78*7c478bd9Sstevel@tonic-gate 79*7c478bd9Sstevel@tonic-gate /* 80*7c478bd9Sstevel@tonic-gate * types defined by POSIX. These are better off in types.h, but 81*7c478bd9Sstevel@tonic-gate * the standard says that they have to be in termios.h. 82*7c478bd9Sstevel@tonic-gate */ 83*7c478bd9Sstevel@tonic-gate typedef unsigned int tcflag_t; 84*7c478bd9Sstevel@tonic-gate typedef unsigned char cc_t; 85*7c478bd9Sstevel@tonic-gate typedef unsigned int speed_t; 86*7c478bd9Sstevel@tonic-gate 87*7c478bd9Sstevel@tonic-gate /* 88*7c478bd9Sstevel@tonic-gate * Ioctl control packet 89*7c478bd9Sstevel@tonic-gate */ 90*7c478bd9Sstevel@tonic-gate struct termios { 91*7c478bd9Sstevel@tonic-gate tcflag_t c_iflag; /* input modes */ 92*7c478bd9Sstevel@tonic-gate tcflag_t c_oflag; /* output modes */ 93*7c478bd9Sstevel@tonic-gate tcflag_t c_cflag; /* control modes */ 94*7c478bd9Sstevel@tonic-gate tcflag_t c_lflag; /* line discipline modes */ 95*7c478bd9Sstevel@tonic-gate cc_t c_cc[NCCS]; /* control chars */ 96*7c478bd9Sstevel@tonic-gate }; 97*7c478bd9Sstevel@tonic-gate 98*7c478bd9Sstevel@tonic-gate /* 99*7c478bd9Sstevel@tonic-gate * POSIX termios functions 100*7c478bd9Sstevel@tonic-gate * These functions get mapped into ioctls. 101*7c478bd9Sstevel@tonic-gate */ 102*7c478bd9Sstevel@tonic-gate 103*7c478bd9Sstevel@tonic-gate #ifndef _KERNEL 104*7c478bd9Sstevel@tonic-gate 105*7c478bd9Sstevel@tonic-gate #if defined(__STDC__) 106*7c478bd9Sstevel@tonic-gate 107*7c478bd9Sstevel@tonic-gate extern speed_t cfgetospeed(const struct termios *); 108*7c478bd9Sstevel@tonic-gate extern int cfsetospeed(struct termios *, speed_t); 109*7c478bd9Sstevel@tonic-gate extern speed_t cfgetispeed(const struct termios *); 110*7c478bd9Sstevel@tonic-gate extern int cfsetispeed(struct termios *, speed_t); 111*7c478bd9Sstevel@tonic-gate extern int tcgetattr(int, struct termios *); 112*7c478bd9Sstevel@tonic-gate extern int tcsetattr(int, int, const struct termios *); 113*7c478bd9Sstevel@tonic-gate extern int tcsendbreak(int, int); 114*7c478bd9Sstevel@tonic-gate extern int tcdrain(int); 115*7c478bd9Sstevel@tonic-gate extern int tcflush(int, int); 116*7c478bd9Sstevel@tonic-gate extern int tcflow(int, int); 117*7c478bd9Sstevel@tonic-gate 118*7c478bd9Sstevel@tonic-gate #else 119*7c478bd9Sstevel@tonic-gate 120*7c478bd9Sstevel@tonic-gate extern speed_t cfgetospeed(); 121*7c478bd9Sstevel@tonic-gate extern int cfsetospeed(); 122*7c478bd9Sstevel@tonic-gate extern speed_t cfgetispeed(); 123*7c478bd9Sstevel@tonic-gate extern int cfsetispeed(); 124*7c478bd9Sstevel@tonic-gate extern int tcgetattr(); 125*7c478bd9Sstevel@tonic-gate extern int tcsetattr(); 126*7c478bd9Sstevel@tonic-gate extern int tcsendbreak(); 127*7c478bd9Sstevel@tonic-gate extern int tcdrain(); 128*7c478bd9Sstevel@tonic-gate extern int tcflush(); 129*7c478bd9Sstevel@tonic-gate extern int tcflow(); 130*7c478bd9Sstevel@tonic-gate 131*7c478bd9Sstevel@tonic-gate #endif /* __STDC__ */ 132*7c478bd9Sstevel@tonic-gate 133*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) || defined(__EXTENSIONS__) 134*7c478bd9Sstevel@tonic-gate 135*7c478bd9Sstevel@tonic-gate #if defined(__STDC__) 136*7c478bd9Sstevel@tonic-gate extern pid_t tcgetsid(int); 137*7c478bd9Sstevel@tonic-gate #else 138*7c478bd9Sstevel@tonic-gate extern pid_t tcgetsid(); 139*7c478bd9Sstevel@tonic-gate #endif /* __STDC__ */ 140*7c478bd9Sstevel@tonic-gate 141*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) ... */ 142*7c478bd9Sstevel@tonic-gate 143*7c478bd9Sstevel@tonic-gate #endif 144*7c478bd9Sstevel@tonic-gate 145*7c478bd9Sstevel@tonic-gate /* control characters */ 146*7c478bd9Sstevel@tonic-gate #define VINTR 0 147*7c478bd9Sstevel@tonic-gate #define VQUIT 1 148*7c478bd9Sstevel@tonic-gate #define VERASE 2 149*7c478bd9Sstevel@tonic-gate #define VKILL 3 150*7c478bd9Sstevel@tonic-gate #define VEOF 4 151*7c478bd9Sstevel@tonic-gate #define VEOL 5 152*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 153*7c478bd9Sstevel@tonic-gate #define VEOL2 6 154*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 155*7c478bd9Sstevel@tonic-gate #define VMIN 4 156*7c478bd9Sstevel@tonic-gate #define VTIME 5 157*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 158*7c478bd9Sstevel@tonic-gate #define VSWTCH 7 159*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 160*7c478bd9Sstevel@tonic-gate #define VSTART 8 161*7c478bd9Sstevel@tonic-gate #define VSTOP 9 162*7c478bd9Sstevel@tonic-gate #define VSUSP 10 163*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 164*7c478bd9Sstevel@tonic-gate #define VDSUSP 11 165*7c478bd9Sstevel@tonic-gate #define VREPRINT 12 166*7c478bd9Sstevel@tonic-gate #define VDISCARD 13 167*7c478bd9Sstevel@tonic-gate #define VWERASE 14 168*7c478bd9Sstevel@tonic-gate #define VLNEXT 15 169*7c478bd9Sstevel@tonic-gate /* 16 thru 19 reserved for future use */ 170*7c478bd9Sstevel@tonic-gate 171*7c478bd9Sstevel@tonic-gate /* 172*7c478bd9Sstevel@tonic-gate * control characters form Xenix termio.h 173*7c478bd9Sstevel@tonic-gate */ 174*7c478bd9Sstevel@tonic-gate #define VCEOF NCC /* RESERVED true EOF char (V7 compatability) */ 175*7c478bd9Sstevel@tonic-gate #define VCEOL (NCC + 1) /* RESERVED true EOL char */ 176*7c478bd9Sstevel@tonic-gate 177*7c478bd9Sstevel@tonic-gate #define CNUL 0 178*7c478bd9Sstevel@tonic-gate #define CDEL 0177 179*7c478bd9Sstevel@tonic-gate 180*7c478bd9Sstevel@tonic-gate /* S5 default control chars */ 181*7c478bd9Sstevel@tonic-gate /* CINTR, CERASE and CKILL modified to SunOS traditional values */ 182*7c478bd9Sstevel@tonic-gate #define CESC '\\' 183*7c478bd9Sstevel@tonic-gate #define CINTR CTRL('c') 184*7c478bd9Sstevel@tonic-gate #define CQUIT 034 /* FS, cntl | */ 185*7c478bd9Sstevel@tonic-gate #define CERASE 0177 /* DEL */ 186*7c478bd9Sstevel@tonic-gate #define CKILL CTRL('u') 187*7c478bd9Sstevel@tonic-gate #define CEOT 04 188*7c478bd9Sstevel@tonic-gate #define CEOL 0 189*7c478bd9Sstevel@tonic-gate #define CEOL2 0 190*7c478bd9Sstevel@tonic-gate #define CEOF 04 /* cntl d */ 191*7c478bd9Sstevel@tonic-gate #define CSTART 021 /* cntl q */ 192*7c478bd9Sstevel@tonic-gate #define CSTOP 023 /* cntl s */ 193*7c478bd9Sstevel@tonic-gate #define CSWTCH 032 /* cntl z */ 194*7c478bd9Sstevel@tonic-gate #define CNSWTCH 0 195*7c478bd9Sstevel@tonic-gate #define CSUSP CTRL('z') 196*7c478bd9Sstevel@tonic-gate #define CDSUSP CTRL('y') 197*7c478bd9Sstevel@tonic-gate #define CRPRNT CTRL('r') 198*7c478bd9Sstevel@tonic-gate #define CFLUSH CTRL('o') 199*7c478bd9Sstevel@tonic-gate #define CWERASE CTRL('w') 200*7c478bd9Sstevel@tonic-gate #define CLNEXT CTRL('v') 201*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 202*7c478bd9Sstevel@tonic-gate 203*7c478bd9Sstevel@tonic-gate 204*7c478bd9Sstevel@tonic-gate /* input modes */ 205*7c478bd9Sstevel@tonic-gate #define IGNBRK 0000001 206*7c478bd9Sstevel@tonic-gate #define BRKINT 0000002 207*7c478bd9Sstevel@tonic-gate #define IGNPAR 0000004 208*7c478bd9Sstevel@tonic-gate #define PARMRK 0000010 209*7c478bd9Sstevel@tonic-gate #define INPCK 0000020 210*7c478bd9Sstevel@tonic-gate #define ISTRIP 0000040 211*7c478bd9Sstevel@tonic-gate #define INLCR 0000100 212*7c478bd9Sstevel@tonic-gate #define IGNCR 0000200 213*7c478bd9Sstevel@tonic-gate #define ICRNL 0000400 214*7c478bd9Sstevel@tonic-gate #if !defined(_POSIX_C_SOURCE) || \ 215*7c478bd9Sstevel@tonic-gate (defined(_XOPEN_SOURCE) && !defined(_XPG6)) || \ 216*7c478bd9Sstevel@tonic-gate defined(__EXTENSIONS__) 217*7c478bd9Sstevel@tonic-gate #define IUCLC 0001000 218*7c478bd9Sstevel@tonic-gate #endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */ 219*7c478bd9Sstevel@tonic-gate #define IXON 0002000 220*7c478bd9Sstevel@tonic-gate #if !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ 221*7c478bd9Sstevel@tonic-gate defined(__EXTENSIONS__) 222*7c478bd9Sstevel@tonic-gate #define IXANY 0004000 223*7c478bd9Sstevel@tonic-gate #endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */ 224*7c478bd9Sstevel@tonic-gate #define IXOFF 0010000 225*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 226*7c478bd9Sstevel@tonic-gate #define IMAXBEL 0020000 227*7c478bd9Sstevel@tonic-gate #define DOSMODE 0100000 /* for 386 compatibility */ 228*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 229*7c478bd9Sstevel@tonic-gate 230*7c478bd9Sstevel@tonic-gate /* output modes */ 231*7c478bd9Sstevel@tonic-gate #define OPOST 0000001 232*7c478bd9Sstevel@tonic-gate #if !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ 233*7c478bd9Sstevel@tonic-gate defined(__EXTENSIONS__) 234*7c478bd9Sstevel@tonic-gate #if !defined(_XPG6) || defined(__EXTENSIONS__) 235*7c478bd9Sstevel@tonic-gate #define OLCUC 0000002 236*7c478bd9Sstevel@tonic-gate #endif 237*7c478bd9Sstevel@tonic-gate #define ONLCR 0000004 238*7c478bd9Sstevel@tonic-gate #define OCRNL 0000010 239*7c478bd9Sstevel@tonic-gate #define ONOCR 0000020 240*7c478bd9Sstevel@tonic-gate #define ONLRET 0000040 241*7c478bd9Sstevel@tonic-gate #define OFILL 0000100 242*7c478bd9Sstevel@tonic-gate #define OFDEL 0000200 243*7c478bd9Sstevel@tonic-gate #define NLDLY 0000400 244*7c478bd9Sstevel@tonic-gate #define NL0 0 245*7c478bd9Sstevel@tonic-gate #define NL1 0000400 246*7c478bd9Sstevel@tonic-gate #define CRDLY 0003000 247*7c478bd9Sstevel@tonic-gate #define CR0 0 248*7c478bd9Sstevel@tonic-gate #define CR1 0001000 249*7c478bd9Sstevel@tonic-gate #define CR2 0002000 250*7c478bd9Sstevel@tonic-gate #define CR3 0003000 251*7c478bd9Sstevel@tonic-gate #define TABDLY 0014000 252*7c478bd9Sstevel@tonic-gate #define TAB0 0 253*7c478bd9Sstevel@tonic-gate #define TAB1 0004000 254*7c478bd9Sstevel@tonic-gate #define TAB2 0010000 255*7c478bd9Sstevel@tonic-gate #define TAB3 0014000 256*7c478bd9Sstevel@tonic-gate #endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */ 257*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 258*7c478bd9Sstevel@tonic-gate #define XTABS 0014000 259*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 260*7c478bd9Sstevel@tonic-gate #if !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ 261*7c478bd9Sstevel@tonic-gate defined(__EXTENSIONS__) 262*7c478bd9Sstevel@tonic-gate #define BSDLY 0020000 263*7c478bd9Sstevel@tonic-gate #define BS0 0 264*7c478bd9Sstevel@tonic-gate #define BS1 0020000 265*7c478bd9Sstevel@tonic-gate #define VTDLY 0040000 266*7c478bd9Sstevel@tonic-gate #define VT0 0 267*7c478bd9Sstevel@tonic-gate #define VT1 0040000 268*7c478bd9Sstevel@tonic-gate #define FFDLY 0100000 269*7c478bd9Sstevel@tonic-gate #define FF0 0 270*7c478bd9Sstevel@tonic-gate #define FF1 0100000 271*7c478bd9Sstevel@tonic-gate #endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */ 272*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 273*7c478bd9Sstevel@tonic-gate #define PAGEOUT 0200000 274*7c478bd9Sstevel@tonic-gate #define WRAP 0400000 275*7c478bd9Sstevel@tonic-gate 276*7c478bd9Sstevel@tonic-gate /* control modes */ 277*7c478bd9Sstevel@tonic-gate #define CBAUD 0000017 278*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 279*7c478bd9Sstevel@tonic-gate #define CSIZE 0000060 280*7c478bd9Sstevel@tonic-gate #define CS5 0 281*7c478bd9Sstevel@tonic-gate #define CS6 0000020 282*7c478bd9Sstevel@tonic-gate #define CS7 0000040 283*7c478bd9Sstevel@tonic-gate #define CS8 0000060 284*7c478bd9Sstevel@tonic-gate #define CSTOPB 0000100 285*7c478bd9Sstevel@tonic-gate #define CREAD 0000200 286*7c478bd9Sstevel@tonic-gate #define PARENB 0000400 287*7c478bd9Sstevel@tonic-gate #define PARODD 0001000 288*7c478bd9Sstevel@tonic-gate #define HUPCL 0002000 289*7c478bd9Sstevel@tonic-gate #define CLOCAL 0004000 290*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 291*7c478bd9Sstevel@tonic-gate #define RCV1EN 0010000 292*7c478bd9Sstevel@tonic-gate #define XMT1EN 0020000 293*7c478bd9Sstevel@tonic-gate #define LOBLK 0040000 294*7c478bd9Sstevel@tonic-gate #define XCLUDE 0100000 /* *V7* exclusive use coming fron XENIX */ 295*7c478bd9Sstevel@tonic-gate #define CRTSXOFF 010000000000 296*7c478bd9Sstevel@tonic-gate #define CRTSCTS 020000000000 297*7c478bd9Sstevel@tonic-gate #define CIBAUD 03600000 298*7c478bd9Sstevel@tonic-gate #define PAREXT 04000000 299*7c478bd9Sstevel@tonic-gate #define CBAUDEXT 010000000 300*7c478bd9Sstevel@tonic-gate #define CIBAUDEXT 020000000 301*7c478bd9Sstevel@tonic-gate 302*7c478bd9Sstevel@tonic-gate /* 303*7c478bd9Sstevel@tonic-gate * 4.4BSD hardware flow control flags 304*7c478bd9Sstevel@tonic-gate */ 305*7c478bd9Sstevel@tonic-gate #define CRTS_IFLOW 010000000000 306*7c478bd9Sstevel@tonic-gate #define CCTS_OFLOW 020000000000 307*7c478bd9Sstevel@tonic-gate 308*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 309*7c478bd9Sstevel@tonic-gate 310*7c478bd9Sstevel@tonic-gate /* line discipline 0 modes */ 311*7c478bd9Sstevel@tonic-gate #define ISIG 0000001 312*7c478bd9Sstevel@tonic-gate #define ICANON 0000002 313*7c478bd9Sstevel@tonic-gate #if !defined(_POSIX_C_SOURCE) || \ 314*7c478bd9Sstevel@tonic-gate (defined(_XOPEN_SOURCE) && !defined(_XPG6)) || \ 315*7c478bd9Sstevel@tonic-gate defined(__EXTENSIONS__) 316*7c478bd9Sstevel@tonic-gate #define XCASE 0000004 317*7c478bd9Sstevel@tonic-gate #endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */ 318*7c478bd9Sstevel@tonic-gate #define ECHO 0000010 319*7c478bd9Sstevel@tonic-gate #define ECHOE 0000020 320*7c478bd9Sstevel@tonic-gate #define ECHOK 0000040 321*7c478bd9Sstevel@tonic-gate #define ECHONL 0000100 322*7c478bd9Sstevel@tonic-gate #define NOFLSH 0000200 323*7c478bd9Sstevel@tonic-gate #define TOSTOP 0000400 324*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 325*7c478bd9Sstevel@tonic-gate #define ECHOCTL 0001000 326*7c478bd9Sstevel@tonic-gate #define ECHOPRT 0002000 327*7c478bd9Sstevel@tonic-gate #define ECHOKE 0004000 328*7c478bd9Sstevel@tonic-gate #define DEFECHO 0010000 329*7c478bd9Sstevel@tonic-gate #define FLUSHO 0020000 330*7c478bd9Sstevel@tonic-gate #define PENDIN 0040000 331*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 332*7c478bd9Sstevel@tonic-gate 333*7c478bd9Sstevel@tonic-gate #define IEXTEN 0100000 /* POSIX flag - enable POSIX extensions */ 334*7c478bd9Sstevel@tonic-gate #define _TIOC ('T'<<8) 335*7c478bd9Sstevel@tonic-gate 336*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 337*7c478bd9Sstevel@tonic-gate 338*7c478bd9Sstevel@tonic-gate #define TIOC _TIOC 339*7c478bd9Sstevel@tonic-gate 340*7c478bd9Sstevel@tonic-gate #define TCGETA (_TIOC|1) 341*7c478bd9Sstevel@tonic-gate #define TCSETA (_TIOC|2) 342*7c478bd9Sstevel@tonic-gate #define TCSETAW (_TIOC|3) 343*7c478bd9Sstevel@tonic-gate #define TCSETAF (_TIOC|4) 344*7c478bd9Sstevel@tonic-gate #define TCSBRK (_TIOC|5) 345*7c478bd9Sstevel@tonic-gate #define TCXONC (_TIOC|6) 346*7c478bd9Sstevel@tonic-gate #define TCFLSH (_TIOC|7) 347*7c478bd9Sstevel@tonic-gate 348*7c478bd9Sstevel@tonic-gate /* Slots reserved for 386/XENIX compatibility - keyboard control */ 349*7c478bd9Sstevel@tonic-gate 350*7c478bd9Sstevel@tonic-gate #define TIOCKBON (_TIOC|8) 351*7c478bd9Sstevel@tonic-gate #define TIOCKBOF (_TIOC|9) 352*7c478bd9Sstevel@tonic-gate #define KBENABLED (_TIOC|10) 353*7c478bd9Sstevel@tonic-gate 354*7c478bd9Sstevel@tonic-gate #ifndef IOCTYPE 355*7c478bd9Sstevel@tonic-gate #define IOCTYPE 0xff00 356*7c478bd9Sstevel@tonic-gate #endif 357*7c478bd9Sstevel@tonic-gate 358*7c478bd9Sstevel@tonic-gate #define TCDSET (_TIOC|32) 359*7c478bd9Sstevel@tonic-gate #define RTS_TOG (_TIOC|33) /* 386 - "RTS" toggle define 8A1 protocol */ 360*7c478bd9Sstevel@tonic-gate 361*7c478bd9Sstevel@tonic-gate #define TIOCGWINSZ (_TIOC|104) 362*7c478bd9Sstevel@tonic-gate #define TIOCSWINSZ (_TIOC|103) 363*7c478bd9Sstevel@tonic-gate 364*7c478bd9Sstevel@tonic-gate /* 365*7c478bd9Sstevel@tonic-gate * Softcarrier ioctls 366*7c478bd9Sstevel@tonic-gate */ 367*7c478bd9Sstevel@tonic-gate #define TIOCGSOFTCAR (_TIOC|105) 368*7c478bd9Sstevel@tonic-gate #define TIOCSSOFTCAR (_TIOC|106) 369*7c478bd9Sstevel@tonic-gate 370*7c478bd9Sstevel@tonic-gate 371*7c478bd9Sstevel@tonic-gate /* termios ioctls */ 372*7c478bd9Sstevel@tonic-gate 373*7c478bd9Sstevel@tonic-gate #define TCGETS (_TIOC|13) 374*7c478bd9Sstevel@tonic-gate #define TCSETS (_TIOC|14) 375*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 376*7c478bd9Sstevel@tonic-gate #define TCSANOW (_TIOC|14) /* same as TCSETS */ 377*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 378*7c478bd9Sstevel@tonic-gate #define TCSETSW (_TIOC|15) 379*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 380*7c478bd9Sstevel@tonic-gate #define TCSADRAIN (_TIOC|15) /* same as TCSETSW */ 381*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 382*7c478bd9Sstevel@tonic-gate #define TCSETSF (_TIOC|16) 383*7c478bd9Sstevel@tonic-gate 384*7c478bd9Sstevel@tonic-gate /* 385*7c478bd9Sstevel@tonic-gate * NTP PPS ioctls 386*7c478bd9Sstevel@tonic-gate */ 387*7c478bd9Sstevel@tonic-gate #define TIOCGPPS (_TIOC|125) 388*7c478bd9Sstevel@tonic-gate #define TIOCSPPS (_TIOC|126) 389*7c478bd9Sstevel@tonic-gate #define TIOCGPPSEV (_TIOC|127) 390*7c478bd9Sstevel@tonic-gate 391*7c478bd9Sstevel@tonic-gate /* Argument filled in by TIOCGPPSEV */ 392*7c478bd9Sstevel@tonic-gate struct ppsclockev { 393*7c478bd9Sstevel@tonic-gate struct timeval tv; 394*7c478bd9Sstevel@tonic-gate uint_t serial; 395*7c478bd9Sstevel@tonic-gate }; 396*7c478bd9Sstevel@tonic-gate 397*7c478bd9Sstevel@tonic-gate #if defined(_SYSCALL32) 398*7c478bd9Sstevel@tonic-gate struct ppsclockev32 { 399*7c478bd9Sstevel@tonic-gate struct timeval32 tv; 400*7c478bd9Sstevel@tonic-gate uint32_t serial; 401*7c478bd9Sstevel@tonic-gate }; 402*7c478bd9Sstevel@tonic-gate #endif /* _SYSCALL32 */ 403*7c478bd9Sstevel@tonic-gate 404*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 405*7c478bd9Sstevel@tonic-gate 406*7c478bd9Sstevel@tonic-gate #define TCSAFLUSH (_TIOC|16) /* same as TCSETSF */ 407*7c478bd9Sstevel@tonic-gate 408*7c478bd9Sstevel@tonic-gate /* termios option flags */ 409*7c478bd9Sstevel@tonic-gate 410*7c478bd9Sstevel@tonic-gate #define TCIFLUSH 0 /* flush data received but not read */ 411*7c478bd9Sstevel@tonic-gate #define TCOFLUSH 1 /* flush data written but not transmitted */ 412*7c478bd9Sstevel@tonic-gate #define TCIOFLUSH 2 /* flush both data both input and output queues */ 413*7c478bd9Sstevel@tonic-gate 414*7c478bd9Sstevel@tonic-gate #define TCOOFF 0 /* suspend output */ 415*7c478bd9Sstevel@tonic-gate #define TCOON 1 /* restart suspended output */ 416*7c478bd9Sstevel@tonic-gate #define TCIOFF 2 /* suspend input */ 417*7c478bd9Sstevel@tonic-gate #define TCION 3 /* restart suspended input */ 418*7c478bd9Sstevel@tonic-gate 419*7c478bd9Sstevel@tonic-gate /* TIOC ioctls for BSD, ptys, job control and modem control */ 420*7c478bd9Sstevel@tonic-gate 421*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 422*7c478bd9Sstevel@tonic-gate #define tIOC ('t'<<8) 423*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 424*7c478bd9Sstevel@tonic-gate 425*7c478bd9Sstevel@tonic-gate /* Slots for 386/XENIX compatibility */ 426*7c478bd9Sstevel@tonic-gate /* BSD includes these ioctls in ttold.h */ 427*7c478bd9Sstevel@tonic-gate 428*7c478bd9Sstevel@tonic-gate #ifndef _SYS_TTOLD_H 429*7c478bd9Sstevel@tonic-gate 430*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 431*7c478bd9Sstevel@tonic-gate #define TIOCGETD (tIOC|0) 432*7c478bd9Sstevel@tonic-gate #define TIOCSETD (tIOC|1) 433*7c478bd9Sstevel@tonic-gate #define TIOCHPCL (tIOC|2) 434*7c478bd9Sstevel@tonic-gate #define TIOCGETP (tIOC|8) 435*7c478bd9Sstevel@tonic-gate #define TIOCSETP (tIOC|9) 436*7c478bd9Sstevel@tonic-gate #define TIOCSETN (tIOC|10) 437*7c478bd9Sstevel@tonic-gate #define TIOCEXCL (tIOC|13) 438*7c478bd9Sstevel@tonic-gate #define TIOCNXCL (tIOC|14) 439*7c478bd9Sstevel@tonic-gate #define TIOCFLUSH (tIOC|16) 440*7c478bd9Sstevel@tonic-gate #define TIOCSETC (tIOC|17) 441*7c478bd9Sstevel@tonic-gate #define TIOCGETC (tIOC|18) 442*7c478bd9Sstevel@tonic-gate /* 443*7c478bd9Sstevel@tonic-gate * BSD ioctls that are not the same as XENIX are included here. 444*7c478bd9Sstevel@tonic-gate * There are also some relevant ioctls from SUN/BSD sys/ttycom.h 445*7c478bd9Sstevel@tonic-gate * BSD pty ioctls like TIOCPKT are not supported in SVR4. 446*7c478bd9Sstevel@tonic-gate */ 447*7c478bd9Sstevel@tonic-gate 448*7c478bd9Sstevel@tonic-gate #define TIOCLBIS (tIOC|127) /* bis local mode bits */ 449*7c478bd9Sstevel@tonic-gate #define TIOCLBIC (tIOC|126) /* bic local mode bits */ 450*7c478bd9Sstevel@tonic-gate #define TIOCLSET (tIOC|125) /* set entire local mode word */ 451*7c478bd9Sstevel@tonic-gate #define TIOCLGET (tIOC|124) /* get local modes */ 452*7c478bd9Sstevel@tonic-gate #define TIOCSBRK (tIOC|123) /* set break bit */ 453*7c478bd9Sstevel@tonic-gate #define TIOCCBRK (tIOC|122) /* clear break bit */ 454*7c478bd9Sstevel@tonic-gate #define TIOCSDTR (tIOC|121) /* set data terminal ready */ 455*7c478bd9Sstevel@tonic-gate #define TIOCCDTR (tIOC|120) /* clear data terminal ready */ 456*7c478bd9Sstevel@tonic-gate #define TIOCSLTC (tIOC|117) /* set local special chars */ 457*7c478bd9Sstevel@tonic-gate #define TIOCGLTC (tIOC|116) /* get local special chars */ 458*7c478bd9Sstevel@tonic-gate #define TIOCOUTQ (tIOC|115) /* driver output queue size */ 459*7c478bd9Sstevel@tonic-gate #define TIOCNOTTY (tIOC|113) /* void tty association */ 460*7c478bd9Sstevel@tonic-gate #define TIOCSTOP (tIOC|111) /* stop output, like ^S */ 461*7c478bd9Sstevel@tonic-gate #define TIOCSTART (tIOC|110) /* start output, like ^Q */ 462*7c478bd9Sstevel@tonic-gate #define TIOCSILOOP (tIOC|109) /* private to Sun; do not use */ 463*7c478bd9Sstevel@tonic-gate 464*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 465*7c478bd9Sstevel@tonic-gate 466*7c478bd9Sstevel@tonic-gate #endif /* end _SYS_TTOLD_H */ 467*7c478bd9Sstevel@tonic-gate 468*7c478bd9Sstevel@tonic-gate /* POSIX job control ioctls */ 469*7c478bd9Sstevel@tonic-gate 470*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 471*7c478bd9Sstevel@tonic-gate #define TIOCGPGRP (tIOC|20) /* get pgrp of tty */ 472*7c478bd9Sstevel@tonic-gate #define TIOCSPGRP (tIOC|21) /* set pgrp of tty */ 473*7c478bd9Sstevel@tonic-gate #define TIOCGSID (tIOC|22) /* get session id on ctty */ 474*7c478bd9Sstevel@tonic-gate 475*7c478bd9Sstevel@tonic-gate /* Miscellaneous */ 476*7c478bd9Sstevel@tonic-gate #define TIOCSTI (tIOC|23) /* simulate terminal input */ 477*7c478bd9Sstevel@tonic-gate 478*7c478bd9Sstevel@tonic-gate /* Modem control */ 479*7c478bd9Sstevel@tonic-gate #define TIOCMSET (tIOC|26) /* set all modem bits */ 480*7c478bd9Sstevel@tonic-gate #define TIOCMBIS (tIOC|27) /* bis modem bits */ 481*7c478bd9Sstevel@tonic-gate #define TIOCMBIC (tIOC|28) /* bic modem bits */ 482*7c478bd9Sstevel@tonic-gate #define TIOCMGET (tIOC|29) /* get all modem bits */ 483*7c478bd9Sstevel@tonic-gate #define TIOCM_LE 0001 /* line enable */ 484*7c478bd9Sstevel@tonic-gate #define TIOCM_DTR 0002 /* data terminal ready */ 485*7c478bd9Sstevel@tonic-gate #define TIOCM_RTS 0004 /* request to send */ 486*7c478bd9Sstevel@tonic-gate #define TIOCM_ST 0010 /* secondary transmit */ 487*7c478bd9Sstevel@tonic-gate #define TIOCM_SR 0020 /* secondary receive */ 488*7c478bd9Sstevel@tonic-gate #define TIOCM_CTS 0040 /* clear to send */ 489*7c478bd9Sstevel@tonic-gate #define TIOCM_CAR 0100 /* carrier detect */ 490*7c478bd9Sstevel@tonic-gate #define TIOCM_CD TIOCM_CAR 491*7c478bd9Sstevel@tonic-gate #define TIOCM_RNG 0200 /* ring */ 492*7c478bd9Sstevel@tonic-gate #define TIOCM_RI TIOCM_RNG 493*7c478bd9Sstevel@tonic-gate #define TIOCM_DSR 0400 /* data set ready */ 494*7c478bd9Sstevel@tonic-gate 495*7c478bd9Sstevel@tonic-gate /* pseudo-tty */ 496*7c478bd9Sstevel@tonic-gate 497*7c478bd9Sstevel@tonic-gate #define TIOCREMOTE (tIOC|30) /* remote input editing */ 498*7c478bd9Sstevel@tonic-gate #define TIOCSIGNAL (tIOC|31) /* pty: send signal to slave */ 499*7c478bd9Sstevel@tonic-gate 500*7c478bd9Sstevel@tonic-gate 501*7c478bd9Sstevel@tonic-gate /* Some more 386 xenix stuff */ 502*7c478bd9Sstevel@tonic-gate 503*7c478bd9Sstevel@tonic-gate #define LDIOC ('D'<<8) 504*7c478bd9Sstevel@tonic-gate 505*7c478bd9Sstevel@tonic-gate #define LDOPEN (LDIOC|0) 506*7c478bd9Sstevel@tonic-gate #define LDCLOSE (LDIOC|1) 507*7c478bd9Sstevel@tonic-gate #define LDCHG (LDIOC|2) 508*7c478bd9Sstevel@tonic-gate #define LDGETT (LDIOC|8) 509*7c478bd9Sstevel@tonic-gate #define LDSETT (LDIOC|9) 510*7c478bd9Sstevel@tonic-gate 511*7c478bd9Sstevel@tonic-gate /* Slots for 386 compatibility */ 512*7c478bd9Sstevel@tonic-gate 513*7c478bd9Sstevel@tonic-gate #define LDSMAP (LDIOC|110) 514*7c478bd9Sstevel@tonic-gate #define LDGMAP (LDIOC|111) 515*7c478bd9Sstevel@tonic-gate #define LDNMAP (LDIOC|112) 516*7c478bd9Sstevel@tonic-gate #define LDEMAP (LDIOC|113) 517*7c478bd9Sstevel@tonic-gate #define LDDMAP (LDIOC|114) 518*7c478bd9Sstevel@tonic-gate 519*7c478bd9Sstevel@tonic-gate /* 520*7c478bd9Sstevel@tonic-gate * These are retained for 386/XENIX compatibility. 521*7c478bd9Sstevel@tonic-gate */ 522*7c478bd9Sstevel@tonic-gate 523*7c478bd9Sstevel@tonic-gate #define DIOC ('d'<<8) 524*7c478bd9Sstevel@tonic-gate #define DIOCGETP (DIOC|8) /* V7 */ 525*7c478bd9Sstevel@tonic-gate #define DIOCSETP (DIOC|9) /* V7 */ 526*7c478bd9Sstevel@tonic-gate 527*7c478bd9Sstevel@tonic-gate /* 528*7c478bd9Sstevel@tonic-gate * Returns a non-zero value if there 529*7c478bd9Sstevel@tonic-gate * are characters in the input queue. 530*7c478bd9Sstevel@tonic-gate * 531*7c478bd9Sstevel@tonic-gate * XXX - somebody is confused here. V7 had no such "ioctl", although XENIX may 532*7c478bd9Sstevel@tonic-gate * have added it; 4BSD had FIONREAD, which returned the number of characters 533*7c478bd9Sstevel@tonic-gate * waiting, and was supposed to work on all descriptors (i.e., every driver 534*7c478bd9Sstevel@tonic-gate * should make a stab at implementing it). 535*7c478bd9Sstevel@tonic-gate */ 536*7c478bd9Sstevel@tonic-gate #define FIORDCHK (('f'<<8)|3) /* V7 */ 537*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 538*7c478bd9Sstevel@tonic-gate 539*7c478bd9Sstevel@tonic-gate /* 540*7c478bd9Sstevel@tonic-gate * Speeds 541*7c478bd9Sstevel@tonic-gate */ 542*7c478bd9Sstevel@tonic-gate #define B0 0 543*7c478bd9Sstevel@tonic-gate #define B50 1 544*7c478bd9Sstevel@tonic-gate #define B75 2 545*7c478bd9Sstevel@tonic-gate #define B110 3 546*7c478bd9Sstevel@tonic-gate #define B134 4 547*7c478bd9Sstevel@tonic-gate #define B150 5 548*7c478bd9Sstevel@tonic-gate #define B200 6 549*7c478bd9Sstevel@tonic-gate #define B300 7 550*7c478bd9Sstevel@tonic-gate #define B600 8 551*7c478bd9Sstevel@tonic-gate #define B1200 9 552*7c478bd9Sstevel@tonic-gate #define B1800 10 553*7c478bd9Sstevel@tonic-gate #define B2400 11 554*7c478bd9Sstevel@tonic-gate #define B4800 12 555*7c478bd9Sstevel@tonic-gate #define B9600 13 556*7c478bd9Sstevel@tonic-gate #define B19200 14 557*7c478bd9Sstevel@tonic-gate #define B38400 15 558*7c478bd9Sstevel@tonic-gate #define B57600 16 559*7c478bd9Sstevel@tonic-gate #define B76800 17 560*7c478bd9Sstevel@tonic-gate #define B115200 18 561*7c478bd9Sstevel@tonic-gate #define B153600 19 562*7c478bd9Sstevel@tonic-gate #define B230400 20 563*7c478bd9Sstevel@tonic-gate #define B307200 21 564*7c478bd9Sstevel@tonic-gate #define B460800 22 565*7c478bd9Sstevel@tonic-gate 566*7c478bd9Sstevel@tonic-gate #ifndef _SYS_TTOLD_H 567*7c478bd9Sstevel@tonic-gate 568*7c478bd9Sstevel@tonic-gate #if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) 569*7c478bd9Sstevel@tonic-gate /* Windowing structure to support JWINSIZE/TIOCSWINSZ/TIOCGWINSZ */ 570*7c478bd9Sstevel@tonic-gate struct winsize { 571*7c478bd9Sstevel@tonic-gate unsigned short ws_row; /* rows, in characters */ 572*7c478bd9Sstevel@tonic-gate unsigned short ws_col; /* columns, in character */ 573*7c478bd9Sstevel@tonic-gate unsigned short ws_xpixel; /* horizontal size, pixels */ 574*7c478bd9Sstevel@tonic-gate unsigned short ws_ypixel; /* vertical size, pixels */ 575*7c478bd9Sstevel@tonic-gate }; 576*7c478bd9Sstevel@tonic-gate #endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */ 577*7c478bd9Sstevel@tonic-gate 578*7c478bd9Sstevel@tonic-gate #endif /* end _SYS_TTOLD_H */ 579*7c478bd9Sstevel@tonic-gate 580*7c478bd9Sstevel@tonic-gate #ifdef __cplusplus 581*7c478bd9Sstevel@tonic-gate } 582*7c478bd9Sstevel@tonic-gate #endif 583*7c478bd9Sstevel@tonic-gate 584*7c478bd9Sstevel@tonic-gate #endif /* _SYS_TERMIOS_H */ 585