#include <termios.h>
#define T(t) (t*)0;
#define F(t,n) {t *y = &x.n;}
#define C(n) switch(n){case n:;}
static void f()
{
T(cc_t)
T(speed_t)
T(tcflag_t)
T(pid_t)
{
struct termios x;
F(tcflag_t,c_iflag)
F(tcflag_t,c_oflag)
F(tcflag_t,c_cflag)
F(tcflag_t,c_lflag)
F(cc_t,c_cc[NCCS])
}
C(NCCS)
C(VEOF)
C(VEOL)
C(VERASE)
C(VINTR)
C(VKILL)
C(VMIN)
C(VQUIT)
C(VSTART)
C(VSTOP)
C(VSUSP)
C(VTIME)
C(BRKINT)
C(ICRNL)
C(IGNBRK)
C(IGNCR)
C(IGNPAR)
C(INLCR)
C(INPCK)
C(ISTRIP)
C(IXANY)
C(IXOFF)
C(IXON)
C(PARMRK)
C(OPOST)
#ifdef _XOPEN_SOURCE
C(ONLCR)
C(OCRNL)
C(ONOCR)
C(ONLRET)
C(OFDEL)
C(OFILL)
C(NLDLY)
C(NL0)
C(NL1)
C(CRDLY)
C(CR0)
C(CR1)
C(CR2)
C(CR3)
C(TABDLY)
C(TAB0)
C(TAB1)
C(TAB2)
C(TAB3)
C(BSDLY)
C(BS0)
C(BS1)
C(VTDLY)
C(VT0)
C(VT1)
C(FFDLY)
C(FF0)
C(FF1)
#endif
C(B0)
C(B50)
C(B75)
C(B110)
C(B134)
C(B150)
C(B200)
C(B300)
C(B600)
C(B1200)
C(B1800)
C(B2400)
C(B4800)
C(B9600)
C(B19200)
C(B38400)
C(CSIZE)
C(CS5)
C(CS6)
C(CS7)
C(CS8)
C(CSTOPB)
C(CREAD)
C(PARENB)
C(PARODD)
C(HUPCL)
C(CLOCAL)
C(ECHO)
C(ECHOE)
C(ECHOK)
C(ECHONL)
C(ICANON)
C(IEXTEN)
C(ISIG)
C(NOFLSH)
C(TOSTOP)
C(TCSANOW)
C(TCSADRAIN)
C(TCSAFLUSH)
C(TCIFLUSH)
C(TCIOFLUSH)
C(TCOFLUSH)
C(TCIOFF)
C(TCION)
C(TCOOFF)
C(TCOON)
{speed_t(*p)(const struct termios*) = cfgetispeed;}
{speed_t(*p)(const struct termios*) = cfgetospeed;}
{int(*p)(struct termios*,speed_t) = cfsetispeed;}
{int(*p)(struct termios*,speed_t) = cfsetospeed;}
{int(*p)(int) = tcdrain;}
{int(*p)(int,int) = tcflow;}
{int(*p)(int,int) = tcflush;}
{int(*p)(int,struct termios*) = tcgetattr;}
{pid_t(*p)(int) = tcgetsid;}
{int(*p)(int,int) = tcsendbreak;}
{int(*p)(int,int,const struct termios*) = tcsetattr;}
}
