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

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

?? mcci_usb.c

?? UsbToRS232.tar.gz USB To RS232 Converter Source
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*Copyright (c) 2005 MCCI    This program is free software; you can redistribute it and/or modify    it under the terms of the GNU General Public License as published by    the Free Software Foundation; either version 2 of the License, or    (at your option) any later version.    This program is distributed in the hope that it will be useful,    but WITHOUT ANY WARRANTY; without even the implied warranty of    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    GNU General Public License for more details.    You should have received a copy of the GNU General Public License    along with this program; if not, write to the Free Software    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#include <linux/config.h>#include <linux/module.h>#include <linux/errno.h>#include <linux/signal.h>#include <linux/sched.h>#include <linux/timer.h>#include <linux/interrupt.h>#include <linux/tty.h>#include <linux/tty_driver.h>#include <linux/tty_flip.h>#include <linux/major.h>#include <linux/string.h>#include <linux/fcntl.h>#include <linux/ptrace.h>#include <linux/mm.h>#include <linux/slab.h>#include <linux/init.h>#include <linux/delay.h>#include <linux/spinlock.h>#include <linux/usb.h>#include <linux/proc_fs.h>#include <asm/uaccess.h>static int debug = 0;#include "usb-serial.h"#include "vspwire.h"#include "vspctlda.h"#if 0#define l111110100   (0x10c4)#define l111110101   (0xea60)#define l111110110   (1)#endif#define O111110111   (024)#ifdef O111111000#define O111111001( l111111010 )   if (verbose) { (l111111010); };#else#define O111111001( l111111010 )  #endif#define BAUD_CLK   (0x384000)structO111111011 { 	struct usb_serial_port * l111111100; 	int l111111101; 	int O111111110; 	int O111111111;};static int l1000000000 ( struct usb_serial_port * l1000000001,struct file * l1000000010 );static void O1000000011 ( struct usb_serial_port * l1000000001, struct file * l1000000010 );static int l1000000100 ( struct usb_serial_port * l1000000001, struct file * l1000000010 , unsigned int l1000000101, unsigned long O1000000110);static void l1000000111 ( struct usb_serial_port * l1000000001 , struct termios * O1000001000 );static void O1000001001 ( struct usb_serial_port * l1000000001 , int l1000001010 );static int O1000001011 ( struct usb_serial * l1000001100 );static void O1000001101 ( struct usb_serial * l1000001100 );int l1000001110 ( char * O1000001111, int size, char * format , ... );int O1000010000 ( char * O1000010001, char ** O1000010010, off_t l1000010011, int O1000010100, int * O1000010101, void * l1000010110 );static int mcci_vsp_setdtrrts ( struct O111111011 * l1000010111, unsigned l1000011000 );#if 0static struct usb_device_id l1000011001[] = {{O1000011010(l111110100, l111110101)},{O1000011010(l111110100,l111110110)},{}};#else#define l111110100   (0x10c4)#define l111110101   (0165140)#define l111110110   (1)static int mcci_vids [] = { l111110100, l111110100, 0};static int mcci_pids [] = { l111110101, l111110110, 0};static struct usb_device_id l1000011001 [O111110111+1];#endifMODULE_DEVICE_TABLE ( usb, l1000011001);struct usb_serial_device_type O1000011011 = { owner:THIS_MODULE, name:"\115CC\111\040USB\040A\144ap\164\145r", id_table:l1000011001, num_interrupt_in:0,num_bulk_in:1, num_bulk_out:1, num_ports:1, open:l1000000000, close:O1000000011,ioctl:l1000000100,set_termios:l1000000111,break_ctl:O1000001001,startup:O1000001011,shutdown:O1000001101,};static int verbose = 0;static int l1000000000 ( struct usb_serial_port * l1000000001, struct file * l1000000010){	int l1000011100;	struct usb_serial * l1000001100;	struct O111111011 * O1000011101;	O111111001 ( printk ( "mcci\137op\145\156\012" ) );	if ( l1000000001 == NULL )	{		printk ( "%d\040\157op\163\040u\163\142_\163er\151al\137po\162t\040\160o\151\156t\145r\040i\163\040N\125L\114\012",		__LINE__);		return -ENOMEM;	}	l1000001100 = l1000000001 -> serial ; 	O111111001 (		printk ( "mc\143\151_o\160\145n\040\160o\162\164\040\075 \060x%\170\012", l1000000001-> number)	);	O1000011101 = l1000000001 -> private ; 	memset ( O1000011101, 0, sizeof ( struct O111111011));	O1000011101 -> l111111100 = l1000000001; 	O1000011101 -> l111111101 = O1000011110;	O1000011101 -> O111111110 = O1000011111;	O1000011101 -> O111111111 = l1000100000;	l1000011100 = usb_control_msg ( l1000001100 -> dev , usb_sndctrlpipe ( l1000001100 -> dev, 0), l1000100001, O1000100010, 0x01, 0, 0, 0, 3*HZ);	if ( l1000011100 < 0 )		printk ( "%\144\040\165\163\142_c\157nt\162o\154_\155\163g\040re\164u\162\156e\144 \045d\012", __LINE__, -l1000011100);	l1000000001 -> read_urb -> dev = l1000000001 -> serial -> dev ;	l1000011100 = usb_submit_urb ( l1000000001 -> read_urb);	if ( l1000011100 ) O111111001 ( printk ( "\165s\142\137sub\155it\137ur\142 \162e\141\144 \162et\165rn\145d\0400\170%\170\012", l1000011100));	return 0;}static void O1000000011 ( struct usb_serial_port * l1000000001, struct file * l1000000010){	struct usb_serial * l1000001100;	int l1000011100;	if ( l1000000001 == NULL ) { 		printk ( "\045\144\040\157o\160s \165sb\137s\145ri\141l_\160o\162\164 \160\157i\156t\145r\040i\163 \116UL\114\012", __LINE__);		return ;	}	l1000001100 = l1000000001 -> serial;	if ( l1000001100 == NULL ) 	{		printk ( "\045d \157\157ps \165sb\137se\162ia\154_p\157rt\040p\157\151n\164e\162 \151\163 \116U\114L\012", __LINE__);		return;	}	O111111001 ( printk ( "mc\143\151_cl\157se\040\146o\162\040\157pe\156 #\045d\012" , l1000000001->open_count));	O111111001 ( printk ( "%s\072\040can\143el\040\162e\141\144s\012", __FUNCTION__));	l1000011100 = usb_unlink_urb ( l1000000001->read_urb);	if ( l1000011100 ) {		O111111001 ( printk ( "%\163\072 r\145\141d:\040us\142_u\156l\151nk\137ur\142(\045\154x\054\040%\154x\051 f\141i\154e\144:\040%\144\012", 			__FUNCTION__, (unsigned long)l1000000001, (unsigned long)l1000000001->read_urb, l1000011100));	}	O111111001 ( printk ( "%s: \143\141nc\145\154 \167\162i\164es\012", __FUNCTION__));	l1000011100 = usb_unlink_urb ( l1000000001->write_urb );	if ( l1000011100 ) {		O111111001 (			printk ( "%\163\072 wr\151\164\145\072 \165s\142\137u\156li\156k_\165r\142(\045l\170,\040%\154x)\040f\141i\154e\144:\040%\144\012",				__FUNCTION__, ( unsigned long )l1000000001, ( unsigned long )l1000000001->write_urb, l1000011100));	}	l1000011100 = usb_control_msg ( l1000001100->dev, usb_sndctrlpipe( l1000001100->dev, 0), l1000100001, O1000100010, 0x0, 0, 0, 0, 3*HZ);	if ( l1000011100 < 0 )		printk ( "\045d u\163\142_c\157n\164ro\154_\155s\147 r\145tu\162n\145\144 %\144\012", __LINE__, -l1000011100);	}#if 0static void l1000100011 ( struct urb * urb ){	O111111001 (		printk ( "mcci\137\162ea\144_\143\141l\154\137b\141c\153 u\162b\040\163t\141tus\040=\0400\170%\170\012", urb->O1000100100));	}#endifstatic int mcci_vsp_setdtrrts ( struct O111111011 * l1000010111, unsigned l1000011000 ){	int l1000011100;	struct usb_serial * l1000001100;	l1000001100 = l1000010111->l111111100->serial;	l1000011100 = usb_control_msg ( l1000001100->dev, usb_sndctrlpipe(l1000001100->dev,0),l1000100101,O1000100010,l1000011000,0,0,0,3*HZ);	if ( l1000011100 < 0 )		printk ( "%s:%\144: \165\163b\137c\157\156t\162o\154\137m\163g \162et\165rn\145\144\040%\144\012", __FUNCTION__, __LINE__, -l1000011100);	return l1000011100;}static int l1000000100 ( struct usb_serial_port * l1000000001, struct file * l1000000010, unsigned int l1000000101, unsigned long O1000000110){	int l1000011100 = -ENOIOCTLCMD;	struct usb_serial * l1000001100;	struct O111111011 * O1000011101;	int l1000100110;	int O1000100111;	if ( l1000000001 == NULL ) {		printk ( "%\144\040\155cc\151_s\145\164_\164e\162m\151\157s\040ca\154l\145d \167it\150 \116U\114L\040po\151n\164e\162 \012",			__LINE__);		return l1000011100;	}	l1000001100 = l1000000001->serial;	if ( l1000001100 == NULL )	{		printk ( "%d\040\155cc\151\137s\145\164_\164er\155io\163 c\141l\154\145d\040w\151t\150\040\116\125L\114 \165s\040p\157i\156t\145r\040\012",			__LINE__);		return l1000011100;	}	O1000011101 = l1000000001->private;	switch ( l1000000101 )	{		case TCGETS:			O111111001 ( printk ( "\124CGE\124\123\012" ));			break;		case TCSETS:			O111111001 ( printk ("\124\103SE\124\123\012"));			break;		case TCSETSW:			O111111001 ( printk ("\124CS\105\124SW\012"));			break;		case TCSETSF:			O111111001 ( printk ("TC\123\105TS\106\012"));			break;		case TCGETA:			O111111001 ( printk ("TCG\105\124A\012"));			break;		case TCSETA:			O111111001 ( printk ("\124CS\105\124A\012"));			break;		case TCSETAW:			O111111001 ( printk ("T\103\123ETA\127\012"));			break;		case TCSETAF:			O111111001 ( printk ("TC\123\105TAF\012" ));			break;		case TCSBRK:			O111111001 ( printk ( "\124CSB\122\113\012" ));			break;		case TCXONC:			O111111001 ( printk ("\124C\130\117NC\012"));			break;		case TCFLSH:			O111111001 ( printk ("\124CF\114\123H\012"));			break;		case TIOCEXCL:			O111111001 ( printk ( "T\111\117CE\130\103L\012"));			break;		case TIOCNXCL:			O111111001 ( printk ("\124IOC\116\130CL\012"));			break;		case TIOCSCTTY:			O111111001 ( printk ("\124IOC\123\103TT\131\012"));			break;		case TIOCGPGRP:			O111111001 ( printk ("\124\111OCG\120\107R\120\012"));			break;		case TIOCSPGRP:			O111111001 ( printk ("T\111\117CS\120\107RP\012"));			break;		case TIOCOUTQ:			O111111001 ( printk ("\124IOC\117\125TQ\012"));			break;		case TIOCSTI:			O111111001 ( printk ("TI\117\103ST\111\012"));			break;		case TIOCGWINSZ:			O111111001 ( printk ("TI\117\103GW\111\116SZ\012"));			break;		case TIOCSWINSZ:			O111111001 ( printk ( "\124\111OC\123\127I\116\123Z\012" ));			break;		case TIOCMGET:			O1000100111 = 0;			l1000011100 = usb_control_msg ( l1000001100->dev, usb_rcvctrlpipe(l1000001100->dev,0),O1000101000,O1000101001,0,0,&O1000100111,4,3*HZ);			if ( l1000011100<0 )				printk ( "%d u\163b\137\143o\156\164r\157\154\137m\163g \162et\165r\156\145d\040er\162o\162n\157 \045d \012", __LINE__,-l1000011100);				l1000100110 = 0;			if ( O1000100111&l1000101010) {				l1000100110 |= TIOCM_DTR;				O111111001 ( printk ( "\124\111\117CMG\105T \162\145q\165e\163ti\156g \104TR\040\012"));			}			if ( O1000100111&O1000101011) l1000100110 |=TIOCM_RTS;			if ( O1000100111&O1000101100) l1000100110 |=TIOCM_CTS;			if ( O1000100111&O1000101101) l1000100110 |=TIOCM_DSR;			if ( O1000100111&O1000101110) l1000100110 |=TIOCM_RI;			if ( O1000100111&O1000101111) l1000100110 |=TIOCM_CD;			O111111001 ( 				printk ( "dev \045d \124\111O\103\115GE\124 \162e\164\165r\156in\147 0\170\045x\040m\157d\145m\040s\164at\165s\0400\170%\170\012",				l1000001100->port[0].number,l1000100110,O1000100111)			);			put_user ( l1000100110, (int *) O1000000110);			break;		case TIOCMBIS:			get_user ( l1000100110,(int *) O1000000110);			O1000100111 = 0;			if ( l1000100110&TIOCM_RTS) O1000100111 |= O1000110000|O1000110001;			if ( l1000100110&TIOCM_DTR) O1000100111 |= l1000110010|O1000110011;			l1000011100 = mcci_vsp_setdtrrts ( O1000011101, O1000100111);			O111111001 (				printk ( "dev \045d\040\124IO\103MB\111S \060x\045x \163e\164\040m\157de\155\040c\157n\164r\157ls\040t\157 \060x\0450\064x\012",					l1000001100->port[0].number,l1000100110,O1000100111));			break;		case TIOCMBIC:			get_user ( l1000100110,(int *)O1000000110);			O111111001 ( printk ( "T\111\117CM\102\111C \060x%\170\012", l1000100110));			O1000100111 = 0;			if ( l1000100110&TIOCM_RTS ) O1000100111|=O1000110000;			if ( l1000100110&TIOCM_DTR ) O1000100111|=l1000110010;			O111111001 (				printk ( "d\145v %\144\040T\111\117C\115\102I\103 0\170%\170\040s\145t \155o\144e\155 c\157n\164r\157l\163 t\157 \060x\0450\064x\012",					l1000001100->port[0].number,l1000100110,O1000100111)			);			l1000011100 = mcci_vsp_setdtrrts ( O1000011101, O1000100111);			break;		case TIOCMSET:			get_user (l1000100110,(int *)O1000000110);			if ( l1000100110&TIOCM_RTS) O1000100111 = O1000110000|O1000110001;			else O1000100111 = O1000110000;			if ( l1000100110&TIOCM_DTR ) {				O1000100111|=(l1000110010 | O1000110011);			} else {				O1000100111 |= l1000110010;			}			O111111001 ( printk ( "\124IOC\115\123ET\040se\164\151n\147 \104\124R\040to\0400x\045x\012", O1000100111));			l1000011100 = mcci_vsp_setdtrrts ( O1000011101, O1000100111);			O111111001 (				printk ( "dev \045d \124\111O\103MS\105T \060x\045x\040\163e\164 m\157d\145\155 \143on\164r\157l\163 \164o \060x\045x\012", l1000001100->port[0].number,l1000100110,O1000100111));			break;		case TIOCGSOFTCAR:			O111111001 ( printk ( "T\111\117CG\123\117F\124\103A\122\012" ));			break;		case TIOCSSOFTCAR:			O111111001 ( printk ( "T\111\117CS\123\117F\124\103AR\012" ));			break;		case TIOCINQ:			O111111001 ( printk ( "TIO\103\111NQ\012" ));			break;		case TIOCLINUX:			O111111001 ( printk ( "TIO\103\114IN\125\130\012" ));			break;		case TIOCCONS:			O111111001 ( printk ("\124IO\103\103ONS\012"));			break;		 case TIOCGSERIAL:			O111111001 ( printk ("T\111\117CGS\105\122I\101\114\012"));			break;		case TIOCSSERIAL:			O111111001 ( printk ("\124I\117\103SS\105\122I\101\114\012"));			break;		case TIOCPKT:			O111111001 ( printk ("\124I\117\103PKT\012"));			break;		case FIONBIO:			O111111001 ( printk("\106I\117\116BIO\012"));			break;		case TIOCNOTTY:			O111111001 ( printk ("T\111OCN\117\124TY\012"));			break;		case TIOCSETD:			O111111001 ( printk ("T\111\117CS\105\124D\012"));			break;		case TIOCGETD:			O111111001 ( printk ( "\124IO\103\107ET\104\012" ));			break;		case TCSBRKP:			O111111001 ( printk ("\124CS\102\122KP\012"));			break;		case TIOCTTYGSTRUCT:			O111111001 ( printk ("\124I\117\103TT\131G\123TR\125\103\124\012"));			break;		case FIONCLEX:			O111111001 ( printk ("F\111\117NC\114\105X\012"));			break;		case FIOCLEX:			O111111001 ( printk ("F\111\117CL\105\130\012"));			break;		case FIOASYNC:			O111111001 ( printk ("\106\111OA\123\131N\103\012"));			break;		case TIOCSERCONFIG:			O111111001 ( printk ("TIO\103\123ER\103\117N\106\111G\012"));			break;		case TIOCSERGWILD:			O111111001 ( printk ( "T\111OCS\105\122GW\111LD\012"));			break;		case TIOCSERSWILD:			 O111111001( printk ("\124I\117\103SER\123WI\114\104\012"));			break;		case TIOCGLCKTRMIOS:			O111111001 ( printk ("TI\117\103GLC\113TR\115\111O\123\012"));			break;		case TIOCSLCKTRMIOS:			O111111001 ( printk ("\124I\117\103\123L\103\113T\122\115I\117S\012"));			break;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产一区二区三区| 久久99精品国产.久久久久久 | 亚洲欧美激情一区二区| 在线免费观看成人短视频| 亚洲精品一二三| 欧美性受xxxx黑人xyx| 午夜视频在线观看一区二区三区 | 一本久道中文字幕精品亚洲嫩| 亚洲视频一二三| 色婷婷av一区二区三区gif| 五月天婷婷综合| 精品99久久久久久| 99精品欧美一区| 五月激情综合色| 久久夜色精品国产欧美乱极品| 成人在线视频一区二区| 亚洲精品菠萝久久久久久久| 欧美日韩国产精品自在自线| 激情欧美一区二区三区在线观看| 国产精品青草久久| 欧美日韩国产片| 丰满少妇久久久久久久| 最新久久zyz资源站| 欧美肥妇毛茸茸| 国产成人免费av在线| 亚洲观看高清完整版在线观看 | 久久久久久免费毛片精品| 91亚洲永久精品| 蜜桃视频一区二区| 日韩一区在线看| 日韩一区国产二区欧美三区| a4yy欧美一区二区三区| 青椒成人免费视频| 日韩美女视频一区二区| 欧美大度的电影原声| 91网页版在线| 国产一区二区在线观看免费| 亚洲主播在线播放| 中文字幕不卡在线播放| 678五月天丁香亚洲综合网| 成人在线综合网| 精品一区免费av| 婷婷开心激情综合| 国产精品久久久久久久久动漫| 91麻豆精品国产综合久久久久久| 成人综合婷婷国产精品久久 | 丝袜国产日韩另类美女| 亚洲欧洲av一区二区三区久久| 日韩欧美国产小视频| 欧美在线你懂的| 成人黄色在线看| 国产在线精品免费| 日韩中文字幕区一区有砖一区| 亚洲乱码精品一二三四区日韩在线| 亚洲成人午夜电影| 18欧美亚洲精品| 久久精品欧美一区二区三区不卡 | 久久综合狠狠综合久久激情| 欧美私人免费视频| 91网上在线视频| www.在线欧美| 国产成人a级片| 国产尤物一区二区| 老司机午夜精品| 美女精品一区二区| 麻豆精品蜜桃视频网站| 日韩av成人高清| 天堂午夜影视日韩欧美一区二区| 亚洲精品视频免费看| 国产精品久久三区| 国产精品你懂的在线| 亚洲国产成人一区二区三区| 久久久久国产精品免费免费搜索| 精品日韩在线一区| 亚洲精品一区二区精华| 久久女同精品一区二区| 国产日韩成人精品| 国产精品久久久久久亚洲伦| 中文字幕亚洲不卡| 亚洲美女免费在线| 亚洲国产成人porn| 日本伊人精品一区二区三区观看方式| 亚洲成人av在线电影| 日韩电影在线免费观看| 日本va欧美va精品发布| 精品一区二区在线播放| 国产精品一区二区久久不卡 | 一区二区三区高清| 亚洲www啪成人一区二区麻豆| 日日夜夜精品视频天天综合网| 五月综合激情网| 麻豆精品在线观看| 国产成人午夜99999| jlzzjlzz国产精品久久| 欧美在线免费播放| 日韩欧美一级二级三级久久久| 久久综合九色综合97婷婷女人| 国产欧美日韩久久| 亚洲欧美国产三级| 奇米在线7777在线精品| 国产91综合一区在线观看| 91蝌蚪porny| 欧美美女视频在线观看| 欧美精品一区二区三区一线天视频| 国产女人18毛片水真多成人如厕| 中文字幕一区二区三区蜜月| 亚洲一区二区在线免费看| 裸体一区二区三区| 成人综合在线网站| 欧美精品一级二级三级| 久久午夜免费电影| 亚洲裸体xxx| 久久精品99国产国产精| 久久综合色播五月| 中文字幕一区二区三区在线不卡| 亚洲一二三四区不卡| 青青草原综合久久大伊人精品优势| 国产成人精品免费网站| 欧美日韩精品一区二区天天拍小说 | av一二三不卡影片| 91麻豆精品久久久久蜜臀| 国产免费成人在线视频| 亚洲福利视频导航| 国产高清无密码一区二区三区| 在线观看日韩国产| 国产亚洲一区二区三区| 亚洲mv在线观看| 顶级嫩模精品视频在线看| 欧美日韩国产a| 国产精品美女www爽爽爽| 日韩成人一级片| 91色九色蝌蚪| 久久精品亚洲国产奇米99 | 免费av网站大全久久| 91浏览器在线视频| 精品成人免费观看| 亚洲午夜三级在线| 99re66热这里只有精品3直播| 日韩一级片网站| 亚洲图片一区二区| 91色综合久久久久婷婷| 国产欧美综合色| 久久精品国产精品青草| 欧美日韩成人综合天天影院| 国产精品国产成人国产三级 | 成人在线综合网| 久久综合给合久久狠狠狠97色69| 视频一区视频二区中文字幕| 在线看国产一区| 亚洲欧洲国产日本综合| 成人自拍视频在线| 国产亚洲成年网址在线观看| 久久电影网电视剧免费观看| 欧美精品三级在线观看| 一区二区三区资源| 色婷婷综合中文久久一本| 国产精品色呦呦| 成人精品免费看| 国产精品色一区二区三区| 国产精品一区一区| 久久精子c满五个校花| 精品一区免费av| 精品久久一区二区| 狠狠久久亚洲欧美| 2023国产一二三区日本精品2022| 美女精品自拍一二三四| 精品免费视频一区二区| 麻豆精品新av中文字幕| 欧美成人国产一区二区| 激情综合色丁香一区二区| 日韩免费一区二区| 精品中文字幕一区二区| 精品国产91久久久久久久妲己| 久久成人免费网| 国产三级久久久| 成人福利视频在线| 国产一区二区三区精品欧美日韩一区二区三区 | jiyouzz国产精品久久| 中文字幕一区视频| 色综合久久久久久久久| 亚洲黄色性网站| 这里只有精品免费| 激情综合色播激情啊| 国产精品情趣视频| 欧美综合一区二区| 久久精品国产成人一区二区三区| 精品久久久久久综合日本欧美| 国产精一区二区三区| 中文字幕一区二区三区不卡在线| 欧美自拍丝袜亚洲| 九一九一国产精品| 最新久久zyz资源站| 欧美美女黄视频| 国产一区二区三区精品欧美日韩一区二区三区 | 久久er99精品| 国产精品久久久久久久久果冻传媒| 91成人网在线| 韩国中文字幕2020精品| 亚洲精品一二三四区| 精品久久久久久久久久久久久久久 |