亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? tty.h

?? <Linux1.0核心游記>電子書(shū)+書(shū)后源碼+Linux1.0源碼
?? H
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
#define L_IEXTEN(tty)	_L_FLAG((tty),IEXTEN)/* * Where all of the state associated with a tty is kept while the tty * is open.  Since the termios state should be kept even if the tty * has been closed --- for things like the baud rate, etc --- it is * not stored here, but rather a pointer to the real state is stored * here.  Possible the winsize structure should have the same * treatment, but (1) the default 80x24 is usually right and (2) it's * most often used by a windowing system, which will set the correct * size each time the window is created or resized anyway. * IMPORTANT: since this structure is dynamically allocated, it must * be no larger than 4096 bytes.  Changing TTY_BUF_SIZE will change * the size of this structure, and it needs to be done with care. * 						- TYT, 9/14/92 */struct tty_struct {	struct termios *termios;	int pgrp;	int session;	unsigned char stopped:1, hw_stopped:1, packet:1, lnext:1;	unsigned char char_error:3;	unsigned char erasing:1;	unsigned char ctrl_status;	short line;	int disc;	int flags;	int count;	unsigned int column;	struct winsize winsize;	int  (*open)(struct tty_struct * tty, struct file * filp);	void (*close)(struct tty_struct * tty, struct file * filp);	void (*write)(struct tty_struct * tty);	int  (*ioctl)(struct tty_struct *tty, struct file * file,		    unsigned int cmd, unsigned long arg);	void (*throttle)(struct tty_struct * tty, int status);	void (*set_termios)(struct tty_struct *tty, struct termios * old);	void (*stop)(struct tty_struct *tty);	void (*start)(struct tty_struct *tty);	void (*hangup)(struct tty_struct *tty);	struct tty_struct *link;	unsigned char *write_data_ptr;	int write_data_cnt;	void (*write_data_callback)(void * data);	void * write_data_arg;	int readq_flags[TTY_BUF_SIZE/32];	int secondary_flags[TTY_BUF_SIZE/32];	int canon_data;	unsigned long canon_head;	unsigned int canon_column;	struct tty_queue read_q;	struct tty_queue write_q;	struct tty_queue secondary;	void *disc_data;};struct tty_ldisc {	int	flags;	/*	 * The following routines are called from above.	 */	int	(*open)(struct tty_struct *);	void	(*close)(struct tty_struct *);	int	(*read)(struct tty_struct * tty, struct file * file,			unsigned char * buf, unsigned int nr);	int	(*write)(struct tty_struct * tty, struct file * file,			 unsigned char * buf, unsigned int nr);		int	(*ioctl)(struct tty_struct * tty, struct file * file,			 unsigned int cmd, unsigned long arg);	int	(*select)(struct tty_struct * tty, struct inode * inode,			  struct file * file, int sel_type,			  struct select_table_struct *wait);	/*	 * The following routines are called from below.	 */	void	(*handler)(struct tty_struct *);};#define LDISC_FLAG_DEFINED	0x00000001/* * These are the different types of thottle status which can be sent * to the low-level tty driver.  The tty_io.c layer is responsible for * notifying the low-level tty driver of the following conditions: * secondary queue full, secondary queue available, and read queue * available.  The low-level driver must send the read queue full * command to itself, if it is interested in that condition. * * Note that the low-level tty driver may elect to ignore one or both * of these conditions; normally, however, it will use ^S/^Q or some * sort of hardware flow control to regulate the input to try to avoid * overflow.  While the low-level driver is responsible for all * receiving flow control, note that the ^S/^Q handling (but not * hardware flow control) is handled by the upper layer, in * copy_to_cooked.   */#define TTY_THROTTLE_SQ_FULL	1#define TTY_THROTTLE_SQ_AVAIL	2#define TTY_THROTTLE_RQ_FULL	3#define TTY_THROTTLE_RQ_AVAIL	4/* * This defines the low- and high-watermarks for the various conditions. * Again, the low-level driver is free to ignore any of these, and has * to implement RQ_THREHOLD_LW for itself if it wants it. */#define SQ_THRESHOLD_LW	16#define SQ_THRESHOLD_HW 768#define RQ_THRESHOLD_LW 16#define RQ_THRESHOLD_HW 768/* * These bits are used in the flags field of the tty structure. *  * So that interrupts won't be able to mess up the queues, * copy_to_cooked must be atomic with repect to itself, as must * tty->write.  Thus, you must use the inline functions set_bit() and * clear_bit() to make things atomic. */#define TTY_WRITE_BUSY 0#define TTY_READ_BUSY 1#define TTY_SQ_THROTTLED 2#define TTY_RQ_THROTTLED 3#define TTY_IO_ERROR 4#define TTY_SLAVE_CLOSED 5#define TTY_EXCLUSIVE 6/* * When a break, frame error, or parity error happens, these codes are * stuffed into the read queue, and the relevant bit in readq_flag bit * array is set. */#define TTY_BREAK	1#define TTY_FRAME	2#define TTY_PARITY	3#define TTY_OVERRUN	4#define TTY_WRITE_FLUSH(tty) tty_write_flush((tty))#define TTY_READ_FLUSH(tty) tty_read_flush((tty))extern void tty_write_flush(struct tty_struct *);extern void tty_read_flush(struct tty_struct *);/* Number of chars that must be available in a write queue before   the queue is awakened. */#define WAKEUP_CHARS (3*TTY_BUF_SIZE/4)extern struct tty_struct *tty_table[];extern struct termios *tty_termios[];extern struct termios *termios_locked[];extern int tty_check_write[];extern struct tty_struct * redirect;extern struct tty_ldisc ldiscs[];extern int fg_console;extern unsigned long video_num_columns;extern unsigned long video_num_lines;extern struct wait_queue * keypress_wait;#define TTY_TABLE_IDX(nr)	((nr) ? (nr) : (fg_console+1))#define TTY_TABLE(nr) 		(tty_table[TTY_TABLE_IDX(nr)])/*	intr=^C		quit=^|		erase=del	kill=^U	eof=^D		vtime=\0	vmin=\1		sxtc=\0	start=^Q	stop=^S		susp=^Z		eol=\0	reprint=^R	discard=^U	werase=^W	lnext=^V	eol2=\0*/#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\032\0\022\017\027\026\0"extern long rs_init(long);extern long lp_init(long);extern long con_init(long);extern long tty_init(long);extern void flush_input(struct tty_struct * tty);extern void flush_output(struct tty_struct * tty);extern void wait_until_sent(struct tty_struct * tty, int timeout);extern int check_change(struct tty_struct * tty, int channel);extern void stop_tty(struct tty_struct * tty);extern void start_tty(struct tty_struct * tty);extern int tty_register_ldisc(int disc, struct tty_ldisc *new_ldisc);extern int tty_read_raw_data(struct tty_struct *tty, unsigned char *bufp,			     int buflen);extern int tty_write_data(struct tty_struct *tty, char *bufp, int buflen,			  void (*callback)(void * data), void * callarg);extern int tty_ioctl(struct inode *, struct file *, unsigned int, unsigned long);extern int is_orphaned_pgrp(int pgrp);extern int is_ignored(int sig);extern int tty_signal(int sig, struct tty_struct *tty);extern void tty_hangup(struct tty_struct * tty);extern void tty_vhangup(struct tty_struct * tty);extern void tty_unhangup(struct file *filp);extern int tty_hung_up_p(struct file * filp);extern void do_SAK(struct tty_struct *tty);extern void disassociate_ctty(int priv);/* tty write functions */extern void rs_write(struct tty_struct * tty);extern void con_write(struct tty_struct * tty);/* serial.c */extern int  rs_open(struct tty_struct * tty, struct file * filp);/* pty.c */extern int  pty_open(struct tty_struct * tty, struct file * filp);/* console.c */extern int con_open(struct tty_struct * tty, struct file * filp);extern void update_screen(int new_console);extern void blank_screen(void);extern void unblank_screen(void);/* vt.c */extern int vt_ioctl(struct tty_struct *tty, struct file * file,		    unsigned int cmd, unsigned long arg);#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产三级| 欧美亚洲免费在线一区| 欧美日本在线一区| 欧美激情中文字幕一区二区| 亚洲aaa精品| 91丨porny丨首页| 久久久久久久久久电影| 日韩精品一卡二卡三卡四卡无卡| 成人激情校园春色| 精品国产乱码久久| 亚洲一区二区综合| 97精品电影院| 中文av一区二区| 国内精品久久久久影院色| 911精品国产一区二区在线| 亚洲色图20p| 成人精品免费网站| 久久午夜老司机| 美女视频黄 久久| 欧美三级日韩三级| 亚洲女子a中天字幕| 国产成人免费视频精品含羞草妖精| 欧美一区二区三区播放老司机| 夜夜爽夜夜爽精品视频| 色婷婷香蕉在线一区二区| 日本一区二区免费在线| 欧美羞羞免费网站| 中文字幕一区二区三区在线观看| 韩国午夜理伦三级不卡影院| 日韩一区二区三区高清免费看看 | 91精品1区2区| 中文字幕一区在线观看| 成人免费视频网站在线观看| 久久精品亚洲麻豆av一区二区 | 日本vs亚洲vs韩国一区三区二区| 色女孩综合影院| 一区二区在线看| 91啪九色porn原创视频在线观看| 国产精品视频第一区| www.欧美色图| 中文字幕乱码一区二区免费| 成人午夜精品一区二区三区| 国产欧美一区二区精品秋霞影院| 国产大陆亚洲精品国产| 中文幕一区二区三区久久蜜桃| 成人激情免费视频| 亚洲婷婷在线视频| 91视频国产资源| 一区二区三区视频在线看| 欧美日韩在线观看一区二区| 亚洲在线免费播放| 欧美欧美欧美欧美首页| 水蜜桃久久夜色精品一区的特点| 精品视频免费看| 日韩电影免费在线观看网站| 91精品国产高清一区二区三区| 日本伊人色综合网| 日韩免费高清电影| 国产一区福利在线| 国产色综合久久| 亚洲国产视频网站| 日韩一区二区三区电影在线观看 | 国产成人在线免费| 一区视频在线播放| 在线视频一区二区三| 日欧美一区二区| 日韩美一区二区三区| 国产在线播放一区二区三区| 国产精品视频观看| 欧美偷拍一区二区| 老司机精品视频线观看86| 久久精品欧美日韩精品| 色综合天天综合| 日韩中文字幕不卡| 精品国产1区二区| av中文字幕亚洲| 亚洲一区二区在线免费观看视频 | 欧美在线一二三| 麻豆视频观看网址久久| 亚洲国产高清aⅴ视频| 一本到一区二区三区| 石原莉奈一区二区三区在线观看| 久久日韩精品一区二区五区| 91尤物视频在线观看| 日韩 欧美一区二区三区| 国产日韩v精品一区二区| 在线影院国内精品| 久久69国产一区二区蜜臀| 国产精品久久久久久福利一牛影视| 色菇凉天天综合网| 久久成人久久爱| 一区二区在线看| 久久先锋影音av鲁色资源网| 在线视频一区二区三区| 国产在线播放一区二区三区| 亚洲与欧洲av电影| 久久久国产精品麻豆| 欧美日韩一区二区三区高清 | 午夜私人影院久久久久| 国产视频亚洲色图| 制服丝袜日韩国产| www.亚洲国产| 亚洲男人的天堂av| 97久久超碰国产精品电影| 麻豆高清免费国产一区| 亚洲男人的天堂网| 国产欧美一区二区精品性色超碰| 欧美精品日日鲁夜夜添| 成人sese在线| 美国十次综合导航| 亚洲影院免费观看| 亚洲国产精品二十页| 日韩美女在线视频| 欧美性大战久久久久久久蜜臀| 成人激情免费电影网址| 精品一区二区免费看| 亚洲一二三区在线观看| 亚洲欧洲成人自拍| ww亚洲ww在线观看国产| 欧美日韩成人综合在线一区二区| 97aⅴ精品视频一二三区| 国产一区二区三区免费观看| 日韩高清在线观看| 亚洲国产一区二区视频| 综合欧美一区二区三区| 久久亚洲精精品中文字幕早川悠里| 欧美手机在线视频| 92国产精品观看| 丁香婷婷综合激情五月色| 日本欧洲一区二区| 亚洲成av人片在线| 亚洲综合激情网| 亚洲欧洲99久久| 国产日韩精品一区二区三区在线| 日韩精品一区二区三区视频 | 国产91精品免费| 国产一区二区三区香蕉| 久久精品久久精品| 亚洲成人激情社区| 一区二区三区不卡在线观看| 亚洲欧洲成人自拍| 国产精品国产三级国产普通话蜜臀 | 久久久影院官网| 精品国产91亚洲一区二区三区婷婷| 欧美精品在线一区二区| 色综合一区二区| 91小视频在线观看| 成人av资源在线| 国产成人午夜高潮毛片| 国产精品88av| 精东粉嫩av免费一区二区三区| 视频在线观看一区| 日韩高清一区在线| 午夜av一区二区| 日韩va亚洲va欧美va久久| 日本大胆欧美人术艺术动态| 欧美aaa在线| 免费xxxx性欧美18vr| 蜜桃久久av一区| 麻豆91精品视频| 精品系列免费在线观看| 国产又粗又猛又爽又黄91精品| 国产在线观看一区二区| 国产精品小仙女| 不卡的电视剧免费网站有什么| 成人精品免费网站| 91免费观看国产| 91精品福利视频| 欧美猛男超大videosgay| 欧美精品日韩一区| 欧美大片免费久久精品三p | 欧美三级电影精品| 4hu四虎永久在线影院成人| 日韩一区二区电影| 久久精品一区二区三区不卡| 国产精品久久久久久久久图文区| 亚洲女人的天堂| 亚洲va欧美va人人爽午夜| 日韩av电影天堂| 国产精品一级片在线观看| 成人午夜免费av| 91国产福利在线| 日韩一区二区三区免费看| 久久久国产午夜精品| 成人欧美一区二区三区小说| 夜夜爽夜夜爽精品视频| 日本不卡一二三| 国产91综合网| 一本一道综合狠狠老| 欧美高清性hdvideosex| 精品国产区一区| 亚洲日穴在线视频| 天天影视网天天综合色在线播放 | 亚洲成人av中文| 国产专区综合网| 一本高清dvd不卡在线观看| 欧美一区二区视频在线观看2022| 久久久777精品电影网影网| 亚洲精品国久久99热| 日本vs亚洲vs韩国一区三区二区|