cregit-Linux how code gets into the kernel

Release 4.7 include/uapi/asm-generic/termbits.h

#ifndef __ASM_GENERIC_TERMBITS_H

#define __ASM_GENERIC_TERMBITS_H

#include <linux/posix_types.h>


typedef unsigned char	cc_t;

typedef unsigned int	speed_t;

typedef unsigned int	tcflag_t;


#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_line;			/* line discipline */
	
cc_t c_cc[NCCS];		/* control characters */
};


struct termios2 {
	
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_line;			/* line discipline */
	
cc_t c_cc[NCCS];		/* control characters */
	
speed_t c_ispeed;		/* input speed */
	
speed_t c_ospeed;		/* output speed */
};


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_line;			/* line discipline */
	
cc_t c_cc[NCCS];		/* control characters */
	
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 VTIME 5

#define VMIN 6

#define VSWTC 7

#define VSTART 8

#define VSTOP 9

#define VSUSP 10

#define VEOL 11

#define VREPRINT 12

#define VDISCARD 13

#define VWERASE 14

#define VLNEXT 15

#define VEOL2 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 IUCLC	0001000

#define IXON	0002000

#define IXANY	0004000

#define IXOFF	0010000

#define IMAXBEL	0020000

#define IUTF8	0040000

/* c_oflag bits */

#define OPOST	0000001

#define OLCUC	0000002

#define ONLCR	0000004

#define OCRNL	0000010

#define ONOCR	0000020

#define ONLRET	0000040

#define OFILL	0000100

#define OFDEL	0000200

#define NLDLY	0000400

#define   NL0	0000000

#define   NL1	0000400

#define CRDLY	0003000

#define   CR0	0000000

#define   CR1	0001000

#define   CR2	0002000

#define   CR3	0003000

#define TABDLY	0014000

#define   TAB0	0000000

#define   TAB1	0004000

#define   TAB2	0010000

#define   TAB3	0014000

#define   XTABS	0014000

#define BSDLY	0020000

#define   BS0	0000000

#define   BS1	0020000

#define VTDLY	0040000

#define   VT0	0000000

#define   VT1	0040000

#define FFDLY	0100000

#define   FF0	0000000

#define   FF1	0100000

/* c_cflag bit meaning */

#define CBAUD	0010017

#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 CSIZE	0000060

#define   CS5	0000000

#define   CS6	0000020

#define   CS7	0000040

#define   CS8	0000060

#define CSTOPB	0000100

#define CREAD	0000200

#define PARENB	0000400

#define PARODD	0001000

#define HUPCL	0002000

#define CLOCAL	0004000

#define CBAUDEX 0010000

#define    BOTHER 0010000

#define    B57600 0010001

#define   B115200 0010002

#define   B230400 0010003

#define   B460800 0010004

#define   B500000 0010005

#define   B576000 0010006

#define   B921600 0010007

#define  B1000000 0010010

#define  B1152000 0010011

#define  B1500000 0010012

#define  B2000000 0010013

#define  B2500000 0010014

#define  B3000000 0010015

#define  B3500000 0010016

#define  B4000000 0010017

#define CIBAUD	  002003600000	
/* input baud rate */

#define CMSPAR	  010000000000	
/* mark or space (stick) parity */

#define CRTSCTS	  020000000000	
/* flow control */


#define IBSHIFT	  16		
/* Shift from CBAUD to CIBAUD */

/* c_lflag bits */

#define ISIG	0000001

#define ICANON	0000002

#define XCASE	0000004

#define ECHO	0000010

#define ECHOE	0000020

#define ECHOK	0000040

#define ECHONL	0000100

#define NOFLSH	0000200

#define TOSTOP	0000400

#define ECHOCTL	0001000

#define ECHOPRT	0002000

#define ECHOKE	0004000

#define FLUSHO	0010000

#define PENDIN	0040000

#define IEXTEN	0100000

#define EXTPROC	0200000

/* tcflow() and TCXONC use these */

#define	TCOOFF		0

#define	TCOON		1

#define	TCIOFF		2

#define	TCION		3

/* tcflush() and TCFLSH use these */

#define	TCIFLUSH	0

#define	TCOFLUSH	1

#define	TCIOFLUSH	2

/* tcsetattr uses these */

#define	TCSANOW		0

#define	TCSADRAIN	1

#define	TCSAFLUSH	2

#endif /* __ASM_GENERIC_TERMBITS_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
arnd bergmannarnd bergmann71299.44%150.00%
howard chuhoward chu40.56%150.00%
Total716100.00%2100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}