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

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

?? art_if.c

?? Atheros AP Test with Agilent N4010A source code
?? C
?? 第 1 頁 / 共 5 頁
字號:
		GlobalCmd.devNum = (A_INT8) devNum;
		GlobalCmd.CMD_U.EEPROM_WRITE_BLOCK_CMD.length = length;
		GlobalCmd.CMD_U.EEPROM_WRITE_BLOCK_CMD.startOffset = startOffset;
		memset(GlobalCmd.CMD_U.EEPROM_WRITE_BLOCK_CMD.eepromValue, 0, length * 4);
		memcpy(GlobalCmd.CMD_U.EEPROM_WRITE_BLOCK_CMD.eepromValue, buf, length * 4);
		//printf(" Write the Length %d \n", length);
	/*	for(ii =0 ;ii < 10 ; ii++)
		{
			printf ("Write Block is %x \n",GlobalCmd.CMD_U.EEPROM_WRITE_BLOCK_CMD.eepromValue[ii]);
		}*/
		/* send the command.  Note that the size to send is only for num bytes want to write */
		if(!artSendCmd(&GlobalCmd,
					   (sizeof(GlobalCmd.CMD_U.EEPROM_WRITE_BLOCK_CMD) + sizeof(GlobalCmd.cmdID) - ((MAX_BLOCK_DWORDS - length)*4)),
					   NULL)) {
				uiPrintf("Error: Unable to successfully send EEPROM_WRITE_BLOCK command\n");
				return 0;
		}
	}

	if (checkLibError(devNum, 1)) return 0;

	return 1;
}

void art_eepromWriteBlock
(
	A_UINT32 devNum,
	A_UINT32 startOffset,
	A_UINT32 length,
	A_UINT32 *buf
)
{
	A_UINT32 ii = length, startAddr_ii=startOffset, len_ii, arrayStart_ii=0;
	A_UINT32 max_locs_per_write;

	if (sdio_client)
		max_locs_per_write = 256;
	else
		max_locs_per_write = 256;

	while( ii > 0)
	{
		if(ii > (max_locs_per_write-1))
		{
			len_ii = max_locs_per_write;
		} else
		{
			len_ii = ii;
		}
		if (!art_eepromWriteBlock_256(devNum, startAddr_ii, len_ii, &(buf[arrayStart_ii]))) break;
		startAddr_ii += len_ii;
		ii -= len_ii;
		arrayStart_ii += len_ii;
	}

	return;
}

static A_INT32 art_eepromReadBlock_256
(
	A_UINT32 devNum,
	A_UINT32 startOffset,
	A_UINT32 length,
	A_UINT32 *buf
)
{
	A_UCHAR  *pReadValues;		  /* pointer to the values that were read */
	int ii;

	//printf("SNOOP: setting eeprom mode\n");
	//art_ap_reg_write(devNum, 0x0c004004, 0x90020044);
	if(!configSetup.remote) {
		eepromReadBlock(devNum,startOffset,length,buf);
	} else {
		/* setup the command struct to send */
		GlobalCmd.cmdID = M_EEPROM_READ_BLOCK_CMD_ID;
		GlobalCmd.devNum = (A_INT8) devNum;
		GlobalCmd.CMD_U.EEPROM_READ_BLOCK_CMD.length = length;
		GlobalCmd.CMD_U.EEPROM_READ_BLOCK_CMD.startOffset = startOffset;
		//printf(" Read  Eeprom the Length %d", length);
				/* send the command.  Note that the size to send is only for num bytes want to write */
		if(!artSendCmd(&GlobalCmd,
					(sizeof(GlobalCmd.CMD_U.EEPROM_READ_BLOCK_CMD) + sizeof(GlobalCmd.cmdID)),
					(void **)(&pReadValues))) {
				uiPrintf("Error: Unable to successfully send EEPROM_READ_BLOCK command\n");
				return 0;
		}
		if(checkLibError(devNum, 1)) return 0;
		/*for(ii =0 ;ii < length ; ii++)
		{
			printf ("Read Block is %x \n",GlobalCmd.CMD_U.EEPROM_WRITE_BLOCK_CMD.eepromValue[ii]);
		}*/
		memcpy((void *)buf,(void *)pReadValues, length * 4);

	}
	if (checkLibError(devNum, 1)) return 0;
	return 1;
}

void art_eepromReadBlock
(
	A_UINT32 devNum,
	A_UINT32 startOffset,
	A_UINT32 length,
	A_UINT32 *buf
)
{
	A_UINT32 ii = length, startAddr_ii=startOffset, len_ii, arrayStart_ii=0;
	A_UINT32 max_locs_per_read;

	if (sdio_client)
		max_locs_per_read = 128;
	else
		max_locs_per_read = 256;


	while( ii > 0)
	{
		if(ii > (max_locs_per_read-1))
		{
			len_ii = max_locs_per_read;
		} else
		{
			len_ii = ii;
		}
		if (!art_eepromReadBlock_256(devNum, startAddr_ii, len_ii, &(buf[arrayStart_ii]))) return;
		startAddr_ii += len_ii;
		ii -= len_ii;
		arrayStart_ii += len_ii;
	}

	return;
}

void art_eepromReadLocs
(
	A_UINT32 devNum,
	A_UINT32 startOffset,
	A_UINT32 length,
	A_UINT8 *buf
)
{
	A_UCHAR  *pReadValues;		  /* pointer to the values that were read */


		/* setup the command struct to send */
		GlobalCmd.cmdID = M_EEPROM_READ_LOCS_CMD_ID;
		GlobalCmd.devNum = (A_INT8) devNum;
		GlobalCmd.CMD_U.EEPROM_READ_LOCS_CMD.length = length;
		GlobalCmd.CMD_U.EEPROM_READ_LOCS_CMD.startOffset = startOffset;

				/* send the command.  Note that the size to send is only for num bytes want to write */
		if(!artSendCmd(&GlobalCmd,
					(sizeof(GlobalCmd.CMD_U.EEPROM_READ_LOCS_CMD) + sizeof(GlobalCmd.cmdID)),
					(void **)(&pReadValues))) {
				uiPrintf("Error: Unable to successfully send EEPROM_READ_LOCS command\n");
				return ;
		}
		if(checkLibError(devNum, 1)) { uiPrintf("remote command error\n"); return ;}
		memcpy((void *)buf,(void *)pReadValues, length * NUM_BYTES_PER_EEPROM_LOC);
}

#if 0
void art_eepromWriteLocs
(
	A_UINT32 devNum,
	A_UINT32 startOffset,
	A_UINT32 length,
	A_UINT8 *buf
)
{
	A_UCHAR  *pReadValues;		  /* pointer to the values that were read */
	A_UINT32 *pBuffer;

	//allocate a 32 bit value buffer for sending regular eeprom write command
	pBuffer = malloc(sizeof(A_UINT32) * length);
	if(pBuffer == NULL) {
		uiPrintf("Error: unable to allocate buffer for sending eeprom write, eepromWriteLocs\n");
		return;
	}

	for (i = 0; i < length; i++) {
		pBuffer[i] = buf[i];
	}

	art_eepromWriteBlock
}
#endif

A_UINT32 art_checkRegs
(
	A_UINT32 devNum
)
{
	A_UINT32	    *pRegValue;
	A_UINT32		regValue;

	if(!configSetup.remote || !configSetup.remote_exec)
	{
			regValue = checkRegs(devNum);
	}
	else
	{
		// create cmd to send to client
		GlobalCmd.cmdID = M_CHECK_REGS_CMD_ID;
		GlobalCmd.devNum = (A_INT8) devNum;

		if (!artSendCmd(&GlobalCmd, sizeof(GlobalCmd.cmdID),
						(void **)&pRegValue))
		{
			uiPrintf("Error: Unable to successfully send EEPROM_READ_CMD command to client!\n");
			return 0xdeadbeef;
		}
		regValue = *pRegValue;
	}
	if(checkLibError(devNum, 1)) {
		return 0xdeadbeef;
	}
	return regValue;
}


A_UINT32 art_checkProm
(
	A_UINT32 devNum,
	A_UINT32 enablePrint
)
{
	A_UINT32	    *pRegValue;
	A_UINT32		regValue;

	if(!configSetup.remote || !configSetup.remote_exec)
	{
		regValue = checkProm(devNum, enablePrint);
	}
	else
	{
		// create cmd to send to client
		GlobalCmd.cmdID = M_CHECK_PROM_CMD_ID;
		GlobalCmd.devNum = (A_INT8) devNum;
		GlobalCmd.CMD_U.SET_ONE_CMD.param = enablePrint;

		if (!artSendCmd(&GlobalCmd,
						sizeof(GlobalCmd.CMD_U.SET_ONE_CMD)+sizeof(GlobalCmd.cmdID),
						(void **)&pRegValue))
		{
			uiPrintf("Error: Unable to successfully send CHECK_PROM_CMD command to client!\n");
			return(1);
		}
		regValue = *pRegValue;
	}
	if(checkLibError(devNum, 1)) {
		return 1;
	}
	return regValue;
}

void art_enableHwCal
(
 A_UINT32 devNum,
 A_UINT32 calFlag
)
{

	if(!configSetup.remote || !configSetup.remote_exec)
	{
		//enableCal = calFlag;
	}
	else
	{
		// create cmd to send to client
		GlobalCmd.cmdID = ENABLE_HW_CAL_CMD;
		GlobalCmd.devNum = (A_INT8) calFlag;

		if (!artSendCmd(&GlobalCmd,sizeof(GlobalCmd.cmdID),
						NULL))
		{
			uiPrintf("Error: Unable to successfully send ENABLE_HW_CAL_CMD command to client!\n");
		}
	}
	checkLibError(devNum, 1);

}

void art_rereadProm
(
	A_UINT32 devNum
)
{
	if(!configSetup.remote || !configSetup.remote_exec)
	{
			rereadProm(devNum);
	}
	else
	{
		// create cmd to send to client
		GlobalCmd.cmdID = M_REREAD_PROM_CMD_ID;
		GlobalCmd.devNum = (A_INT8) devNum;

		if (!artSendCmd(&GlobalCmd, sizeof(GlobalCmd.cmdID),
						NULL))
		{
			uiPrintf("Error: Unable to successfully send REREAD_PROM_CMD command to client!\n");
		}
	}
	checkLibError(devNum, 1);
}

void art_changeChannel
(
	A_UINT32 devNum,
	A_UINT32 freq
)
{

//** the following added by ccshiang
	{
		double cf;

		AgN4010_GetProperty(AgN4010_PropName_CenterFrequency_MHz,&cf);
		if (freq > 10000) {
			if (freq != (A_UINT32) (cf * 10))
				AgN4010_SetProperty(AgN4010_PropName_CenterFrequency_MHz,(double) freq/10.0);
		}
		else {
			if (freq != (A_UINT32) cf)
				AgN4010_SetProperty(AgN4010_PropName_CenterFrequency_MHz,freq);
		}
	}
//** the above added by ccshiang
	if(!configSetup.remote || !configSetup.remote_exec) {
		changeChannel(devNum, freq);
	} else {
		// create cmd to send to client
		GlobalCmd.cmdID = M_CHANGE_CHANNEL_CMD_ID;
		GlobalCmd.devNum = (A_INT8) devNum;
		GlobalCmd.CMD_U.SET_ONE_CMD.param = freq;

		if ( !artSendCmd(&GlobalCmd,
			 sizeof(GlobalCmd.CMD_U.SET_ONE_CMD)+sizeof(GlobalCmd.cmdID), NULL)) {
			uiPrintf("Error: Unable to successfully send CHANGE_CHANNEL_CMD command to client!\n");
		}
	}
	checkLibError(devNum, 1);
}


void art_txDataSetup
(
	A_UINT32 devNum,
	A_UINT32 rateMask,
	A_UCHAR *dest,
	A_UINT32 numDescPerRate,
	A_UINT32 dataBodyLength,
	A_UCHAR *dataPattern,
	A_UINT32 dataPatternLength,
	A_UINT32 retries,
	A_UINT32 antenna,
	A_UINT32 broadcast
)
{
	int ii;
	if(!configSetup.remote || !configSetup.remote_exec)
	{
			txDataSetup(devNum, rateMask, dest, numDescPerRate, dataBodyLength,
				dataPattern, dataPatternLength, retries, antenna, broadcast);
	} else {
		// create cmd to send to client
		GlobalCmd.cmdID = M_TX_DATA_SETUP_CMD_ID;
		GlobalCmd.devNum = (A_INT8) devNum;
		GlobalCmd.CMD_U.TX_DATA_SETUP_CMD.rateMask = rateMask;
		memcpy(GlobalCmd.CMD_U.TX_DATA_SETUP_CMD.dest, dest, 6);
		GlobalCmd.CMD_U.TX_DATA_SETUP_CMD.numDescPerRate = numDescPerRate;
		//printf(">>>>>>rateMask  %x\n",rateMask);
		//GlobalCmd.CMD_U.TX_DATA_SETUP_CMD.numDescPerRate = 10;
		GlobalCmd.CMD_U.TX_DATA_SETUP_CMD.dataBodyLength = dataBodyLength;
		memcpy(GlobalCmd.CMD_U.TX_DATA_SETUP_CMD.dataPattern, dataPattern, dataPatternLength);
		GlobalCmd.CMD_U.TX_DATA_SETUP_CMD.dataPatternLength = dataPatternLength;
		GlobalCmd.CMD_U.TX_DATA_SETUP_CMD.retries = retries;
		GlobalCmd.CMD_U.TX_DATA_SETUP_CMD.antenna = antenna;
		GlobalCmd.CMD_U.TX_DATA_SETUP_CMD.broadcast = broadcast;


		if (!artSendCmd(&GlobalCmd,
						(sizeof(GlobalCmd.CMD_U.TX_DATA_SETUP_CMD)+
						sizeof(GlobalCmd.cmdID)-
						MAX_BLOCK_BYTES+
						GlobalCmd.CMD_U.TX_DATA_SETUP_CMD.dataPatternLength),
						NULL))
		{
			uiPrintf("Error: Unable to successfully send TX_DATA_SETUP_CMD command to client!\n");
		}
	}
	checkLibError(devNum, 1);
}

void art_txDataBegin
(
	A_UINT32 devNum,
	A_UINT32 timeout,
	A_UINT32 remoteStats
)
{
	//printf("*********TIME OUT IS %d*********\n",timeout);
	if(!configSetup.remote || !configSetup.remote_exec)
	{
			txDataBegin(devNum, timeout, remoteStats);
	}
	else
	{
		// create cmd to send to client
		GlobalCmd.cmdID = M_TX_DATA_BEGIN_CMD_ID;
		GlobalCmd.devNum = (A_INT8) devNum;
		GlobalCmd.CMD_U.TX_DATA_BEGIN_CMD.timeout = timeout;
		GlobalCmd.CMD_U.TX_DATA_BEGIN_CMD.remoteStats = remoteStats;

		if (!artSendCmd(&GlobalCmd,
						sizeof(GlobalCmd.CMD_U.TX_DATA_BEGIN_CMD)+sizeof(GlobalCmd.cmdID),
						NULL))
		{
			uiPrintf("Error: Unable to successfully send TX_DATA_BEGIN_CMD command to client!\n");
		}
	}
	checkLibError(devNum, 1);
}

void art_rxDataSetup
(
	A_UINT32 devNum,
	A_UINT32 numDesc,
	A_UINT32 dataBodyLength,
	A_UINT32 enablePPM
)
{
	if(!configSetup.remote || !configSetup.remote_exec)
	{
		rxDataSetup(devNum, numDesc, dataBodyLength, enablePPM);
	}
	else
	{
		// create cmd to send to client
		//printf("CMD ID IS M_RX_DATA_SETUP_CMD_ID :\n");
		GlobalCmd.cmdID = M_RX_DATA_SETUP_CMD_ID;
		GlobalCmd.devNum = (A_INT8) devNum;
		GlobalCmd.CMD_U.RX_DATA_SETUP_CMD.numDesc = numDesc;
		GlobalCmd.CMD_U.RX_DATA_SETUP_CMD.dataBodyLength = dataBodyLength;
		GlobalCmd.CMD_U.RX_DATA_SETUP_CMD.enablePPM = enablePPM;

		if (!artSendCmd(&GlobalCmd,
						sizeof(GlobalCmd.CMD_U.RX_DATA_SETUP_CMD)+sizeof(GlobalCmd.cmdID),
						NULL))
		{
			uiPrintf("Error: Unable to successfully send RX_DATA_SETUP_CMD command to client!\n");
		}
	}
	checkLibError(devNum, 1);
}

void art_rxDataBegin
(
	A_UINT32 devNum,
	A_UINT32 waitTime,
	A_UINT32 timeout,
	A_UINT32 remoteStats,
	A_UINT32 enableCompare,
	A_UCHAR *dataPattern,
	A_UINT32 dataPatternLength
)
{
	if(!configSetup.remote || !configSetup.remote_exec)
	{
			rxDataBegin(devNum, waitTime, timeout, remoteStats, enableCompare, dataPattern, dataPatternLength);
	}
	else
	{
		// create cmd to send to client
		GlobalCmd.cmdID = M_RX_DATA_BEGIN_CMD_ID;
		GlobalCmd.devNum = (A_INT8) devNum;
		GlobalCmd.CMD_U.RX_DATA_BEGIN_CMD.waitTime = waitTime;
		GlobalCmd.CMD_U.RX_DATA_BEGIN_CMD.timeout = timeout;
		GlobalCmd.CMD_U.RX_DATA_BEGIN_CMD.remoteStats = remoteStats;
		GlobalCmd.CMD_U.RX_DATA_BEGIN_CMD.enableCompare = enableCompare;
		GlobalCmd.CMD_U.RX_DATA_BEGIN_CMD.dataPatternLength = dataPatternLength;
		memcpy(GlobalCmd.CMD_U.RX_DATA_BEGIN_CMD.dataPattern, dataPattern, dataPatternLength);

		if (!artSendCmd(&GlobalCmd,
						(sizeof(GlobalCmd.CMD_U.RX_DATA_BEGIN_CMD) +
						sizeof(GlobalCmd.cmdID) -
						MAX_BLOCK_BYTES +
						GlobalCmd.CMD_U.RX_DATA_BEGIN_CMD.dataPatternLength),
						NULL))
		{
			uiPrintf("Error: Unable to successfully send RX_DATA_BEGIN_CMD command to client!\n");
		}
	}
//	checkLibError(devNum, 1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲欧洲一区高清在线观看| 国产精品不卡一区| 中文字幕一区二区三区在线播放| 夜夜嗨av一区二区三区中文字幕| 久久不见久久见免费视频7 | 国产精品欧美经典| 五月婷婷激情综合| 99视频精品全部免费在线| 欧美久久久久久久久久| 亚洲欧美日本在线| 国产98色在线|日韩| 欧美一区二区在线免费播放| 亚洲精品你懂的| 成人激情文学综合网| 日韩精品专区在线影院重磅| 亚洲一卡二卡三卡四卡| 99精品欧美一区| 国产精品久久久久久久久图文区| 日本欧美一区二区三区| 欧美日韩一本到| 一区二区三区国产| 91啪在线观看| 国产精品传媒视频| 成人高清在线视频| 欧美激情中文字幕| 欧美色中文字幕| 中文字幕一区二区三中文字幕| 国模无码大尺度一区二区三区| 欧美夫妻性生活| 日日摸夜夜添夜夜添亚洲女人| 色狠狠一区二区三区香蕉| 国产精品国产三级国产普通话蜜臀 | 亚洲国产精品久久艾草纯爱| 99久久精品国产一区二区三区| 久久久国产一区二区三区四区小说 | 国产91精品一区二区麻豆网站| 日韩精品专区在线影院重磅| 老司机午夜精品99久久| 日韩欧美另类在线| 紧缚奴在线一区二区三区| 精品成人在线观看| 国产精品自拍毛片| 国产精品免费视频网站| av日韩在线网站| 亚洲欧美另类图片小说| 欧美日韩一区不卡| 美女网站色91| 久久久九九九九| 99精品欧美一区二区蜜桃免费| 国产精品国产三级国产aⅴ入口| 不卡av在线免费观看| 亚洲精品视频在线看| 欧美精品xxxxbbbb| 久久国产精品区| 国产婷婷色一区二区三区四区 | 国产精品麻豆一区二区| 91麻豆产精品久久久久久| 亚洲国产精品久久久久婷婷884| 欧美一级艳片视频免费观看| 久久97超碰国产精品超碰| 国产欧美日韩在线视频| 91国产丝袜在线播放| 免费久久精品视频| 中文字幕av不卡| 欧美视频一区二区三区| 国产一区二区三区四区五区美女 | 日韩精品成人一区二区三区| 日韩欧美在线观看一区二区三区| 国产一区二区三区久久久| 综合激情成人伊人| 欧美一级理论片| 91美女片黄在线| 精品一区免费av| 亚洲精品成a人| 久久人人爽人人爽| 欧美日韩高清一区二区不卡| 国产一区二区视频在线| 亚洲第一精品在线| 国产精品欧美经典| 精品捆绑美女sm三区| 91亚洲精品一区二区乱码| 美脚の诱脚舐め脚责91 | 裸体健美xxxx欧美裸体表演| 国产精品亲子乱子伦xxxx裸| 欧美理论电影在线| 一本久久a久久精品亚洲| 国产一区免费电影| 全国精品久久少妇| 一区二区激情小说| 国产精品视频看| 亚洲精品一区在线观看| 欧美图区在线视频| 色综合色综合色综合色综合色综合| 久久精品国产精品青草| 天天爽夜夜爽夜夜爽精品视频| 中文字幕av免费专区久久| 日韩精品一区二区三区蜜臀| 欧美日韩情趣电影| 在线视频欧美精品| av资源网一区| 成人午夜激情片| 国产福利一区二区三区| 久久99精品国产91久久来源| 日韩和欧美的一区| 亚洲国产成人av网| 一区二区三区四区乱视频| 国产精品国产自产拍高清av王其| 久久久久久**毛片大全| 26uuu另类欧美亚洲曰本| 日韩欧美一级精品久久| 日韩一区二区免费高清| 制服丝袜成人动漫| 51午夜精品国产| 制服丝袜国产精品| 日韩一区二区精品在线观看| 欧美一区二区三区四区在线观看| 欧美另类高清zo欧美| 91精品久久久久久久99蜜桃| 欧美裸体bbwbbwbbw| 欧美丰满一区二区免费视频| 国产精品萝li| 日本一区二区三区dvd视频在线 | 日韩视频免费观看高清完整版在线观看 | 精品国产一二三| 亚洲精品一区在线观看| 2021中文字幕一区亚洲| 欧美激情在线看| 亚洲视频一区在线| 亚洲第一搞黄网站| 蜜桃一区二区三区在线| 久久99蜜桃精品| 成人午夜视频在线| 在线看一区二区| 欧美精品乱码久久久久久| 日韩丝袜情趣美女图片| 久久久噜噜噜久噜久久综合| 中文字幕不卡三区| 亚洲综合精品自拍| 日韩av电影免费观看高清完整版| 日本欧美一区二区三区乱码 | 亚洲韩国精品一区| 麻豆一区二区三区| 99久久精品国产毛片| 欧美性猛交xxxxxx富婆| 日韩一级成人av| 久久青草欧美一区二区三区| 国产精品灌醉下药二区| 亚洲成在人线免费| 国产成人亚洲综合色影视| 色八戒一区二区三区| 日韩精品一区二区三区中文精品| 国产亚洲综合色| 亚洲一区二区视频在线观看| 国内精品国产成人| 日本久久精品电影| 久久亚洲精品国产精品紫薇| 最新久久zyz资源站| 美女视频一区二区| 91亚洲大成网污www| 精品日韩99亚洲| 夜夜爽夜夜爽精品视频| 国产一区二区久久| 在线不卡欧美精品一区二区三区| 亚洲国产高清不卡| 日韩精品一级中文字幕精品视频免费观看| 国产美女娇喘av呻吟久久| 欧美色视频在线| 国产精品理论片在线观看| 日韩精品久久久久久| 337p日本欧洲亚洲大胆精品| 亚洲五码中文字幕| 成人a区在线观看| 欧美videofree性高清杂交| 亚洲乱码国产乱码精品精小说| 精品一区二区久久| 欧美另类z0zxhd电影| 亚洲欧美日韩久久| 豆国产96在线|亚洲| www国产成人免费观看视频 深夜成人网 | 日韩主播视频在线| 99re成人精品视频| 久久精品亚洲麻豆av一区二区| 亚洲第一主播视频| 欧美优质美女网站| 一区二区三区免费在线观看| 国产69精品久久久久毛片| 精品国产免费人成在线观看| 无吗不卡中文字幕| 欧美日韩小视频| 亚洲一区二区在线免费观看视频 | 日韩码欧中文字| 国产成人精品一区二| 精品成人一区二区三区| 麻豆国产一区二区| 日韩欧美视频在线| 紧缚捆绑精品一区二区| 欧美成人a视频| 久久99精品国产麻豆不卡| 欧美一级片在线看| 免费的国产精品|