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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rtusb_data.c

?? r73模塊的無線網卡在Linux下的驅動程序
?? C
?? 第 1 頁 / 共 5 頁
字號:
	USHORT			AckDuration = 0;	USHORT			EncryptionOverhead = 0;	UCHAR			CipherAlg;	BOOLEAN			bAckRequired;	UCHAR			RetryMode = SHORT_RETRY;	UCHAR			UserPriority;	UCHAR			MpduRequired, RtsRequired;	UCHAR			TxRate;	PCIPHER_KEY		pKey = NULL ;	PUCHAR			pSrcBufVA = NULL;	ULONG			SrcBufLen;	PUCHAR			pExtraLlcSnapEncap = NULL; // NULL: no extra LLC/SNAP is required	UCHAR			KeyIdx;	PUCHAR			pWirelessPacket;	ULONG			NextMpduSize;	BOOLEAN			bRTS_CTSFrame = FALSE;	unsigned long flags;	// For 'Ndis' spin lock    if ((pAd->PortCfg.bIEEE80211H == 1) && (pAd->PortCfg.RadarDetect.RDMode != RD_NORMAL_MODE))    {        DBGPRINT(RT_DEBUG_INFO,"RTUSBHardTransmit --> radar detect not in normal mode !!!\n");        return (NDIS_STATUS_FAILURE);    }	if (pAd->PortCfg.BssType == BSS_MONITOR && pAd->bAcceptRFMONTx == TRUE)	{		DBGPRINT(RT_DEBUG_INFO,"==>INJECT\n");		pTxContext	= &pAd->TxContext[QueIdx][pAd->NextTxIndex[QueIdx]];		if (pAd->TxRingTotalNumber[QueIdx] >= TX_RING_SIZE)		{			//Modified by Thomas			DBGPRINT_ERR("RTUSBHardTransmit: TX RING full\n");			//pAd->RalinkCounters.TxRingErrCount++;			//return (NDIS_STATUS_RESOURCES);			return (NDIS_STATUS_RINGFULL);		}		pTxContext->InUse	= TRUE;		pTxContext->LastOne	= TRUE;		// Increase & maintain Tx Ring Index		pAd->NextTxIndex[QueIdx]++;		if (pAd->NextTxIndex[QueIdx] >= TX_RING_SIZE)		{			pAd->NextTxIndex[QueIdx] = 0;		}#ifndef BIG_ENDIAN		pTxD  = (PTXD_STRUC) &pTxContext->TransferBuffer->TxDesc;#else		pDestTxD = (PTXD_STRUC) &pTxContext->TransferBuffer->TxDesc;		TxD = *pDestTxD;		pTxD = &TxD;		RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);#endif		memset(pTxD, 0, sizeof(TXD_STRUC));		pWirelessPacket = pTxContext->TransferBuffer->WirelessPacket;		memcpy( pWirelessPacket, pSkb->data, pSkb->len );		TxSize = pSkb->len;				//+FCS		/*for (i=0; i<TxSize; i++)			DBGPRINT(RT_DEBUG_INFO,"RTUSBHardTransmit --> byte %u is %x\n", i, pWirelessPacket[i]);*/		RTUSBWriteTxDescriptor(pAd, pTxD, CIPHER_NONE /*CipherAlg*/, 0, 0xff /*KeyIdx*/,					FALSE /*bAckRequired*/, FALSE, FALSE, 4 /*RetryMode*/,					IFS_BACKOFF /*FrameGap*/, RTMP_GET_PACKET_TXRATE(pSkb) /*TxRate*/,					TxSize, QueIdx, 0, FALSE /*bRTS_CTSFrame*/);		TransferBufferLength = TxSize + sizeof(TXD_STRUC);		if ((TransferBufferLength % 4) == 1)			TransferBufferLength  += 3;		else if ((TransferBufferLength % 4) == 2)			TransferBufferLength  += 2;		else if ((TransferBufferLength % 4) == 3)			TransferBufferLength  += 1;		if ((TransferBufferLength % pAd->BulkOutMaxPacketSize) == 0)			TransferBufferLength += 4;		pTxContext->BulkOutSize = TransferBufferLength;		pTxContext->bWaitingBulkOut = TRUE;		RTUSB_SET_BULK_FLAG(pAd, (fRTUSB_BULK_OUT_DATA_NORMAL << QueIdx));		pAd->TxRingTotalNumber[QueIdx]++;	// sync. to PendingTx		RELEASE_NDIS_PACKET(pAd, pSkb);		return (NDIS_STATUS_SUCCESS);	}	TxRate		 = RTMP_GET_PACKET_TXRATE(pSkb);	MpduRequired = RTMP_GET_PACKET_FRAGMENTS(pSkb);	RtsRequired  = RTMP_GET_PACKET_RTS(pSkb);	UserPriority = RTMP_GET_PACKET_UP(pSkb);	//	// Prepare packet information structure which will be query for buffer descriptor	//	pSrcBufVA = (PVOID)pSkb->data;	SrcBufLen = pSkb->len;	// Check for virtual address allocation, it might fail !!!	if (pSrcBufVA == NULL)	{		DBGPRINT(RT_DEBUG_TRACE, "pSrcBufVA == NULL\n");		return(NDIS_STATUS_RESOURCES);	}	if (SrcBufLen < 14)	{		DBGPRINT(RT_DEBUG_ERROR, "RTUSBHardTransmit --> Skb buffer error !!!\n");		return (NDIS_STATUS_FAILURE);	}	//	// If DHCP datagram or ARP datagram , we need to send it as Low rates.	//	if (pAd->PortCfg.Channel <= 14)	{		//		// Case 802.11 b/g		// basic channel means that we can use CCKM's low rate as RATE_1.		//		if ((TxRate != RATE_1) && RTMPCheckDHCPFrame(pAd, pSkb))			TxRate = RATE_1;	}	else	{		//		// Case 802.11a		// We must used OFDM's low rate as RATE_6, note RATE_1 is not allow		// Only OFDM support on Channel > 14		//		if ((TxRate != RATE_6) && RTMPCheckDHCPFrame(pAd, pSkb))			TxRate = RATE_6;	}	// ------------------------------------------	// STEP 0.1 Add 802.1x protocol check.	// ------------------------------------------	// For non-WPA network, 802.1x message should not encrypt even privacy is on.	if (NdisEqualMemory(EAPOL, pSrcBufVA + 12, 2))	{		bEAPOLFrame = TRUE;		if (pAd->PortCfg.MicErrCnt >= 2)			pAd->PortCfg.MicErrCnt++;	}	else		bEAPOLFrame = FALSE;	//	// WPA 802.1x secured port control - drop all non-802.1x frame before port secured	//	if (((pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPA)	 ||		 (pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPAPSK) ||		 (pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPA2)	 ||		 (pAd->PortCfg.AuthMode == Ndis802_11AuthModeWPA2PSK)#if WPA_SUPPLICANT_SUPPORT		  || (pAd->PortCfg.IEEE8021X == TRUE)#endif         ) &&		((pAd->PortCfg.PortSecured == WPA_802_1X_PORT_NOT_SECURED) || (pAd->PortCfg.MicErrCnt >= 2)) &&		(bEAPOLFrame == FALSE))	{		DBGPRINT(RT_DEBUG_INFO, "RTUSBHardTransmit --> Drop packet before port secured !!!\n");		return (NDIS_STATUS_FAILURE);	}	if (*pSrcBufVA & 0x01) // Multicast or Broadcast	{		bAckRequired = FALSE;		INC_COUNTER64(pAd->WlanCounters.MulticastTransmittedFrameCount);		Cipher = pAd->PortCfg.GroupCipher; // Cipher for Multicast or Broadcast	}	else	{		bAckRequired = TRUE;		Cipher = pAd->PortCfg.PairCipher; // Cipher for Unicast	}	// 1. traditional TX burst	if (pAd->PortCfg.bEnableTxBurst && (pAd->Sequence & 0x7))		FrameGap = IFS_SIFS;	// 2. frame belonging to AC that has non-zero TXOP	else if (pAd->PortCfg.APEdcaParm.bValid && pAd->PortCfg.APEdcaParm.Txop[QueIdx])		FrameGap = IFS_SIFS;	// 3. otherwise, always BACKOFF before transmission	else		FrameGap = IFS_BACKOFF;		// Default frame gap mode	Protocol = *(pSrcBufVA + 12) * 256 + *(pSrcBufVA + 13);	// if orginal Ethernet frame contains no LLC/SNAP, then an extra LLC/SNAP encap is required	if (Protocol > 1500)	{		pExtraLlcSnapEncap = SNAP_802_1H;		if (NdisEqualMemory(IPX, pSrcBufVA + 12, 2) ||			NdisEqualMemory(APPLE_TALK, pSrcBufVA + 12, 2))		{			pExtraLlcSnapEncap = SNAP_BRIDGE_TUNNEL;		}	}	else		pExtraLlcSnapEncap = NULL;    // Update software power save state	OPSTATUS_CLEAR_FLAG(pAd, fOP_STATUS_DOZE);	pAd->PortCfg.Psm = PWR_ACTIVE;	// -----------------------------------------------------------------	// STEP 2. MAKE A COMMON 802.11 HEADER SHARED BY ENTIRE FRAGMENT BURST.	// -----------------------------------------------------------------	pAd->Sequence = ((pAd->Sequence) + 1) & (MAX_SEQ_NUMBER);	MAKE_802_11_HEADER(pAd, Header_802_11, pSrcBufVA, pAd->Sequence);#if 0	if (OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_WMM_INUSED))		Header_802_11.FC.SubType = SUBTYPE_QDATA;#endif	// --------------------------------------------------------	// STEP 3. FIND ENCRYPT KEY AND DECIDE CIPHER ALGORITHM	//		Find the WPA key, either Group or Pairwise Key	//		LEAP + TKIP also use WPA key.	// --------------------------------------------------------	// Decide WEP bit and cipher suite to be used. Same cipher suite should be used for whole fragment burst	// In Cisco CCX 2.0 Leap Authentication	//		   WepStatus is Ndis802_11Encryption1Enabled but the key will use PairwiseKey	//		   Instead of the SharedKey, SharedKey Length may be Zero.	KeyIdx = 0xff;	if (bEAPOLFrame)	{        ASSERT(pAd->SharedKey[0].CipherAlg <= CIPHER_CKIP128);        if ((pAd->SharedKey[0].CipherAlg) &&            (pAd->SharedKey[0].KeyLen) )        {            CipherAlg = pAd->SharedKey[0].CipherAlg;            KeyIdx = 0;        }    }	else if (Cipher == Ndis802_11Encryption1Enabled)	{			// standard WEP64 or WEP128		KeyIdx = pAd->PortCfg.DefaultKeyId;	}	else if ((Cipher == Ndis802_11Encryption2Enabled) ||			 (Cipher == Ndis802_11Encryption3Enabled))	{		if (Header_802_11.Addr1[0] & 0x01) // multicast			KeyIdx = pAd->PortCfg.DefaultKeyId;		else if (pAd->SharedKey[0].KeyLen)			KeyIdx = 0;		else			KeyIdx = pAd->PortCfg.DefaultKeyId;	}	if (KeyIdx == 0xff)		CipherAlg = CIPHER_NONE;	else if (pAd->SharedKey[KeyIdx].KeyLen == 0)		CipherAlg = CIPHER_NONE;	else	{		Header_802_11.FC.Wep = 1;		CipherAlg = pAd->SharedKey[KeyIdx].CipherAlg;		pKey = &pAd->SharedKey[KeyIdx];	}	DBGPRINT(RT_DEBUG_INFO,"RTUSBHardTransmit(bEAP=%d) - %s key#%d, KeyLen=%d\n",		bEAPOLFrame, CipherName[CipherAlg], KeyIdx, pAd->SharedKey[KeyIdx].KeyLen);	// STEP 3.1 if TKIP is used and fragmentation is required. Driver has to	//			append TKIP MIC at tail of the scatter buffer (This must be the	//			ONLY scatter buffer in the skb buffer).	//			MAC ASIC will only perform IV/EIV/ICV insertion but no TKIP MIC	if ((MpduRequired > 1) && (CipherAlg == CIPHER_TKIP))	{		pSkb->len += 8;		CipherAlg = CIPHER_TKIP_NO_MIC;	}	// ----------------------------------------------------------------	// STEP 4. Make RTS frame or CTS-to-self frame if required	// ----------------------------------------------------------------	//	// calcuate the overhead bytes that encryption algorithm may add. This	// affects the calculate of "duration" field	//	if ((CipherAlg == CIPHER_WEP64) || (CipherAlg == CIPHER_WEP128))		EncryptionOverhead = 8; //WEP: IV[4] + ICV[4];	else if (CipherAlg == CIPHER_TKIP_NO_MIC)		EncryptionOverhead = 12;//TKIP: IV[4] + EIV[4] + ICV[4], MIC will be added to TotalPacketLength	else if (CipherAlg == CIPHER_TKIP)		EncryptionOverhead = 20;//TKIP: IV[4] + EIV[4] + ICV[4] + MIC[8]	else if (CipherAlg == CIPHER_AES)		EncryptionOverhead = 16;	// AES: IV[4] + EIV[4] + MIC[8]	else		EncryptionOverhead = 0;	// decide how much time an ACK/CTS frame will consume in the air	AckDuration = RTMPCalcDuration(pAd, pAd->PortCfg.ExpectedACKRate[TxRate], 14);	// If fragment required, MPDU size is maximum fragment size	// Else, MPDU size should be frame with 802.11 header & CRC	if (MpduRequired > 1)		NextMpduSize = pAd->PortCfg.FragmentThreshold;	else	{		NextMpduSize = pSkb->len + LENGTH_802_11 + LENGTH_CRC - LENGTH_802_3;		if (pExtraLlcSnapEncap)			NextMpduSize += LENGTH_802_1_H;	}	if (RtsRequired || OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_RTS_PROTECTION_ENABLE))	{		RTMPSendRTSCTSFrame(pAd,							Header_802_11.Addr1,							NextMpduSize + EncryptionOverhead,							TxRate,							pAd->PortCfg.RtsRate,							AckDuration,							QueIdx,							FrameGap,							SUBTYPE_RTS);		// RTS/CTS-protected frame should use LONG_RETRY (=4) and SIFS		RetryMode = LONG_RETRY;		FrameGap = IFS_SIFS;		bRTS_CTSFrame = TRUE;		if (RtsRequired)			NumberRequired--;	}	else if ((pAd->PortCfg.TxRate >= RATE_FIRST_OFDM_RATE) && OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_BG_PROTECTION_INUSED))	{		RTMPSendRTSCTSFrame(pAd,							Header_802_11.Addr1,							NextMpduSize + EncryptionOverhead,							TxRate,							pAd->PortCfg.RtsRate,							AckDuration,							QueIdx,							FrameGap,							SUBTYPE_CTS);		// RTS/CTS-protected frame should use LONG_RETRY (=4) and SIFS		RetryMode = LONG_RETRY;		FrameGap = IFS_SIFS;		bRTS_CTSFrame = TRUE;	}	// --------------------------------------------------------	// STEP 5. START MAKING MPDU(s)	//		Start Copy Ndis Packet into Ring buffer.	//		For frame required more than one ring buffer (fragment), all ring buffers	//		have to be filled before kicking start tx bit.	//		Make sure TX ring resource won't be used by other threads	// --------------------------------------------------------	SrcRemainingBytes = pSkb->len - LENGTH_802_3;	SrcBufLen		 -= LENGTH_802_3;  // skip 802.3 header	StartOfFrame = TRUE;	MICFrag = FALSE;	// Flag to indicate MIC shall spread into two MPDUs	// Start Copy Ndis Packet into Ring buffer.	// For frame required more than one ring buffer (fragment), all ring buffers	// have to be filled before kicking start tx bit.	do	{		//		// STEP 5.1 Get the Tx Ring descriptor & Dma Buffer address		//		pTxContext	= &pAd->TxContext[QueIdx][pAd->NextTxIndex[QueIdx]];		if ((pTxContext->bWaitingBulkOut == TRUE) || (pTxContext->InUse == TRUE) ||			(pAd->TxRingTotalNumber[QueIdx] >= TX_RING_SIZE))		{			//Modified by Thomas			DBGPRINT_ERR("RTUSBHardTransmit: TX RING full\n");			//pAd->RalinkCounters.TxRingErrCount++;			//return (NDIS_STATUS_RESOURCES);			return (NDIS_STATUS_RINGFULL);		}		pTxContext->InUse	= TRUE;		// Increase & maintain Tx Ring Index		pAd->NextTxIndex[QueIdx]++;		if (pAd->NextTxIndex[QueIdx] >= TX_RING_SIZE)		{			pAd->NextTxIndex[QueIdx] = 0;		}#ifndef BIG_ENDIAN		pTxD  = (PTXD_STRUC) &pTxContext->TransferBuffer->TxDesc;#else		pDestTxD = (PTXD_STRUC) &pTxContext->TransferBuffer->TxDesc;		TxD = *pDestTxD;		pTxD = &TxD;		RTMPDescriptorEndianChange((PUCHAR)pTxD, TYPE_TXD);#endif		memset(pTxD, 0, sizeof(TXD_STRUC));		pWirelessPacket = pTxContext->TransferBuffer->WirelessPacket;		//		// STEP 5.2 PUT IVOFFSET, IV, EIV INTO TXD		//		pTxD->IvOffset	= LENGTH_802_11;#if 0		if (OPSTATUS_TEST_FLAG(pAd, fOP_STATUS_WMM_INUSED))			pTxD->IvOffset += 2;  // add QOS CONTROL bytes#endif		if ((CipherAlg == CIPHER_WEP64) || (CipherAlg == CIPHER_WEP128))		{			PUCHAR pTmp;			pTmp = (PUCHAR) &pTxD->Iv;			*pTmp		= RandomByte(pAd);			*(pTmp + 1) = RandomByte(pAd);			*(pTmp + 2) = RandomByte(pAd);			*(pTmp + 3) = (KeyIdx << 6);		}		else if ((CipherAlg == CIPHER_TKIP) || (CipherAlg == CIPHER_TKIP_NO_MIC))		{			RTMPInitTkipEngine(				pAd,				pKey->Key,				KeyIdx,		// This might cause problem when using peer key				Header_802_11.Addr2,				pKey->TxMic,				pKey->TxTsc,				&Iv16,				&Iv32);			memcpy(&pTxD->Iv, &Iv16, 4);   // Copy IV			memcpy(&pTxD->Eiv, &Iv32, 4);  // Copy EIV			INC_TX_TSC(pKey->TxTsc);			   // Increase TxTsc for next transmission

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日穴在线视频| 国产在线视频一区二区| 在线观看日韩毛片| 亚洲一区二区三区影院| 欧美偷拍一区二区| 蜜臀av国产精品久久久久| 日韩女同互慰一区二区| 久久草av在线| 国产精品免费丝袜| 91丨porny丨蝌蚪视频| 一级中文字幕一区二区| 欧美精品 日韩| 久久草av在线| 亚洲天堂免费看| 777奇米四色成人影色区| 麻豆精品蜜桃视频网站| 日本一区二区三区在线观看| 99在线精品一区二区三区| 亚洲最大色网站| 日韩欧美激情在线| 成人激情黄色小说| 亚洲成av人综合在线观看| 亚洲精品一区二区三区影院 | 国产精品你懂的在线| av不卡在线观看| 午夜精品福利一区二区蜜股av| 精品国产一区二区三区久久久蜜月 | 7777精品伊人久久久大香线蕉经典版下载 | 在线免费观看日本欧美| 琪琪一区二区三区| 中文字幕制服丝袜一区二区三区| 欧美日韩免费不卡视频一区二区三区| 久久av中文字幕片| 亚洲伊人伊色伊影伊综合网| 精品久久久久久久一区二区蜜臀| 成人av手机在线观看| 日韩影视精彩在线| 亚洲欧美综合网| 精品国产青草久久久久福利| 91久久一区二区| 国产激情偷乱视频一区二区三区 | 奇米影视一区二区三区小说| 国产精品三级在线观看| 这里只有精品视频在线观看| 972aa.com艺术欧美| 国产在线精品国自产拍免费| 亚洲一二三级电影| 国产精品久久久久久福利一牛影视| 91精品国产福利| 一本到一区二区三区| 国产精品综合二区| 日本成人中文字幕| 亚洲一级片在线观看| 国产精品久久久久久亚洲伦| 精品电影一区二区三区| 91精品国产福利在线观看 | 日本亚洲天堂网| 亚洲天堂精品在线观看| 国产精品女主播av| 久久久91精品国产一区二区精品 | 亚洲午夜一区二区三区| 国产精品久久久久aaaa| 久久久久久久精| 欧美tk—视频vk| 欧美一区二区成人6969| 欧美日韩精品一区二区在线播放| 91在线精品一区二区| 成人黄色片在线观看| 国产精品资源网| 国精产品一区一区三区mba视频 | 亚洲最新视频在线播放| 亚洲男人的天堂av| 自拍偷拍国产亚洲| 国产精品久久久久久久久晋中| 国产日产欧产精品推荐色| 久久久久久久电影| 国产精品天干天干在线综合| 国产色综合一区| 日本一区二区三区国色天香| 国产色一区二区| 国产精品久久久久久久久晋中| 国产精品污www在线观看| 国产精品不卡一区二区三区| 国产精品国产自产拍在线| 久久婷婷综合激情| 中文字幕av一区二区三区高 | 在线观看av一区二区| 色婷婷一区二区三区四区| 在线免费观看日韩欧美| 欧美色综合久久| 91精品国产乱码久久蜜臀| 精品国产露脸精彩对白| 国产视频一区在线观看 | 亚洲午夜一二三区视频| 日韩成人一级片| 经典一区二区三区| 国产成人高清在线| 91麻豆蜜桃一区二区三区| 在线视频一区二区三| 欧美一区二区观看视频| 国产午夜亚洲精品理论片色戒| 国产精品嫩草99a| 亚洲一二三区不卡| 国内成人免费视频| 色综合天天综合在线视频| 欧美日韩久久久久久| 精品三级在线观看| 成人欧美一区二区三区视频网页| 亚洲一区二区在线观看视频| 日本亚洲最大的色成网站www| 国产传媒一区在线| 91精彩视频在线观看| 欧美日韩1234| 国产调教视频一区| 午夜久久久久久电影| 国产一区二区免费视频| 91成人看片片| 精品国产百合女同互慰| 一区二区三区四区不卡在线 | 日韩电影一区二区三区| 成人综合日日夜夜| 在线成人av影院| 中文字幕色av一区二区三区| 午夜精品免费在线观看| 成人av电影在线| 欧美电影免费提供在线观看| 亚洲欧美日韩综合aⅴ视频| 奇米精品一区二区三区在线观看 | 国产精品亚洲专一区二区三区| 一本在线高清不卡dvd| 精品国产乱码久久久久久牛牛| 一区二区三区中文字幕电影| 国产酒店精品激情| 欧美一区欧美二区| 一区二区三区欧美| 成人精品免费网站| 精品国产髙清在线看国产毛片| 一区二区激情小说| 不卡一区在线观看| 久久这里只有精品首页| 日本aⅴ免费视频一区二区三区| 欧美精品一区二区三区在线播放| 一区二区三区丝袜| a级高清视频欧美日韩| 久久婷婷久久一区二区三区| 日韩和欧美的一区| 精品污污网站免费看| 亚洲欧洲一区二区三区| 国产福利电影一区二区三区| 欧美一区二区三区在线观看| 亚洲国产一区视频| 99九九99九九九视频精品| 国产精品污网站| 成人一区二区视频| 国产欧美精品一区二区三区四区| 久久精品国产一区二区三 | 国产成人在线视频播放| 精品国产乱码91久久久久久网站| 日韩二区三区四区| 91精品国产综合久久久久久漫画| 亚洲国产日韩一级| 欧美撒尿777hd撒尿| 亚洲精品国产精品乱码不99| 91最新地址在线播放| 国产精品私人影院| 成人一级视频在线观看| 久久久777精品电影网影网| 欧美xingq一区二区| 日本不卡视频一二三区| 日韩欧美区一区二| 国产美女主播视频一区| 久久午夜免费电影| 成人激情动漫在线观看| 亚洲欧洲日产国码二区| 91蝌蚪porny九色| 亚洲日本在线看| 欧美在线不卡一区| 五月婷婷另类国产| 欧美不卡一区二区三区| 国产毛片精品视频| 欧美激情一区不卡| 99re视频这里只有精品| 一区二区三区丝袜| 这里只有精品免费| 国产精品综合二区| 亚洲图片你懂的| 欧美日韩久久一区二区| 久久9热精品视频| 欧美国产精品专区| 99re在线精品| 日韩av高清在线观看| 久久这里只有精品视频网| www.99精品| 午夜免费久久看| 久久精品日韩一区二区三区| 一本大道久久a久久综合| 天堂久久久久va久久久久| 久久久久久久电影| 色琪琪一区二区三区亚洲区| 日韩电影一二三区|