This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

fixincl recently broken, char_macro_def/char_macro_use don't work


Hi Bruce,

	Recent CVS fixincl doesn't apply char_macro_def or
char_macro_use to (most?) any headers on SunOS4.

For reference, I know the relevant fixincl stuff worked back on 4/26.

It looks like you rewrote some of this code recently.  I wasn't able
to figure out why it broke, but here is the termios.h file from my
box.  Please see if you can determine why its not working.

		Thanks,
		--Kaveh

/*	@(#)termios.h 1.18 89/10/04 SMI	*/

#ifndef	__sys_termios_h
#define	__sys_termios_h

#include <sys/stdtypes.h>
#include <sys/ioccom.h>
#include <sys/ttydev.h>
#include <sys/ttycom.h>

#define	NCCS	17

/*
 * control characters
 * the following are not (yet) posix
 * VEOL2, VSWTCH, VDSUSP, VREPRINT, VDISCARD, VWERASE, VLNEXT, VSTATUS
 */
#define	VINTR		0
#define	VQUIT		1
#define	VERASE		2
#define	VKILL		3
#define	VEOF		4
#define	VEOL		5
#ifndef _POSIX_SOURCE
#define	VEOL2		6
#define	VSWTCH		7
#endif
#define	VSTART		8
#define	VSTOP		9
#define	VSUSP		10
#ifndef _POSIX_SOURCE
#define	VDSUSP		11
#define	VREPRINT	12
#define	VDISCARD	13
#define	VWERASE		14
#define	VLNEXT		15
#define	VSTATUS		16
#endif

#define	VMIN		VEOF
#define	VTIME		VEOL

#ifndef	_POSIX_SOURCE
#define	_CTRL(c)	('c'&037)

/*
 * default control chars.
 * guarded for ttychars.h.
 */
#ifndef	CINTR
#define	CINTR	_CTRL(c)
#define	CQUIT	034		/* FS, ^\ */
#define	CERASE	0177		/* DEL, ^? */
#define	CKILL	_CTRL(u)
#define	CEOF	_CTRL(d)
#define	CEOT	CEOF
#define	CEOL	0
#define	CEOL2	0
#define	CSWTCH	0
#define	CNSWTCH	0
#define	CSTART	_CTRL(q)
#define	CSTOP	_CTRL(s)
#define	CSUSP	_CTRL(z)
#define	CDSUSP	_CTRL(y)
#define	CRPRNT	_CTRL(r)
#define	CFLUSH	_CTRL(o)
#define	CWERASE	_CTRL(w)
#define	CLNEXT	_CTRL(v)
#define CSTATUS _CTRL(t)
#endif	/* !CINTR */

#define	CESC	'\\'
#define	CNUL	0
#define	CDEL	0377
#endif	!_POSIX_SOURCE

/* input modes */
#define	IGNBRK	0x00000001
#define	BRKINT	0x00000002
#define	IGNPAR	0x00000004
#define	PARMRK	0x00000008
#define	INPCK	0x00000010
#define	ISTRIP	0x00000020
#define	INLCR	0x00000040
#define	IGNCR	0x00000080
#define	ICRNL	0x00000100
/*	IUCLC	0x00000200	not posix, defined below */
#define	IXON	0x00000400
/*	IXANY	0x00000800	not posix, defined below */
#define	IXOFF	0x00001000
/*	IMAXBEL	0x00002000	not posix, defined below */

#ifndef	_POSIX_SOURCE
#define	IUCLC	0x00000200
#define	IXANY	0x00000800
#define	IMAXBEL	0x00002000
#endif	/* !_POSIX_SOURCE */

/* output modes */
#define	OPOST	0x00000001
#ifndef	_POSIX_SOURCE
#define	OLCUC	0x00000002
#define	ONLCR	0x00000004
#define	OCRNL	0x00000008
#define	ONOCR	0x00000010
#define	ONLRET	0x00000020
#define	OFILL	0x00000040
#define	OFDEL	0x00000080
#define	NLDLY	0x00000100
#define	NL0	0
#define	NL1	0x00000100
#define	CRDLY	0x00000600
#define	CR0	0
#define	CR1	0x00000200
#define	CR2	0x00000400
#define	CR3	0x00000600
#define	TABDLY	0x00001800
#define	TAB0	0
#define	TAB1	0x00000800
#define	TAB2	0x00001000
#define	XTABS	0x00001800
#define	TAB3	XTABS
#define	BSDLY	0x00002000
#define	BS0	0
#define	BS1	0x00002000
#define	VTDLY	0x00004000
#define	VT0	0
#define	VT1	0x00004000
#define	FFDLY	0x00008000
#define	FF0	0
#define	FF1	0x00008000
#define	PAGEOUT	0x00010000
#define	WRAP	0x00020000
#endif	/* !_POSIX_SOURCE */

/* control modes */
#ifndef	_POSIX_SOURCE
#define	CBAUD	0x0000000f
#endif
#define	CSIZE	0x00000030
#define	CS5	0
#define	CS6	0x00000010
#define	CS7	0x00000020
#define	CS8	0x00000030
#define	CSTOPB	0x00000040
#define	CREAD	0x00000080
#define	PARENB	0x00000100
#define	PARODD	0x00000200
#define	HUPCL	0x00000400
#define	CLOCAL	0x00000800
#ifndef	_POSIX_SOURCE
#define	LOBLK	0x00001000
#define	CIBAUD	0x000f0000
#define	CRTSCTS	0x80000000

#define	IBSHIFT	16
#endif	/* !_POSIX_SOURCE */

/* line discipline 0 modes */
#define	ISIG	0x00000001
#define	ICANON	0x00000002
/*	XCASE	0x00000004		not posix, defined below */
#define	ECHO	0x00000008
#define	ECHOE	0x00000010
#define	ECHOK	0x00000020
#define	ECHONL	0x00000040
#define	NOFLSH	0x00000080
#define	TOSTOP	0x00000100
/*	ECHOCTL	0x00000200		not posix, defined below */
/*	ECHOPRT	0x00000400		not posix, defined below */
/*	ECHOKE	0x00000800		not posix, defined below */
/*	DEFECHO	0x00001000		not posix, defined below */
/*	FLUSHO	0x00002000		not posix, defined below */
/*	PENDIN	0x00004000		not posix, defined below */
#define	IEXTEN	0x00008000
/*      EWE     0x01000000		Rutgers, not posix, defined below */

#ifndef	_POSIX_SOURCE
#define	XCASE	0x00000004
#define	ECHOCTL	0x00000200
#define	ECHOPRT	0x00000400
#define	ECHOKE	0x00000800
#define	DEFECHO	0x00001000
#define	FLUSHO	0x00002000
#define	PENDIN	0x00004000
#define EWE     0x01000000

#define 	Ust_load1	0x0001	/* one-minute load average */
#define 	Ust_load5	0x0002	/* five-minute load average */
#define 	Ust_load15	0x0004	/* fifteen-minute load average */
#define 	Ust_uptime	0x0008	/* time since last boot */
#define 	Ust_pgrp	0x0010	/* pgroup leader */
#define 	Ust_childs	0x0020	/* and N children */
#define 	Ust_pcpu	0x0040	/* %cpu they're getting */
#define 	Ust_incore	0x0080	/* size and rss of them */
#define 	Ust_flags	0x0100	/* OR of all their flags */
#define 	Ust_state	0x0200	/* rough state (in i/o wait, etc) */
#define 	Ust_rawcpu	0x0400	/* raw or cooked cpu %'age */
#define CUSEMAP (Ust_load1|Ust_pgrp|Ust_childs|Ust_pcpu|Ust_incore|Ust_state)

#endif	/* !_POSIX_SOURCE */

#ifndef	_POSIX_SOURCE
/*
 * codes 1 through 5, not shown here, are old "termio" calls
 */
#define	TCXONC		_IO(T, 6)
#define	TCFLSH		_IO(T, 7)
#define	TCGETS		_IOR(T, 8, struct termios)
#define	TCSETS		_IOW(T, 9, struct termios)
#define	TCSETSW		_IOW(T, 10, struct termios)
#define	TCSETSF		_IOW(T, 11, struct termios)

/* Rutgers addition. TCSTATOPT passes the ^T option bits */

#define TCGETSTAT	_IO(T, 200)
#define TCSETSTAT	_IO(T, 201)

#endif	/* !_POSIX_SOURCE */

#define	TCOOFF		0		/* arg to TCXONC & tcflow() */
#define	TCOON		1		/* arg to TCXONC & tcflow() */
#define	TCIOFF		2		/* arg to TCXONC & tcflow() */
#define	TCION		3		/* arg to TCXONC & tcflow() */
#define	TCIFLUSH	0		/* arg to TCFLSH & tcflush() */
#define	TCOFLUSH	1		/* arg to TCFLSH & tcflush() */
#define	TCIOFLUSH	2		/* arg to TCFLSH & tcflush() */
#define	TCSANOW		0		/* arg to tcsetattr() */
#define	TCSADRAIN	1		/* arg to tcsetattr() */
#define	TCSAFLUSH	2		/* arg to tcsetattr() */

/*
 * Ioctl control packet
 */
struct	termios {
	tcflag_t	c_iflag;	/* input modes */
	tcflag_t	c_oflag;	/* output modes */
	tcflag_t	c_cflag;	/* control modes */
	tcflag_t	c_lflag;	/* line discipline modes */
	char		c_line;		/* line discipline XXX */
	cc_t		c_cc[NCCS];	/* control chars */
};


#ifndef	KERNEL
speed_t	cfgetispeed(/* struct termios *termios_p */);
speed_t	cfgetospeed(/* struct termios *termios_p */);
int	cfsetispeed(/* struct termios *termios_p, speed_t speed */);
int	cfsetospeed(/* struct termios *termios_p, speed_t speed */);
int	tcdrain(/* int fildes */);
int	tcflow(/* int fildes, int action */);
int	tcflush(/* int fildes, int queue_selector */);
int	tcgetattr(/* int fildes, struct termios *termios_p */);
int	tcsendbreak(/* int fildes, int duration */);
int	tcsetattr(/* int fildes, int optional_actions, struct *termios_p */);
#endif	/* !KERNEL */

#endif	/* !__sys_termios_h */

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]