⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 termios.h

📁 嵌入式系统设计与实例开发实验教材二源码 多线程应用程序设计 串行端口程序设计 AD接口实验 CAN总线通信实验 GPS通信实验 Linux内核移植与编译实验 IC卡读写实验 SD驱动使
💻 H
字号:
/* * BK Id: SCCS/s.termios.h 1.8 05/17/01 18:14:26 cort */#ifndef _PPC_TERMIOS_H#define _PPC_TERMIOS_H/* * Liberally adapted from alpha/termios.h.  In particular, the c_cc[] * fields have been reordered so that termio & termios share the * common subset in the same order (for brain dead programs that don't * know or care about the differences). */#include <asm/ioctls.h>#include <asm/termbits.h>struct sgttyb {	char	sg_ispeed;	char	sg_ospeed;	char	sg_erase;	char	sg_kill;	short	sg_flags;};struct tchars {	char	t_intrc;	char	t_quitc;	char	t_startc;	char	t_stopc;	char	t_eofc;	char	t_brkc;};struct ltchars {	char	t_suspc;	char	t_dsuspc;	char	t_rprntc;	char	t_flushc;	char	t_werasc;	char	t_lnextc;};#define FIOCLEX		_IO('f', 1)#define FIONCLEX	_IO('f', 2)#define FIOASYNC	_IOW('f', 125, int)#define FIONBIO		_IOW('f', 126, int)#define FIONREAD	_IOR('f', 127, int)#define TIOCINQ		FIONREAD#define FIOQSIZE	_IOR('f', 128, loff_t)#define TIOCGETP	_IOR('t', 8, struct sgttyb)#define TIOCSETP	_IOW('t', 9, struct sgttyb)#define TIOCSETN	_IOW('t', 10, struct sgttyb)	/* TIOCSETP wo flush */#define TIOCSETC	_IOW('t', 17, struct tchars)#define TIOCGETC	_IOR('t', 18, struct tchars)#define TCGETS		_IOR('t', 19, struct termios)#define TCSETS		_IOW('t', 20, struct termios)#define TCSETSW		_IOW('t', 21, struct termios)#define TCSETSF		_IOW('t', 22, struct termios)#define TCGETA		_IOR('t', 23, struct termio)#define TCSETA		_IOW('t', 24, struct termio)#define TCSETAW		_IOW('t', 25, struct termio)#define TCSETAF		_IOW('t', 28, struct termio)#define TCSBRK		_IO('t', 29)#define TCXONC		_IO('t', 30)#define TCFLSH		_IO('t', 31)#define TIOCSWINSZ	_IOW('t', 103, struct winsize)#define TIOCGWINSZ	_IOR('t', 104, struct winsize)#define	TIOCSTART	_IO('t', 110)		/* start output, like ^Q */#define	TIOCSTOP	_IO('t', 111)		/* stop output, like ^S */#define TIOCOUTQ        _IOR('t', 115, int)     /* output queue size */#define TIOCGLTC	_IOR('t', 116, struct ltchars)#define TIOCSLTC	_IOW('t', 117, struct ltchars)#define TIOCSPGRP	_IOW('t', 118, int)#define TIOCGPGRP	_IOR('t', 119, int)#define TIOCEXCL	0x540C#define TIOCNXCL	0x540D#define TIOCSCTTY	0x540E#define TIOCSTI		0x5412#define TIOCMGET	0x5415#define TIOCMBIS	0x5416#define TIOCMBIC	0x5417#define TIOCMSET	0x5418#define TIOCGSOFTCAR	0x5419#define TIOCSSOFTCAR	0x541A#define TIOCLINUX	0x541C#define TIOCCONS	0x541D#define TIOCGSERIAL	0x541E#define TIOCSSERIAL	0x541F#define TIOCPKT		0x5420#define TIOCNOTTY	0x5422#define TIOCSETD	0x5423#define TIOCGETD	0x5424#define TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */#define TIOCTTYGSTRUCT	0x5426  /* For debugging only */#define TIOCSERCONFIG	0x5453#define TIOCSERGWILD	0x5454#define TIOCSERSWILD	0x5455#define TIOCGLCKTRMIOS	0x5456#define TIOCSLCKTRMIOS	0x5457#define TIOCSERGSTRUCT	0x5458 /* For debugging only */#define TIOCSERGETLSR   0x5459 /* Get line status register */#define TIOCSERGETMULTI 0x545A /* Get multiport config  */#define TIOCSERSETMULTI 0x545B /* Set multiport config */#define TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */#define TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts *//* Used for packet mode */#define TIOCPKT_DATA		 0#define TIOCPKT_FLUSHREAD	 1#define TIOCPKT_FLUSHWRITE	 2#define TIOCPKT_STOP		 4#define TIOCPKT_START		 8#define TIOCPKT_NOSTOP		16#define TIOCPKT_DOSTOP		32struct winsize {	unsigned short ws_row;	unsigned short ws_col;	unsigned short ws_xpixel;	unsigned short ws_ypixel;};#define NCC 10struct termio {	unsigned short c_iflag;		/* input mode flags */	unsigned short c_oflag;		/* output mode flags */	unsigned short c_cflag;		/* control mode flags */	unsigned short c_lflag;		/* local mode flags */	unsigned char c_line;		/* line discipline */	unsigned char c_cc[NCC];	/* control characters */};/* 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#ifdef __KERNEL__/*                   ^C  ^\ del  ^U  ^D   1   0   0   0   0  ^W  ^R  ^Z  ^Q  ^S  ^V  ^U  */#define INIT_C_CC "\003\034\177\025\004\001\000\000\000\000\027\022\032\021\023\026\025" #endif/* modem lines */#define TIOCM_LE	0x001#define TIOCM_DTR	0x002#define TIOCM_RTS	0x004#define TIOCM_ST	0x008#define TIOCM_SR	0x010#define TIOCM_CTS	0x020#define TIOCM_CAR	0x040#define TIOCM_RNG	0x080#define TIOCM_DSR	0x100#define TIOCM_CD	TIOCM_CAR#define TIOCM_RI	TIOCM_RNG#define TIOCM_OUT1	0x2000#define TIOCM_OUT2	0x4000#define TIOCM_LOOP	0x8000/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */#define TIOCSER_TEMT    0x01	/* Transmitter physically empty *//* line disciplines */#define N_TTY		0#define N_SLIP		1#define N_MOUSE		2#define N_PPP		3#define N_STRIP		4#define N_AX25		5#define N_X25		6	/* X.25 async */#define N_6PACK		7#define N_MASC		8	/* Reserved for Mobitex module <kaz@cafe.net> */#define N_R3964		9	/* Reserved for Simatic R3964 module */#define N_PROFIBUS_FDL	10	/* Reserved for Profibus <Dave@mvhi.com> */#define N_IRDA		11	/* Linux IrDa - http://irda.sourceforge.net/ */#define N_SMSBLOCK	12	/* SMS block mode - for talking to GSM data cards about SMS messages */#define N_HDLC		13	/* synchronous HDLC */#define N_SYNC_PPP	14#define N_HCI		15  /* Bluetooth HCI UART */#ifdef __KERNEL__/* * Translate a "termio" structure into a "termios". Ugh. */#define SET_LOW_TERMIOS_BITS(termios, termio, x) { \	unsigned short __tmp; \	get_user(__tmp,&(termio)->x); \	(termios)->x = (0xffff0000 & (termios)->x) | __tmp; \}#define user_termio_to_kernel_termios(termios, termio) \({ \	SET_LOW_TERMIOS_BITS(termios, termio, c_iflag); \	SET_LOW_TERMIOS_BITS(termios, termio, c_oflag); \	SET_LOW_TERMIOS_BITS(termios, termio, c_cflag); \	SET_LOW_TERMIOS_BITS(termios, termio, c_lflag); \	copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \})/* * Translate a "termios" structure into a "termio". Ugh. */#define kernel_termios_to_user_termio(termio, termios) \({ \	put_user((termios)->c_iflag, &(termio)->c_iflag); \	put_user((termios)->c_oflag, &(termio)->c_oflag); \	put_user((termios)->c_cflag, &(termio)->c_cflag); \	put_user((termios)->c_lflag, &(termio)->c_lflag); \	put_user((termios)->c_line,  &(termio)->c_line); \	copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \})#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios))#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios))#endif	/* __KERNEL__ */#endif	/* _PPC_TERMIOS_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -