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

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

?? linux_serial.c

?? 嵌入式系統(tǒng)開發(fā) TOPPERS and JSP Kernel Release 1.3 TOPPERS = Toyohashi Open Platform for Embedded Real-Tim
?? C
字號:
/* *  TOPPERS/JSP Kernel *      Toyohashi Open Platform for Embedded Real-Time Systems/ *      Just Standard Profile Kernel *  *  Copyright (C) 2000,2001 by Embedded and Real-Time Systems Laboratory *                              Toyohashi Univ. of Technology, JAPAN *  *  懼淡螟侯涪莢は·Free Software Foundation によって給山されている  *  GNU General Public License の Version 2 に淡揭されている掘鳳か·笆 *  布の(1)×(4)の掘鳳を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェ *  アを猖恃したものを崔むˉ笆布票じ∷を蝗脫ˇ剩瀾ˇ猖恃ˇ浩芹邵∈笆布· *  網(wǎng)脫と鈣ぶ∷することを痰浸で釣滿するˉ *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で網(wǎng)脫する眷圭には·懼淡の螟侯 *      涪山績·この網(wǎng)脫掘鳳および布淡の痰瘦沮憚年が·そのままの妨でソ〖 *      スコ〖ド面に崔まれていることˉ *  (2) 塑ソフトウェアを浩網(wǎng)脫材墻なバイナリコ〖ド∈リロケ〖タブルオブ *      ジェクトファイルやライブラリなど∷の妨で網(wǎng)脫する眷圭には·網(wǎng)脫 *      に燃うドキュメント∈網(wǎng)脫莢マニュアルなど∷に·懼淡の螟侯涪山績· *      この網(wǎng)脫掘鳳および布淡の痰瘦沮憚年を非很することˉ *  (3) 塑ソフトウェアを浩網(wǎng)脫稍材墻なバイナリコ〖ドの妨または怠達に寥 *      み哈んだ妨で網(wǎng)脫する眷圭には·肌のいずれかの掘鳳を塔たすことˉ *    (a) 網(wǎng)脫に燃うドキュメント∈網(wǎng)脫莢マニュアルなど∷に·懼淡の螟侯 *        涪山績·この網(wǎng)脫掘鳳および布淡の痰瘦沮憚年を非很することˉ *    (b) 網(wǎng)脫の妨輪を·侍に年める數(shù)恕によって·懼淡螟侯涪莢に鼠桂する *        ことˉ *  (4) 塑ソフトウェアの網(wǎng)脫により木儡弄または粗儡弄に欄じるいかなる祿 *      巢からも·懼淡螟侯涪莢を倘勒することˉ *  *  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ懼淡螟侯涪莢は· *  塑ソフトウェアに簇して·その努脫材墻拉も崔めて·いかなる瘦沮も乖わ *  ないˉまた·塑ソフトウェアの網(wǎng)脫により木儡弄または粗儡弄に欄じたい *  かなる祿巢に簇しても·その勒扦を砷わないˉ *  *  @(#) $Id: linux_serial.c,v 1.6 2002/04/08 05:30:13 hiro Exp $ */#define _LINX_SERIAL_#include <jsp_services.h>#include <signal.h>#include <termios.h>#include <fcntl.h>#include <errno.h>#undef __USE_MISC #include <unistd.h>#include <linux_sigio.h>#include "kernel_id.h"#include "sys_config.h"/* *  シリアルポ〖トの你レベル年盜 */typedef struct hardware_serial_port_descripter {	char   *path;		            /* UNIX 懼でのファイル嘆 */	int	   fd;		                /* ファイルディスクリプタ */	struct termios	current_term;	/* 眉瑣擴告攫鼠 */	struct termios	saved_term;    } HWPORT;#define NUM_PORT	1#define RAWPORT1	{ 0 }/* *  UNIX レベルのポ〖ト介袋步/シャットダウン借妄 * *  附哼の悸劉では·眉瑣を蝗うケ〖スしか雇えていないˉ塑丸は·open し *  たのが眉瑣かどうかで借妄を恃えるべきˉ */Inline voidhw_port_initialize(HWPORT *p){	if (p->path) {		p->fd = open(p->path, O_RDWR|O_NDELAY);	}	else {		p->fd = 0;			/* 篩潔掐叫蝸を蝗う */	}	fcntl(p->fd, F_SETOWN, getpid());	fcntl(p->fd, F_SETFL, FASYNC|FNDELAY);            tcgetattr(p->fd, &(p->saved_term));    	p->current_term = p->saved_term;    p->current_term.c_lflag &= ~(ECHO);    p->current_term.c_lflag &= ~(ICANON);    p->current_term.c_cc[VMIN] = 1;    p->current_term.c_cc[VTIME] = 0;        tcsetattr(p->fd, TCSAFLUSH, &(p->current_term));}Inline voidhw_port_terminate(HWPORT *p){    tcsetattr(p->fd, TCSAFLUSH, &(p->saved_term));	fcntl(p->fd, F_SETFL, 0);	if (p->path) {		close(p->fd);	}}/* *  シリアルインタフェ〖スドライバ脫の SIGIO 奶夢イベントブロック */static SIGIOEB	serial_sigioeb;/* *  シリアルポ〖ト瓷妄ブロックの年盜 */typedef struct ioctl_descripter {	int	echo;	int	input;	int	newline;	int	flowc;} IOCTL;#define	SERIAL_BUFSZ	256	/* シリアルインタフェ〖ス脫バッファのサイズ */#define	inc(x)		(((x)+1 < SERIAL_BUFSZ) ? (x)+1 : 0)#define	INC(x)		((x) = inc(x))typedef struct serial_port_control_block {	BOOL	init_flag;	/* 介袋步貉か々 */	HWPORT	hwport;		/* ハ〖ドウェア巴賂攫鼠 */	ID	in_semid;	/* 減慨バッファ瓷妄脫セマフォの ID */	ID	out_semid;	/* 流慨バッファ瓷妄脫セマフォの ID */	int	in_read_ptr;	/* 減慨バッファ粕み叫しポインタ */	int	in_write_ptr;	/* 減慨バッファ今き哈みポインタ */	int	out_read_ptr;	/* 流慨バッファ粕み叫しポインタ */	int	out_write_ptr;	/* 流慨バッファ今き哈みポインタ */	UINT	ioctl;		/* ioctl による肋年柒推 */	BOOL	send_enabled;	/* 流慨をイネ〖ブルしてあるか々 */	BOOL	ixon_stopped;	/* STOP を減け艱った覺輪か々 */	BOOL	ixoff_stopped;	/* 陵緘に STOP を流った覺輪か々 */	char	ixoff_send;	/* 陵緘に START/STOP を流るか々 */	char	in_buffer[SERIAL_BUFSZ];	/* 減慨バッファエリア */	char	out_buffer[SERIAL_BUFSZ];	/* 減慨バッファエリア */} SPCB;#define	IN_BUFFER_EMPTY(spcb) \		((spcb)->in_read_ptr == (spcb)->in_write_ptr)#define	IN_BUFFER_FULL(spcb) \		((spcb)->in_read_ptr == inc((spcb)->in_write_ptr))#define	OUT_BUFFER_FULL(spcb) \		((spcb)->out_read_ptr == inc((spcb)->out_write_ptr))/* *  モジュ〖ル柒で蝗う簇眶 */static void	sigint_handler();static BOOL	serial_getc(SPCB *spcb, char *c);static BOOL	serial_putc(SPCB *spcb, char c);/* *  シリアルポ〖ト瓷妄ブロックの年盜と介袋步 */static SPCB spcb_table[NUM_PORT] = {    {0, RAWPORT1, SEM_SERIAL1_IN, SEM_SERIAL1_OUT }};#define get_spcb(portid)	(&(spcb_table[(portid)-1]))#define get_spcb_def(portid)	get_spcb((portid) ? (portid) : CONSOLE_PORTID)/* *  ポ〖トの介袋步 */intserial_open(ID portid){    SPCB	*spcb;	ER	ercd = E_OK;;	if (!(1 <= portid && portid <= NUM_PORT)) {		return(E_PAR);	}	spcb = get_spcb(portid);	/*	 *  剩眶のタスクが票箕に serial_open を鈣ぶ覺斗には灤炳してい	 *  ないˉ	 */	if (spcb->init_flag) {		/* 介袋步貉かのチェック */		return(E_OK);	}	/*	 *  恃眶の介袋步	 */	spcb->in_read_ptr = spcb->in_write_ptr = 0;	spcb->out_read_ptr = spcb->out_write_ptr = 0;	spcb->ixon_stopped = spcb->ixoff_stopped = FALSE;	spcb->ixoff_send = 0;	/*	 *  ハ〖ドウェア巴賂の介袋步	 */	hw_port_initialize(&(spcb->hwport));        	/* 	 *  プロセスを姜位させるシグナルを梳まえる         *  sigaction()で今き木した數(shù)がいいのか?	 */	signal(SIGHUP, sigint_handler);	signal(SIGINT, sigint_handler);	signal(SIGTERM, sigint_handler);            spcb->init_flag = TRUE;	spcb->send_enabled = FALSE;	return(ercd);}/* *  ポ〖トのシャットダウン * *  flush が TRUE の眷圭は·シリアルポ〖トへの流慨バッファが鄂になるま *  で略つˉ */#define	MAX_FLUSH_LOOP	1000000intserial_close(ID portid, int flush){	SPCB	*spcb;	int	i;	if (!(1 <= portid && portid <= NUM_PORT)) {		return(E_PAR);		/* ポ〖ト戎規(guī)のチェック */	}	spcb = get_spcb(portid);	if (!(spcb->init_flag)) {	/* 介袋步貉かのチェック */		return(E_OBJ);	}	/*	 *  バッファのフラッシュ借妄	 */	if (flush) {		for (i = 0; i < MAX_FLUSH_LOOP; i++) {			if (spcb->out_write_ptr == spcb->out_read_ptr) {				break;			}		}	}	/*	 *  ハ〖ドウェア巴賂のシャットダウン借妄	 */	syscall(loc_cpu());	hw_port_terminate(&(spcb->hwport));	syscall(unl_cpu());	spcb->init_flag = FALSE;	return(E_OK);}/* *  プロセスを姜位させるシグナルに灤するハンドラ */voidsigint_handler(){	SPCB	*spcb;	int	i;	for (i = 1; i <= NUM_PORT; i++) {		spcb = get_spcb(i);		if (spcb->init_flag) {			hw_port_terminate(&(spcb->hwport));		}	}	exit(0);}/* *  フロ〖コントロ〖ル簇犯の年盜 */#define	STOP	'\023'		/* Control-S */#define	START	'\021'		/* Control-Q */#define	IXOFF_STOP	64	/* buffer area size to send STOP */#define	IXOFF_START	128	/* buffer area size to send START */#define	in_buf_area(p)							\		((spcb->in_read_ptr >= spcb->in_write_ptr) ?		\		 (spcb->in_read_ptr - spcb->in_write_ptr) :		\		 (spcb->in_read_ptr + SERIAL_BUFSZ - spcb->in_write_ptr))/* *  ユ〖ティリティル〖チン */Inline BOOLread_char(SPCB *spcb, char *c){	int	n;	if ((n = read(spcb->hwport.fd, c, 1)) == 1) {		return(1);	}	assert(n < 0 && errno == EWOULDBLOCK);	return(0);}Inline BOOLwrite_char(SPCB *spcb, char c){	int	n;	if ((n = write(spcb->hwport.fd, &c, 1)) == 1) {		return(1);	}	assert(n < 0 && errno == EWOULDBLOCK);	return(0);}/* *  シリアルポ〖トからの減慨 */static BOOLserial_getc(SPCB *spcb, char *c){	BOOL	buffer_empty;	syscall(loc_cpu());	*c = spcb->in_buffer[spcb->in_read_ptr];        if (inc(spcb->in_write_ptr) == spcb->in_read_ptr) {            /*             *  バッファフル覺輪が豺近されたら、充り哈みが掐ったのと             *  票じ慷る神いをさせる。             */            kill(getpid(), SIGIO);        }        	INC(spcb->in_read_ptr);    if (*c == '\r' && (spcb->ioctl & IOCTL_RAW) == 0) {		*c = '\n';	}	if (spcb->ixoff_stopped && (in_buf_area(spcb) > IXOFF_START)) {		if (!write_char(spcb, START)) {			spcb->ixoff_send = START;		}		spcb->ixoff_stopped = FALSE;	}	buffer_empty = IN_BUFFER_EMPTY(spcb);	syscall(unl_cpu());	return(buffer_empty);}intserial_read(int portid, char *buf, unsigned int len){    	SPCB	*spcb;	BOOL	buffer_empty;	char	c;	int	i;	if (sns_dpn()) {		/* コンテキストのチェック */		return(E_CTX);	}	if (!(0 <= portid && portid <= NUM_PORT)) {		return(E_PAR);		/* ポ〖ト戎規(guī)のチェック */	}	spcb = get_spcb_def(portid);	if (!(spcb->init_flag)) {	/* 介袋步貉かのチェック */		return(E_OBJ);	}	if (len == 0) {		return(len);	}	syscall(wai_sem(spcb->in_semid));	buffer_empty = FALSE;	for (i = 0; i < len; i++) {		buffer_empty = serial_getc(spcb, &c);        if ((spcb->ioctl & IOCTL_ECHO) != 0) {			syscall(wai_sem(spcb->out_semid));			if (!serial_putc(spcb, c)) {				syscall(sig_sem(spcb->out_semid));			}		}		*buf++ = c;        if ((spcb->ioctl & IOCTL_RAW) != 0                            || ((spcb->ioctl & IOCTL_CANONICAL) != 0                                && c == '\n')) {			len = i + 1;			break;		}		if (buffer_empty && i < len - 1) {			syscall(wai_sem(spcb->in_semid));		}	}	if (!buffer_empty) {		syscall(sig_sem(spcb->in_semid));	}	return(len);}/* * シリアルポ〖トへの流慨 */static BOOLserial_putc(SPCB *spcb, char c){	BOOL	buffer_full;    if (c == '\n' && (spcb->ioctl & IOCTL_CRLF) != 0) {		if (serial_putc(spcb, '\r')) {			syscall(wai_sem(spcb->out_semid));		}	}	syscall(loc_cpu());	if (!(spcb->ixon_stopped) && write_char(spcb, c)) {		buffer_full = FALSE;	}	else {		spcb->out_buffer[spcb->out_write_ptr] = c;		INC(spcb->out_write_ptr);		buffer_full = OUT_BUFFER_FULL(spcb);	}	syscall(unl_cpu());	return(buffer_full);}ER_UINTserial_write(ID portid, char *buf, unsigned int len){	SPCB	*spcb;	BOOL	buffer_full;	int	i;	if (sns_dpn()) {		/* コンテキストのチェック */		return(E_CTX);	}	if (!(0 <= portid && portid <= NUM_PORT)) {		return(E_PAR);		/* ポ〖ト戎規(guī)のチェック */	}	spcb = get_spcb_def(portid);	if (!(spcb->init_flag)) {	/* 介袋步貉かのチェック */		return(E_OBJ);	}	syscall(wai_sem(spcb->out_semid));	buffer_full = FALSE;	for (i = 0; i < len; i++) {		buffer_full = serial_putc(spcb, *buf++);		if (buffer_full && i < len - 1) {			syscall(wai_sem(spcb->out_semid));		}	}	if (!buffer_full) {		syscall(sig_sem(spcb->out_semid));	}	return(len);}/* *  シリアルポ〖トの擴告 */intserial_ioctl(ID portid, UINT ioctl){	SPCB	*spcb;	if (sns_ctx()) {		/* コンテキストのチェック */		return(E_CTX);	}	if (!(0 <= portid && portid <= NUM_PORT)) {		return(E_PAR);		/* ポ〖ト戎規(guī)のチェック */	}	spcb = get_spcb_def(portid);	if (!(spcb->init_flag)) {	/* 介袋步貉かのチェック */		return(E_OBJ);	}    spcb->ioctl = ioctl;    return(E_OK);}/* *  シリアルポ〖ト充哈みハンドラ */static BOOLserial_int_handler(ID portid){	SPCB	*spcb;	BOOL	flag;	char	c;	spcb = get_spcb(portid);	flag = 0;	/*	 *  1矢機減慨借妄	 *	 *  まず·バッファフルでない眷圭に·1矢機粕んでみるˉ粕めれば·	 *  それに炳じた借妄を乖うˉ	 */	if (inc(spcb->in_write_ptr) != spcb->in_read_ptr            && read_char(spcb, &c)) {		if ((spcb->ioctl & IOCTL_IXON) != 0 && c == STOP) {			spcb->ixon_stopped = TRUE;		}        else if (((spcb->ioctl & IOCTL_IXON) != 0 || spcb->ixon_stopped)                                 && (c == START || (spcb->ioctl & IOCTL_IXANY) != 0)) {			spcb->ixon_stopped = FALSE;		}		else {			spcb->in_buffer[spcb->in_write_ptr] = c;                        if(spcb->in_read_ptr == spcb->in_write_ptr){                            syscall(sig_sem(spcb->in_semid));                        }                        			INC(spcb->in_write_ptr);                        			if ((spcb->ioctl & IOCTL_IXOFF) != 0 && !(spcb->ixoff_stopped)					&& (in_buf_area(p) < IXOFF_STOP)) {				spcb->ixoff_stopped = TRUE;				spcb->ixoff_send = STOP;			}		}		flag = 1;	}	/*	 *  1矢機流慨借妄	 */	if (spcb->ixoff_send) {		if (write_char(spcb, spcb->ixoff_send)) {			spcb->ixoff_send = 0;			flag = 1;		}	}	else if (!(spcb->ixon_stopped)                      && spcb->out_read_ptr != spcb->out_write_ptr) {		if (write_char(spcb, spcb->out_buffer[spcb->out_read_ptr])) {                    if(OUT_BUFFER_FULL(spcb)){			syscall(isig_sem(spcb->out_semid));                    }                    INC(spcb->out_read_ptr);                                            flag = 1;		}	}	return(flag);}/* *  SIGIO コ〖ルバックル〖チン */static BOOLserial_sigio_callback(VP arg){	BOOL	flag;	do {		syscall(loc_cpu());		flag = serial_int_handler(1);		syscall(unl_cpu());	} while (flag);	return(0);}/* *  シリアルインタフェ〖スドライバの彈瓢 */voidserial_initialize(VP_INT portid){	syscall(serial_open((ID) portid));	serial_sigioeb.callback = serial_sigio_callback;	serial_sigioeb.arg = (VP) 0;	syscall(enqueue_sigioeb_initialize(&serial_sigioeb));	syslog_1(LOG_NOTICE, "Serial driver service starts on port %d.\r",		 portid);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色一情一乱一乱一91av| 亚洲成av人片在线| 成人一道本在线| 国产欧美日本一区二区三区| 国产盗摄精品一区二区三区在线| 国产亚洲一区字幕| 波多野结衣精品在线| 亚洲欧洲成人自拍| 在线观看欧美黄色| 美女一区二区视频| 国产清纯白嫩初高生在线观看91| 成人精品电影在线观看| 成人欧美一区二区三区视频网页 | 成人一级片在线观看| 国产精品传媒视频| 欧美日韩日日骚| 精品午夜一区二区三区在线观看| 久久久久久电影| 色综合久久精品| 美腿丝袜一区二区三区| 久久九九国产精品| 色久优优欧美色久优优| 日本不卡视频在线观看| 亚洲欧美在线高清| 欧美精品aⅴ在线视频| 九色综合狠狠综合久久| 国产欧美精品在线观看| 欧美日韩精品欧美日韩精品一| 美女一区二区久久| 亚洲女与黑人做爰| 精品国产乱子伦一区| 波多野结衣在线一区| 午夜精品爽啪视频| 国产精品乱人伦中文| 777欧美精品| av爱爱亚洲一区| 久久国产尿小便嘘嘘| 亚洲欧美日韩一区二区三区在线观看| 7777精品伊人久久久大香线蕉完整版 | 99精品欧美一区二区三区综合在线| 亚洲精品乱码久久久久久日本蜜臀| 欧美美女一区二区在线观看| 国产精品1区二区.| 日韩电影在线一区| 中文字幕欧美一区| 久久久久久免费网| 制服丝袜中文字幕亚洲| 91色视频在线| 国产ts人妖一区二区| 美腿丝袜在线亚洲一区| 亚洲综合自拍偷拍| 国产精品丝袜一区| 久久精品亚洲国产奇米99| 91精品午夜视频| 欧美性感一类影片在线播放| 成人免费毛片app| 黄色精品一二区| 蜜臀久久99精品久久久久宅男| 亚洲伦理在线免费看| 国产精品二三区| 欧美国产激情一区二区三区蜜月 | 色综合视频在线观看| 国产成人av一区二区| 另类欧美日韩国产在线| 天堂久久久久va久久久久| 美女国产一区二区三区| 亚洲永久免费av| 一区二区国产盗摄色噜噜| 中文子幕无线码一区tr| 久久久久久久久久久久电影| 日韩视频永久免费| 日韩一区国产二区欧美三区| 欧美日韩一区国产| 欧美日韩国产一级| 欧美另类z0zxhd电影| 欧美精品乱码久久久久久按摩 | 国产乱子伦一区二区三区国色天香| 日韩不卡一二三区| 免费成人结看片| 免费精品视频在线| 黄网站免费久久| 粉嫩一区二区三区在线看| 国产精品18久久久久久久网站| 国产一区二区三区久久久 | 中文字幕成人网| 中文字幕一区二区三区在线不卡| 欧美国产丝袜视频| 综合欧美一区二区三区| 亚洲精品自拍动漫在线| 亚洲一区二区三区爽爽爽爽爽| 亚洲综合一区二区精品导航| 亚洲一区二区在线免费观看视频| 一区二区三区欧美激情| 亚洲一区二区黄色| 蜜桃视频一区二区三区在线观看| 另类综合日韩欧美亚洲| 国产在线精品一区二区夜色| 国内精品嫩模私拍在线| 国产白丝精品91爽爽久久| av电影在线观看一区| 在线免费观看视频一区| 91精品综合久久久久久| 26uuu久久综合| 国产精品久久看| 舔着乳尖日韩一区| 国产老女人精品毛片久久| 99精品在线免费| 欧美日韩国产123区| 久久综合国产精品| 亚洲精品免费一二三区| 日本成人在线看| 波多野结衣视频一区| 91精品在线观看入口| 国产欧美精品区一区二区三区| 亚洲视频免费在线观看| 老司机精品视频导航| av综合在线播放| 欧美一区二区免费| 亚洲丝袜精品丝袜在线| 丝袜亚洲精品中文字幕一区| 狠狠色综合色综合网络| 91免费国产在线观看| 精品国精品自拍自在线| 亚洲精品视频免费看| 九九精品视频在线看| 色一情一伦一子一伦一区| 亚洲视频一区二区在线| 蜜桃视频一区二区三区 | 国产精品国产馆在线真实露脸| 视频一区国产视频| 99在线精品一区二区三区| 欧美精品第1页| 亚洲免费在线播放| 国产·精品毛片| 日韩欧美中文字幕制服| 亚洲三级视频在线观看| 国内久久精品视频| 欧美日韩色一区| 亚洲欧洲精品一区二区精品久久久 | 亚洲色图视频网站| 精品亚洲porn| 欧美一区二区精品久久911| 中文字幕一区免费在线观看| 久久国产精品第一页| 欧美日韩国产一级| 亚洲精品成人少妇| 成人av网址在线观看| 久久久久久亚洲综合影院红桃 | 久久精品国产99| 欧美日韩久久久久久| 亚洲卡通动漫在线| 成人国产精品免费网站| 2017欧美狠狠色| 久久国产精品99精品国产| 欧美日韩不卡视频| 亚洲国产精品欧美一二99| 91福利精品视频| 亚洲激情在线播放| 在线观看www91| 亚洲黄色免费网站| 色老头久久综合| 亚洲嫩草精品久久| 色综合久久久网| 亚洲靠逼com| 欧美伊人精品成人久久综合97| 国产精品久久久久三级| 成人午夜私人影院| 国产精品成人在线观看| av在线不卡电影| 亚洲黄色片在线观看| 欧美主播一区二区三区| 无码av中文一区二区三区桃花岛| 色综合一区二区| 亚洲bt欧美bt精品| 日韩一区二区在线看片| 成人手机电影网| 国产精品国产三级国产aⅴ入口| 岛国精品在线播放| 亚洲美女精品一区| 欧美日韩国产三级| 美女mm1313爽爽久久久蜜臀| 精品国产伦一区二区三区免费 | 国产91丝袜在线播放九色| 国产欧美一区二区精品婷婷 | 日本精品一区二区三区高清 | 日本在线播放一区二区三区| 日韩免费一区二区三区在线播放| 久久99精品久久久| 国产精品欧美久久久久一区二区| 不卡影院免费观看| 一区二区三区日韩精品视频| 7777精品久久久大香线蕉| 精品一区二区三区不卡| 国产日韩av一区二区| 91老师片黄在线观看| 日韩国产高清影视| 国产精品系列在线| 欧美视频第二页| 国产中文字幕精品| 亚洲精品中文在线观看|