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

📄 tty.h

📁 著名的AT&T UNIX v6 源码
💻 H
字号:
/* * A clist structure is the head * of a linked list queue of characters. * The characters are stored in 4-word * blocks containing a link and several characters. * The routines getc and putc * manipulate these structures. */struct clist{	int	c_cc;		/* character count */	char	*c_cf;		/* pointer to first char */	char	*c_cl;		/* pointer to last char */};/* * A tty structure is needed for * each UNIX character device that * is used for normal terminal IO. * The routines in tty.c handle the * common code associated with * these structures. * The definition and device dependent * code is in each driver. (kl.c dc.c dh.c) */struct tty{	struct	clist t_rawq;	/* input chars right off device */	struct	clist t_canq;	/* input chars after erase and kill */	struct	clist t_outq;	/* output list to device */	int	(* t_oproc)();	/* routine to start output */	int	(* t_iproc)();	/* routine to start input */	struct chan *t_chan;	/* destination channel */	caddr_t	t_linep;	/* aux line discipline pointer */	caddr_t	t_addr;		/* device address */	short	t_flags;	/* mode, settable by ioctl call */	short	t_state;	/* internal state, not visible externally */	short	t_pgrp;		/* process group name */	char	t_delct;	/* number of delimiters in raw q */	char	t_line;		/* line discipline */	char	t_col;		/* printing column of device */	char	t_erase;	/* erase character */	char	t_kill;		/* kill character */	char	t_char;		/* character temporary */	char	t_ispeed;	/* input speed */	char	t_ospeed;	/* output speed */};/* * structure of arg for ioctl */struct	ttiocb {	char	ioc_ispeed;	char	ioc_ospeed;	char	ioc_erase;	char	ioc_kill;	int	ioc_flags;};#define	TTIPRI	28#define	TTOPRI	29#define	CERASE	'#'		/* default special characters */#define	CEOT	004#define	CKILL	'@'#define	CQUIT	034		/* FS, cntl shift L */#define	CINTR	0177		/* DEL */#define	CSTOP	023		/* Stop output: ctl-s */#define	CSTART	021		/* Start output: ctl-q *//* limits */#define	TTHIWAT	100#define	TTLOWAT	50#define	TTYHOG	256/* modes */#define	TANDEM	01#define	CBREAK	02#define	LCASE	04#define	ECHO	010#define	CRMOD	020#define	RAW	040#define	ODDP	0100#define	EVENP	0200#define	NLDELAY	001400#define	TBDELAY	006000#define	XTABS	006000#define	CRDELAY	030000#define	VTDELAY	040000/* Hardware bits */#define	DONE	0200#define	IENABLE	0100/* Internal state bits */#define	TIMEOUT	01		/* Delay timeout in progress */#define	WOPEN	02		/* Waiting for open to complete */#define	ISOPEN	04		/* Device is open */#define	CARR_ON	020		/* Software copy of carrier-present */#define	BUSY	040		/* Output in progress */#define	ASLEEP	0100		/* Wakeup when output done */#define	XCLUDE	0200		/* exclusive-use flag against open */#define	TTSTOP	0400		/* Output stopped by ctl-s */#define	HUPCLS	01000		/* Hang up upon last close */#define	TBLOCK	02000		/* tandem queue blocked *//* * tty ioctl commands */#define	TIOCGETD	(('t'<<8)|0)#define	TIOCSETD	(('t'<<8)|1)#define	TIOCHPCL	(('t'<<8)|2)#define	TIOCMODG	(('t'<<8)|3)#define	TIOCMODS	(('t'<<8)|4)#define	TIOCGETP	(('t'<<8)|8)#define	TIOCSETP	(('t'<<8)|9)#define	TIOCSETN	(('t'<<8)|10)#define	TIOCEXCL	(('t'<<8)|13)#define	TIOCNXCL	(('t'<<8)|14)#define	TIOCTSTP	(('t'<<8)|16)#define	DIOCLSTN	(('d'<<8)|1)#define	DIOCGETP	(('d'<<8)|8)#define	DIOCSETP	(('d'<<8)|9)#define	FIOCLEX		(('f'<<8)|1)#define	FIONCLEX	(('f'<<8)|2)#define	MXLSTN		(('x'<<8)|1)#define	MXNBLK		(('x'<<8)|2)

⌨️ 快捷键说明

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