Blob Blame History Raw
#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;}
}