210 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			210 lines
		
	
	
		
			5.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef _ASM_POWERPC_TERMBITS_H
 | 
						|
#define _ASM_POWERPC_TERMBITS_H
 | 
						|
 | 
						|
/*
 | 
						|
 * This program is free software; you can redistribute it and/or
 | 
						|
 * modify it under the terms of the GNU General Public License
 | 
						|
 * as published by the Free Software Foundation; either version
 | 
						|
 * 2 of the License, or (at your option) any later version.
 | 
						|
 */
 | 
						|
 | 
						|
typedef unsigned char	cc_t;
 | 
						|
typedef unsigned int	speed_t;
 | 
						|
typedef unsigned int	tcflag_t;
 | 
						|
 | 
						|
/*
 | 
						|
 * termios type and macro definitions.  Be careful about adding stuff
 | 
						|
 * to this file since it's used in GNU libc and there are strict rules
 | 
						|
 * concerning namespace pollution.
 | 
						|
 */
 | 
						|
 | 
						|
#define NCCS 19
 | 
						|
struct termios {
 | 
						|
	tcflag_t c_iflag;		/* input mode flags */
 | 
						|
	tcflag_t c_oflag;		/* output mode flags */
 | 
						|
	tcflag_t c_cflag;		/* control mode flags */
 | 
						|
	tcflag_t c_lflag;		/* local mode flags */
 | 
						|
	cc_t c_cc[NCCS];		/* control characters */
 | 
						|
	cc_t c_line;			/* line discipline (== c_cc[19]) */
 | 
						|
	speed_t c_ispeed;		/* input speed */
 | 
						|
	speed_t c_ospeed;		/* output speed */
 | 
						|
};
 | 
						|
 | 
						|
/* For PowerPC the termios and ktermios are the same */
 | 
						|
 | 
						|
struct ktermios {
 | 
						|
	tcflag_t c_iflag;		/* input mode flags */
 | 
						|
	tcflag_t c_oflag;		/* output mode flags */
 | 
						|
	tcflag_t c_cflag;		/* control mode flags */
 | 
						|
	tcflag_t c_lflag;		/* local mode flags */
 | 
						|
	cc_t c_cc[NCCS];		/* control characters */
 | 
						|
	cc_t c_line;			/* line discipline (== c_cc[19]) */
 | 
						|
	speed_t c_ispeed;		/* input speed */
 | 
						|
	speed_t c_ospeed;		/* output speed */
 | 
						|
};
 | 
						|
 | 
						|
/* c_cc characters */
 | 
						|
#define VINTR 	         0
 | 
						|
#define VQUIT 	         1
 | 
						|
#define VERASE 	         2
 | 
						|
#define VKILL	         3
 | 
						|
#define VEOF	         4
 | 
						|
#define VMIN	         5
 | 
						|
#define VEOL	         6
 | 
						|
#define VTIME	         7
 | 
						|
#define VEOL2	         8
 | 
						|
#define VSWTC	         9
 | 
						|
#define VWERASE 	10
 | 
						|
#define VREPRINT	11
 | 
						|
#define VSUSP 		12
 | 
						|
#define VSTART		13
 | 
						|
#define VSTOP		14
 | 
						|
#define VLNEXT		15
 | 
						|
#define VDISCARD	16
 | 
						|
 | 
						|
/* c_iflag bits */
 | 
						|
#define IGNBRK	0000001
 | 
						|
#define BRKINT	0000002
 | 
						|
#define IGNPAR	0000004
 | 
						|
#define PARMRK	0000010
 | 
						|
#define INPCK	0000020
 | 
						|
#define ISTRIP	0000040
 | 
						|
#define INLCR	0000100
 | 
						|
#define IGNCR	0000200
 | 
						|
#define ICRNL	0000400
 | 
						|
#define IXON	0001000
 | 
						|
#define IXOFF	0002000
 | 
						|
#define IXANY	0004000
 | 
						|
#define IUCLC	0010000
 | 
						|
#define IMAXBEL	0020000
 | 
						|
#define	IUTF8	0040000
 | 
						|
 | 
						|
/* c_oflag bits */
 | 
						|
#define OPOST	0000001
 | 
						|
#define ONLCR	0000002
 | 
						|
#define OLCUC	0000004
 | 
						|
 | 
						|
#define OCRNL	0000010
 | 
						|
#define ONOCR	0000020
 | 
						|
#define ONLRET	0000040
 | 
						|
 | 
						|
#define OFILL	00000100
 | 
						|
#define OFDEL	00000200
 | 
						|
#define NLDLY	00001400
 | 
						|
#define   NL0	00000000
 | 
						|
#define   NL1	00000400
 | 
						|
#define   NL2	00001000
 | 
						|
#define   NL3	00001400
 | 
						|
#define TABDLY	00006000
 | 
						|
#define   TAB0	00000000
 | 
						|
#define   TAB1	00002000
 | 
						|
#define   TAB2	00004000
 | 
						|
#define   TAB3	00006000
 | 
						|
#define   XTABS	00006000	/* required by POSIX to == TAB3 */
 | 
						|
#define CRDLY	00030000
 | 
						|
#define   CR0	00000000
 | 
						|
#define   CR1	00010000
 | 
						|
#define   CR2	00020000
 | 
						|
#define   CR3	00030000
 | 
						|
#define FFDLY	00040000
 | 
						|
#define   FF0	00000000
 | 
						|
#define   FF1	00040000
 | 
						|
#define BSDLY	00100000
 | 
						|
#define   BS0	00000000
 | 
						|
#define   BS1	00100000
 | 
						|
#define VTDLY	00200000
 | 
						|
#define   VT0	00000000
 | 
						|
#define   VT1	00200000
 | 
						|
 | 
						|
/* c_cflag bit meaning */
 | 
						|
#define CBAUD	0000377
 | 
						|
#define  B0	0000000		/* hang up */
 | 
						|
#define  B50	0000001
 | 
						|
#define  B75	0000002
 | 
						|
#define  B110	0000003
 | 
						|
#define  B134	0000004
 | 
						|
#define  B150	0000005
 | 
						|
#define  B200	0000006
 | 
						|
#define  B300	0000007
 | 
						|
#define  B600	0000010
 | 
						|
#define  B1200	0000011
 | 
						|
#define  B1800	0000012
 | 
						|
#define  B2400	0000013
 | 
						|
#define  B4800	0000014
 | 
						|
#define  B9600	0000015
 | 
						|
#define  B19200	0000016
 | 
						|
#define  B38400	0000017
 | 
						|
#define  EXTA   B19200
 | 
						|
#define  EXTB   B38400
 | 
						|
#define  CBAUDEX 0000000
 | 
						|
#define  B57600   00020
 | 
						|
#define  B115200  00021
 | 
						|
#define  B230400  00022
 | 
						|
#define  B460800  00023
 | 
						|
#define  B500000  00024
 | 
						|
#define  B576000  00025
 | 
						|
#define  B921600  00026
 | 
						|
#define B1000000  00027
 | 
						|
#define B1152000  00030
 | 
						|
#define B1500000  00031
 | 
						|
#define B2000000  00032
 | 
						|
#define B2500000  00033
 | 
						|
#define B3000000  00034
 | 
						|
#define B3500000  00035
 | 
						|
#define B4000000  00036
 | 
						|
#define   BOTHER  00037
 | 
						|
 | 
						|
#define CIBAUD	077600000
 | 
						|
#define IBSHIFT	16		/* Shift from CBAUD to CIBAUD */
 | 
						|
 | 
						|
#define CSIZE	00001400
 | 
						|
#define   CS5	00000000
 | 
						|
#define   CS6	00000400
 | 
						|
#define   CS7	00001000
 | 
						|
#define   CS8	00001400
 | 
						|
 | 
						|
#define CSTOPB	00002000
 | 
						|
#define CREAD	00004000
 | 
						|
#define PARENB	00010000
 | 
						|
#define PARODD	00020000
 | 
						|
#define HUPCL	00040000
 | 
						|
 | 
						|
#define CLOCAL	00100000
 | 
						|
#define CMSPAR	  010000000000		/* mark or space (stick) parity */
 | 
						|
#define CRTSCTS	  020000000000		/* flow control */
 | 
						|
 | 
						|
/* c_lflag bits */
 | 
						|
#define ISIG	0x00000080
 | 
						|
#define ICANON	0x00000100
 | 
						|
#define XCASE	0x00004000
 | 
						|
#define ECHO	0x00000008
 | 
						|
#define ECHOE	0x00000002
 | 
						|
#define ECHOK	0x00000004
 | 
						|
#define ECHONL	0x00000010
 | 
						|
#define NOFLSH	0x80000000
 | 
						|
#define TOSTOP	0x00400000
 | 
						|
#define ECHOCTL	0x00000040
 | 
						|
#define ECHOPRT	0x00000020
 | 
						|
#define ECHOKE	0x00000001
 | 
						|
#define FLUSHO	0x00800000
 | 
						|
#define PENDIN	0x20000000
 | 
						|
#define IEXTEN	0x00000400
 | 
						|
 | 
						|
/* Values for the ACTION argument to `tcflow'.  */
 | 
						|
#define	TCOOFF		0
 | 
						|
#define	TCOON		1
 | 
						|
#define	TCIOFF		2
 | 
						|
#define	TCION		3
 | 
						|
 | 
						|
/* Values for the QUEUE_SELECTOR argument to `tcflush'.  */
 | 
						|
#define	TCIFLUSH	0
 | 
						|
#define	TCOFLUSH	1
 | 
						|
#define	TCIOFLUSH	2
 | 
						|
 | 
						|
/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'.  */
 | 
						|
#define	TCSANOW		0
 | 
						|
#define	TCSADRAIN	1
 | 
						|
#define	TCSAFLUSH	2
 | 
						|
 | 
						|
#endif	/* _ASM_POWERPC_TERMBITS_H */
 |