1570af302Sopenharmony_ci#include <termios.h> 2570af302Sopenharmony_ci#define T(t) (t*)0; 3570af302Sopenharmony_ci#define F(t,n) {t *y = &x.n;} 4570af302Sopenharmony_ci#define C(n) switch(n){case n:;} 5570af302Sopenharmony_cistatic void f() 6570af302Sopenharmony_ci{ 7570af302Sopenharmony_ciT(cc_t) 8570af302Sopenharmony_ciT(speed_t) 9570af302Sopenharmony_ciT(tcflag_t) 10570af302Sopenharmony_ciT(pid_t) 11570af302Sopenharmony_ci{ 12570af302Sopenharmony_cistruct termios x; 13570af302Sopenharmony_ciF(tcflag_t,c_iflag) 14570af302Sopenharmony_ciF(tcflag_t,c_oflag) 15570af302Sopenharmony_ciF(tcflag_t,c_cflag) 16570af302Sopenharmony_ciF(tcflag_t,c_lflag) 17570af302Sopenharmony_ciF(cc_t,c_cc[NCCS]) 18570af302Sopenharmony_ci} 19570af302Sopenharmony_ciC(NCCS) 20570af302Sopenharmony_ciC(VEOF) 21570af302Sopenharmony_ciC(VEOL) 22570af302Sopenharmony_ciC(VERASE) 23570af302Sopenharmony_ciC(VINTR) 24570af302Sopenharmony_ciC(VKILL) 25570af302Sopenharmony_ciC(VMIN) 26570af302Sopenharmony_ciC(VQUIT) 27570af302Sopenharmony_ciC(VSTART) 28570af302Sopenharmony_ciC(VSTOP) 29570af302Sopenharmony_ciC(VSUSP) 30570af302Sopenharmony_ciC(VTIME) 31570af302Sopenharmony_ciC(BRKINT) 32570af302Sopenharmony_ciC(ICRNL) 33570af302Sopenharmony_ciC(IGNBRK) 34570af302Sopenharmony_ciC(IGNCR) 35570af302Sopenharmony_ciC(IGNPAR) 36570af302Sopenharmony_ciC(INLCR) 37570af302Sopenharmony_ciC(INPCK) 38570af302Sopenharmony_ciC(ISTRIP) 39570af302Sopenharmony_ciC(IXANY) 40570af302Sopenharmony_ciC(IXOFF) 41570af302Sopenharmony_ciC(IXON) 42570af302Sopenharmony_ciC(PARMRK) 43570af302Sopenharmony_ciC(OPOST) 44570af302Sopenharmony_ci#ifdef _XOPEN_SOURCE 45570af302Sopenharmony_ciC(ONLCR) 46570af302Sopenharmony_ciC(OCRNL) 47570af302Sopenharmony_ciC(ONOCR) 48570af302Sopenharmony_ciC(ONLRET) 49570af302Sopenharmony_ciC(OFDEL) 50570af302Sopenharmony_ciC(OFILL) 51570af302Sopenharmony_ciC(NLDLY) 52570af302Sopenharmony_ciC(NL0) 53570af302Sopenharmony_ciC(NL1) 54570af302Sopenharmony_ciC(CRDLY) 55570af302Sopenharmony_ciC(CR0) 56570af302Sopenharmony_ciC(CR1) 57570af302Sopenharmony_ciC(CR2) 58570af302Sopenharmony_ciC(CR3) 59570af302Sopenharmony_ciC(TABDLY) 60570af302Sopenharmony_ciC(TAB0) 61570af302Sopenharmony_ciC(TAB1) 62570af302Sopenharmony_ciC(TAB2) 63570af302Sopenharmony_ciC(TAB3) 64570af302Sopenharmony_ciC(BSDLY) 65570af302Sopenharmony_ciC(BS0) 66570af302Sopenharmony_ciC(BS1) 67570af302Sopenharmony_ciC(VTDLY) 68570af302Sopenharmony_ciC(VT0) 69570af302Sopenharmony_ciC(VT1) 70570af302Sopenharmony_ciC(FFDLY) 71570af302Sopenharmony_ciC(FF0) 72570af302Sopenharmony_ciC(FF1) 73570af302Sopenharmony_ci#endif 74570af302Sopenharmony_ciC(B0) 75570af302Sopenharmony_ciC(B50) 76570af302Sopenharmony_ciC(B75) 77570af302Sopenharmony_ciC(B110) 78570af302Sopenharmony_ciC(B134) 79570af302Sopenharmony_ciC(B150) 80570af302Sopenharmony_ciC(B200) 81570af302Sopenharmony_ciC(B300) 82570af302Sopenharmony_ciC(B600) 83570af302Sopenharmony_ciC(B1200) 84570af302Sopenharmony_ciC(B1800) 85570af302Sopenharmony_ciC(B2400) 86570af302Sopenharmony_ciC(B4800) 87570af302Sopenharmony_ciC(B9600) 88570af302Sopenharmony_ciC(B19200) 89570af302Sopenharmony_ciC(B38400) 90570af302Sopenharmony_ciC(CSIZE) 91570af302Sopenharmony_ciC(CS5) 92570af302Sopenharmony_ciC(CS6) 93570af302Sopenharmony_ciC(CS7) 94570af302Sopenharmony_ciC(CS8) 95570af302Sopenharmony_ciC(CSTOPB) 96570af302Sopenharmony_ciC(CREAD) 97570af302Sopenharmony_ciC(PARENB) 98570af302Sopenharmony_ciC(PARODD) 99570af302Sopenharmony_ciC(HUPCL) 100570af302Sopenharmony_ciC(CLOCAL) 101570af302Sopenharmony_ciC(ECHO) 102570af302Sopenharmony_ciC(ECHOE) 103570af302Sopenharmony_ciC(ECHOK) 104570af302Sopenharmony_ciC(ECHONL) 105570af302Sopenharmony_ciC(ICANON) 106570af302Sopenharmony_ciC(IEXTEN) 107570af302Sopenharmony_ciC(ISIG) 108570af302Sopenharmony_ciC(NOFLSH) 109570af302Sopenharmony_ciC(TOSTOP) 110570af302Sopenharmony_ciC(TCSANOW) 111570af302Sopenharmony_ciC(TCSADRAIN) 112570af302Sopenharmony_ciC(TCSAFLUSH) 113570af302Sopenharmony_ciC(TCIFLUSH) 114570af302Sopenharmony_ciC(TCIOFLUSH) 115570af302Sopenharmony_ciC(TCOFLUSH) 116570af302Sopenharmony_ciC(TCIOFF) 117570af302Sopenharmony_ciC(TCION) 118570af302Sopenharmony_ciC(TCOOFF) 119570af302Sopenharmony_ciC(TCOON) 120570af302Sopenharmony_ci{speed_t(*p)(const struct termios*) = cfgetispeed;} 121570af302Sopenharmony_ci{speed_t(*p)(const struct termios*) = cfgetospeed;} 122570af302Sopenharmony_ci{int(*p)(struct termios*,speed_t) = cfsetispeed;} 123570af302Sopenharmony_ci{int(*p)(struct termios*,speed_t) = cfsetospeed;} 124570af302Sopenharmony_ci{int(*p)(int) = tcdrain;} 125570af302Sopenharmony_ci{int(*p)(int,int) = tcflow;} 126570af302Sopenharmony_ci{int(*p)(int,int) = tcflush;} 127570af302Sopenharmony_ci{int(*p)(int,struct termios*) = tcgetattr;} 128570af302Sopenharmony_ci{pid_t(*p)(int) = tcgetsid;} 129570af302Sopenharmony_ci{int(*p)(int,int) = tcsendbreak;} 130570af302Sopenharmony_ci{int(*p)(int,int,const struct termios*) = tcsetattr;} 131570af302Sopenharmony_ci} 132