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

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

?? tty_ioctl.c

?? 適合linux的新手使用,很經(jīng)典,簡(jiǎn)單,方便.
?? C
字號(hào):
/* *  linux/kernel/chr_drv/tty_ioctl.c * *  (C) 1991  Linus Torvalds */#include <errno.h>#include <termios.h>#include <linux/sched.h>#include <linux/kernel.h>#include <linux/tty.h>#include <asm/io.h>#include <asm/segment.h>#include <asm/system.h>static unsigned short quotient[] = {	0, 2304, 1536, 1047, 857,	768, 576, 384, 192, 96,	64, 48, 24, 12, 6, 3};static void change_speed(struct tty_struct * tty){	unsigned short port,quot;	if (!(port = tty->read_q.data))		return;	quot = quotient[tty->termios.c_cflag & CBAUD];	cli();	outb_p(0x80,port+3);		/* set DLAB */	outb_p(quot & 0xff,port);	/* LS of divisor */	outb_p(quot >> 8,port+1);	/* MS of divisor */	outb(0x03,port+3);		/* reset DLAB */	sti();}static void flush(struct tty_queue * queue){	cli();	queue->head = queue->tail;	sti();}static void wait_until_sent(struct tty_struct * tty){	/* do nothing - not implemented */}static void send_break(struct tty_struct * tty){	/* do nothing - not implemented */}static int get_termios(struct tty_struct * tty, struct termios * termios){	int i;	verify_area(termios, sizeof (*termios));	for (i=0 ; i< (sizeof (*termios)) ; i++)		put_fs_byte( ((char *)&tty->termios)[i] , i+(char *)termios );	return 0;}static int set_termios(struct tty_struct * tty, struct termios * termios){	int i;	for (i=0 ; i< (sizeof (*termios)) ; i++)		((char *)&tty->termios)[i]=get_fs_byte(i+(char *)termios);	change_speed(tty);	return 0;}static int get_termio(struct tty_struct * tty, struct termio * termio){	int i;	struct termio tmp_termio;	verify_area(termio, sizeof (*termio));	tmp_termio.c_iflag = tty->termios.c_iflag;	tmp_termio.c_oflag = tty->termios.c_oflag;	tmp_termio.c_cflag = tty->termios.c_cflag;	tmp_termio.c_lflag = tty->termios.c_lflag;	tmp_termio.c_line = tty->termios.c_line;	for(i=0 ; i < NCC ; i++)		tmp_termio.c_cc[i] = tty->termios.c_cc[i];	for (i=0 ; i< (sizeof (*termio)) ; i++)		put_fs_byte( ((char *)&tmp_termio)[i] , i+(char *)termio );	return 0;}/* * This only works as the 386 is low-byt-first */static int set_termio(struct tty_struct * tty, struct termio * termio){	int i;	struct termio tmp_termio;	for (i=0 ; i< (sizeof (*termio)) ; i++)		((char *)&tmp_termio)[i]=get_fs_byte(i+(char *)termio);	*(unsigned short *)&tty->termios.c_iflag = tmp_termio.c_iflag;	*(unsigned short *)&tty->termios.c_oflag = tmp_termio.c_oflag;	*(unsigned short *)&tty->termios.c_cflag = tmp_termio.c_cflag;	*(unsigned short *)&tty->termios.c_lflag = tmp_termio.c_lflag;	tty->termios.c_line = tmp_termio.c_line;	for(i=0 ; i < NCC ; i++)		tty->termios.c_cc[i] = tmp_termio.c_cc[i];	change_speed(tty);	return 0;}int tty_ioctl(int dev, int cmd, int arg){	struct tty_struct * tty;	if (MAJOR(dev) == 5) {		dev=current->tty;		if (dev<0)			panic("tty_ioctl: dev<0");	} else		dev=MINOR(dev);	tty = dev + tty_table;	switch (cmd) {		case TCGETS:			return get_termios(tty,(struct termios *) arg);		case TCSETSF:			flush(&tty->read_q); /* fallthrough */		case TCSETSW:			wait_until_sent(tty); /* fallthrough */		case TCSETS:			return set_termios(tty,(struct termios *) arg);		case TCGETA:			return get_termio(tty,(struct termio *) arg);		case TCSETAF:			flush(&tty->read_q); /* fallthrough */		case TCSETAW:			wait_until_sent(tty); /* fallthrough */		case TCSETA:			return set_termio(tty,(struct termio *) arg);		case TCSBRK:			if (!arg) {				wait_until_sent(tty);				send_break(tty);			}			return 0;		case TCXONC:			return -EINVAL; /* not implemented */		case TCFLSH:			if (arg==0)				flush(&tty->read_q);			else if (arg==1)				flush(&tty->write_q);			else if (arg==2) {				flush(&tty->read_q);				flush(&tty->write_q);			} else				return -EINVAL;			return 0;		case TIOCEXCL:			return -EINVAL; /* not implemented */		case TIOCNXCL:			return -EINVAL; /* not implemented */		case TIOCSCTTY:			return -EINVAL; /* set controlling term NI */		case TIOCGPGRP:			verify_area((void *) arg,4);			put_fs_long(tty->pgrp,(unsigned long *) arg);			return 0;		case TIOCSPGRP:			tty->pgrp=get_fs_long((unsigned long *) arg);			return 0;		case TIOCOUTQ:			verify_area((void *) arg,4);			put_fs_long(CHARS(tty->write_q),(unsigned long *) arg);			return 0;		case TIOCINQ:			verify_area((void *) arg,4);			put_fs_long(CHARS(tty->secondary),				(unsigned long *) arg);			return 0;		case TIOCSTI:			return -EINVAL; /* not implemented */		case TIOCGWINSZ:			return -EINVAL; /* not implemented */		case TIOCSWINSZ:			return -EINVAL; /* not implemented */		case TIOCMGET:			return -EINVAL; /* not implemented */		case TIOCMBIS:			return -EINVAL; /* not implemented */		case TIOCMBIC:			return -EINVAL; /* not implemented */		case TIOCMSET:			return -EINVAL; /* not implemented */		case TIOCGSOFTCAR:			return -EINVAL; /* not implemented */		case TIOCSSOFTCAR:			return -EINVAL; /* not implemented */		default:			return -EINVAL;	}}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美高清视频不卡网| 日韩午夜精品电影| 国产成人综合精品三级| 亚洲同性gay激情无套| 欧美性一区二区| 91视视频在线直接观看在线看网页在线看| 亚洲va国产天堂va久久en| 成人欧美一区二区三区白人| 精品99久久久久久| 日韩一级二级三级精品视频| 色综合久久88色综合天天 | 国产精品福利一区| 久久精品一区八戒影视| 日韩一级高清毛片| 91麻豆精品国产91久久久| 色老汉av一区二区三区| 成人综合婷婷国产精品久久蜜臀| 卡一卡二国产精品 | 亚洲成人av资源| 中文字幕视频一区| 精品久久国产97色综合| 国产成人在线视频播放| 日本亚洲天堂网| 欧美极品另类videosde| 日韩视频一区二区在线观看| 免费人成在线不卡| 男人的天堂亚洲一区| 亚洲1区2区3区视频| 日本大胆欧美人术艺术动态| 蜜桃av一区二区在线观看| 经典三级视频一区| 韩国v欧美v亚洲v日本v| 大胆亚洲人体视频| 91美女片黄在线观看| 欧美三级欧美一级| 欧美成人精品3d动漫h| 国产亚洲制服色| 亚洲毛片av在线| 青青青伊人色综合久久| 国产美女精品一区二区三区| 成人午夜av影视| 在线亚洲一区二区| 91精品午夜视频| 欧美视频一区二区三区四区| 久久综合九色综合欧美就去吻| 日韩欧美一区二区不卡| 色呦呦网站一区| 亚洲人成在线观看一区二区| 亚洲精品乱码久久久久久| 国产精品视频免费| 日本一区二区动态图| 国产欧美日韩另类一区| 一区二区三区四区精品在线视频| 视频一区二区国产| 91浏览器在线视频| 91精品办公室少妇高潮对白| 成人免费在线播放视频| 日韩午夜在线观看| 亚洲精品自拍动漫在线| 蜜臀精品一区二区三区在线观看 | 中文字幕一区二区在线播放| 婷婷久久综合九色国产成人| 不卡高清视频专区| 欧美一区二区不卡视频| |精品福利一区二区三区| 国产毛片精品视频| 777亚洲妇女| 一个色在线综合| 国产福利一区二区三区视频在线 | 日韩欧美成人午夜| 亚洲一区二区五区| 色噜噜夜夜夜综合网| 欧美国产精品一区二区| 国产精品一区专区| 欧美刺激午夜性久久久久久久| 亚洲一区二区欧美激情| 91小视频在线观看| 中文字幕一区二区不卡| 极品尤物av久久免费看| 7777女厕盗摄久久久| 日韩高清不卡一区| 欧美嫩在线观看| 肉色丝袜一区二区| 欧美日韩国产精品成人| 日韩中文字幕91| 欧美夫妻性生活| 午夜精品aaa| 3d成人动漫网站| 开心九九激情九九欧美日韩精美视频电影| 精品视频免费在线| 天堂成人国产精品一区| 欧美一级久久久久久久大片| 蜜桃一区二区三区在线观看| 久久男人中文字幕资源站| 亚洲黄色尤物视频| 成人看片黄a免费看在线| 国产精品国产自产拍在线| 97久久人人超碰| 亚洲第一精品在线| 欧美一级片在线| 国产超碰在线一区| 18成人在线观看| 欧美精品1区2区3区| 精品亚洲免费视频| 国产精品护士白丝一区av| 色哟哟国产精品免费观看| 日韩不卡在线观看日韩不卡视频| 日韩一级高清毛片| 国产不卡在线播放| 一区二区三区久久久| 精品国产一区二区三区不卡 | 91精品蜜臀在线一区尤物| 国产成人小视频| 亚洲va欧美va人人爽| 国产午夜三级一区二区三| 色噜噜狠狠色综合中国| 久久国产精品99精品国产| 中文字幕在线一区| 欧美v日韩v国产v| 91亚洲国产成人精品一区二三| 免播放器亚洲一区| 亚洲人成人一区二区在线观看 | 一区二区三区在线视频观看58 | 久久成人麻豆午夜电影| 一区二区三区在线影院| 国产欧美日韩综合精品一区二区| 欧美午夜不卡在线观看免费| 国产69精品久久久久777| 另类专区欧美蜜桃臀第一页| 亚洲一区二区视频| 最新不卡av在线| 国产夜色精品一区二区av| 日韩黄色免费网站| 亚洲r级在线视频| 欧美激情综合五月色丁香小说| 欧美精品日日鲁夜夜添| 在线视频观看一区| 99久久精品99国产精品| 国产成人av电影免费在线观看| 日本欧美一区二区| 亚洲国产精品一区二区久久| 亚洲日本韩国一区| 国产精品福利影院| 国产精品久久久久久久久免费樱桃| 精品对白一区国产伦| 欧美一区二区三区不卡| 日韩欧美国产电影| 精品国产髙清在线看国产毛片| 这里只有精品视频在线观看| 欧美二区乱c少妇| 制服丝袜在线91| 日韩欧美黄色影院| 久久综合色之久久综合| 99九九99九九九视频精品| 日本午夜精品一区二区三区电影| 亚洲午夜免费电影| 国产精品毛片久久久久久| 欧美日韩国产123区| 9191成人精品久久| 日韩欧美亚洲一区二区| 精品国产一区二区三区忘忧草| www亚洲一区| 中文字幕av一区二区三区高 | 久久综合久久久久88| 久久久99免费| 国产精品丝袜91| 一区二区三区日韩欧美| 热久久一区二区| 国产成人免费高清| 91福利国产成人精品照片| 欧美蜜桃一区二区三区| 久久亚洲捆绑美女| 亚洲欧洲av色图| 青青草一区二区三区| 成人永久免费视频| 欧美美女一区二区| 国产欧美一区二区精品仙草咪| 亚洲美女一区二区三区| 另类专区欧美蜜桃臀第一页| 99热这里都是精品| 日韩欧美国产综合| 亚洲视频一区在线| 免费观看在线色综合| 久久久午夜精品理论片中文字幕| 久久精品一区二区三区四区| 亚洲一二三专区| 国产成人一区在线| 欧美日韩黄色一区二区| 国产精品灌醉下药二区| 久久99热国产| 7777精品伊人久久久大香线蕉的| 国产精品无人区| 韩国女主播一区| 欧美二区三区的天堂| 亚洲免费观看高清完整版在线观看熊 | 亚洲精品欧美综合四区| 国产一二三精品| 日韩一区二区三| 天天综合天天综合色| 色婷婷综合久久久中文字幕|