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

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

?? meeprom.c

?? Atheros AP Test with Agilent N4010A source code
?? C
?? 第 1 頁 / 共 5 頁
字號:
		}
	}
	else if((pLibDev->p16kEepHeader->majorVersion >= 4) && (pLibDev->p16kEepHeader->eepMap == 1)) {
		if(!initialize_datasets(devNum, pTempGen3CalData, pLibDev->pGen3RawData)) {
			return (FALSE);
		}

		//read eeprom data into contiguous struct. 
		// need to pass up to ART for display
		if(pLibDev->pGen3CalData == NULL) {
			pLibDev->pGen3CalData = (EEPROM_FULL_DATA_STRUCT_GEN3 *)malloc(sizeof(EEPROM_FULL_DATA_STRUCT_GEN3));
			if(NULL == pLibDev->pGen3CalData) {
				mError(devNum, ENOMEM, "Device Number %d:Device Number %d:Unable to allocate memory for full gen3 eeprom struct\n", devNum);
				return (FALSE);
			}
		}

		//copy in the data
		memset(pLibDev->pGen3CalData, 0, sizeof(EEPROM_FULL_DATA_STRUCT_GEN3));
		copyGen3EepromStruct(pLibDev->pGen3CalData, pTempGen3CalData);
		
		//#######TO DO would free pTempGen3CalData here
		for(i = 0; i < 3; i++) {
			if(pTempGen3CalData[i]) {
				free(pTempGen3CalData[i]);
			}
		}

	}

	else if((pLibDev->p16kEepHeader->majorVersion >= 5) && (pLibDev->p16kEepHeader->eepMap == 2)) {
		if(!initialize_datasets_gen5(devNum, pTempGen5CalData, pLibDev->pGen5RawData)) {
			return (FALSE);
		}

		//read eeprom data into contiguous struct. 
		// need to pass up to ART for display
		if(pLibDev->pGen5CalData == NULL) {
			pLibDev->pGen5CalData = (EEPROM_FULL_DATA_STRUCT_GEN5 *)malloc(sizeof(EEPROM_FULL_DATA_STRUCT_GEN5));
			if(NULL == pLibDev->pGen5CalData) {
				mError(devNum, ENOMEM, "Device Number %d:Device Number %d:Unable to allocate memory for full gen5 eeprom struct\n", devNum);
				return (FALSE);
			}
		}

		//copy in the data
		memset(pLibDev->pGen5CalData, 0, sizeof(EEPROM_FULL_DATA_STRUCT_GEN5));
		copyGen5EepromStruct(pLibDev->pGen5CalData, pTempGen5CalData);

		for(i = 0; i < 3; i++) {
			if(pTempGen5CalData[i]) {
				free(pTempGen5CalData[i]);
			}
		}

	} // griffin eeprom read

	//read the power per rate info for test channels
	for(mode = 0; mode <= MAX_MODE; mode++) {
		switch(mode) {
		case MODE_11A:
			offset = pOffsets->GROUP5_11A_TRGT_PWR;
			if(pLibDev->p16kEepHeader->majorVersion >= 4) {
				offset = pLibDev->p16kEepHeader->trgtPowerStartLocation;
			}
			numChannels = NUM_TEST_FREQUENCIES;
			pPowerInfo = pLibDev->p16KTrgtPowerInfo->trgtPwr_11a;
			pNumTrgtChannels = &(pLibDev->p16KTrgtPowerInfo->numTargetPwr_11a);
			break;

		case MODE_11G:
		case MODE_11O:
			offset = pOffsets->GROUP7_11G_TRGT_PWR;
			if(pLibDev->p16kEepHeader->majorVersion >= 4) {
				offset = (A_UINT16)(pLibDev->p16kEepHeader->trgtPowerStartLocation + 0x14);
			}
			numChannels = 3;
			pPowerInfo = pLibDev->p16KTrgtPowerInfo->trgtPwr_11g;
			pNumTrgtChannels = &(pLibDev->p16KTrgtPowerInfo->numTargetPwr_11g);
			break;
		
		case MODE_11B:
			offset = pOffsets->GROUP6_11B_TRGT_PWR;
			if(pLibDev->p16kEepHeader->majorVersion >= 4) {
				offset = (A_UINT16)(pLibDev->p16kEepHeader->trgtPowerStartLocation + 0x10);
			}
			numChannels = 2;
			pPowerInfo = pLibDev->p16KTrgtPowerInfo->trgtPwr_11b;
			pNumTrgtChannels = &(pLibDev->p16KTrgtPowerInfo->numTargetPwr_11b);
			break;
		default:
			mError(devNum, EIO, "Device Number %d:Device Number %d:Bad mode in readEepromIntoDataset, internal software error, should not get here\n", devNum);
			return(FALSE);
		} //end switch

		*pNumTrgtChannels = 0;
		for(i = 0; i < numChannels; i++) {
			if(readTrgtPowers(devNum, (A_UINT16)(offset + pLibDev->eepromStartLoc), pPowerInfo, mode)) {
				(*pNumTrgtChannels)++;
			}
			pPowerInfo++;
			offset+=2;
		}

	}
	
	//read the CTL edge power limits
	
	i = 0;
	offset = pOffsets->GROUP8_CTL_INFO;
	if(pLibDev->p16kEepHeader->majorVersion >= 4) {
		offset = (A_UINT16)(pLibDev->p16kEepHeader->trgtPowerStartLocation + 0x1a);
	}
	while ((pLibDev->p16kEepHeader->testGroups[i] != 0) && (i < pLibDev->p16kEepHeader->numCtl)) {
		sizeCtl = readCtlInfo(devNum, (A_UINT16)(offset + pLibDev->eepromStartLoc), pRdEdgePwrInfo);
		
		for(j = 0; j < NUM_16K_EDGES; j++ ) {
			if ((pRdEdgePwrInfo[j].rdEdge==0) && (pRdEdgePwrInfo[j].twice_rdEdgePower==0))
			{
				pRdEdgePwrInfo[j].rdEdge = 0; // if not all rdedges were specified for this CTL
			} else
			{
				if(((pLibDev->p16kEepHeader->testGroups[i] & 0x7) == 0) ||
					((pLibDev->p16kEepHeader->testGroups[i] & 0x7) == 0x3)  ){ //turbo mode
				
					pRdEdgePwrInfo[j].rdEdge = fbin2freq(devNum, pRdEdgePwrInfo[j].rdEdge);
				}
				else {
					pRdEdgePwrInfo[j].rdEdge = fbin2freq_2p4(devNum, pRdEdgePwrInfo[j].rdEdge);
				}
			}
		}
		i++;
		offset = (A_UINT16)(offset + sizeCtl);
		pRdEdgePwrInfo+=NUM_16K_EDGES;
	}
	  
	return TRUE;
}
// only searches for integer values in integer lists. used for channel and pcdac lists
/*void iGetLowerUpperValues 
(
 A_UINT16	value,			//value to search for
 A_UINT16	*pList,			//ptr to the list to search
 A_UINT16	listSize,		//number of entries in list
 A_UINT16	*pLowerValue,	//return the lower value
 A_UINT16	*pUpperValue	//return the upper value	
)
{
	A_UINT16	i;
	A_UINT16	listEndValue = *(pList + listSize - 1);
	A_UINT16	target = value ;

	//see if value is lower than the first value in the list
	//if so return first value
	if (target <= (*pList)) {
		*pLowerValue = *pList;
		*pUpperValue = *pList;
		return;
	}
  
	//see if value is greater than last value in list
	//if so return last value
	if (target >= listEndValue) {
		*pLowerValue = listEndValue;
		*pUpperValue = listEndValue;
		return;
	}

	//look for value being near or between 2 values in list
	for(i = 0; i < listSize; i++) {
		//if value is close to the current value of the list 
		//then target is not between values, it is one of the values
		if (pList[i] == target) {
			*pLowerValue = pList[i];
			*pUpperValue = pList[i];
			return;
		}

		//look for value being between current value and next value
		//if so return these 2 values
		if (target < pList[i + 1]) {
			*pLowerValue = pList[i];
			*pUpperValue = pList[i + 1];
			return;
		}
	}
} */

/**************************************************************************
* readHeaderInfo - Read eeprom header info
*
* RETURNS: 
*/
void  readHeaderInfo
(
 A_UINT32			devNum,
 MDK_EEP_HEADER_INFO	*pHeaderInfo		//ptr to header struct to fill
)
{
	A_UINT32		tempValue;
	A_UINT16		offset;
	A_UINT16        i;
	MODE_HEADER_INFO	*pModeInfo;
    LIB_DEV_INFO *pLibDev = gLibInfo.pLibDevArray[devNum];


	tempValue = eepromRead(devNum, (pOffsets->HDR_COUNTRY_CODE + pLibDev->eepromStartLoc));
	pHeaderInfo->countryRegCode = (A_UINT16)(tempValue);

	if(((pHeaderInfo->majorVersion == 3) && (pHeaderInfo->minorVersion >= 2)) 
			|| (pHeaderInfo->majorVersion >= 4)){
		pHeaderInfo->countryRegCode = (A_UINT16)(pHeaderInfo->countryRegCode & 0xfff);
		pHeaderInfo->countryCodeFlag = (A_UINT16)((tempValue >> 15) & 0x01);

	if(((pHeaderInfo->majorVersion == 3) && (pHeaderInfo->minorVersion >= 3)) 
			|| (pHeaderInfo->majorVersion >= 4)){
			pHeaderInfo->worldwideRoaming = (A_UINT16)((tempValue >> 14) & 0x01);
		}
	}
	else {
		pHeaderInfo->countryCodeFlag = 1;
	}


	tempValue = eepromRead(devNum, (pOffsets->HEADER_MAC_FEATURES + pLibDev->eepromStartLoc));
	pHeaderInfo->keyCacheSize = (A_UINT16)((tempValue >> 12) & 0xf);// Added by Giri
	pHeaderInfo->enableClip = (A_UINT16)((tempValue >> 9) & 0x1);// Added by Giri
	pHeaderInfo->maxNumQCU = (A_UINT16)((tempValue >> 4) & 0x1f);// Added by Giri
	pHeaderInfo->burstingDisable = (A_UINT16)((tempValue >> 3) & 0x1);// Added by Giri
	pHeaderInfo->fastFrameDisable = (A_UINT16)((tempValue >> 2) & 0x1);// Added by Giri
	pHeaderInfo->aesDisable = (A_UINT16)((tempValue >> 1) & 0x1);// Added by Giri
	pHeaderInfo->compressionDisable = (A_UINT16)(tempValue & 0x1);// Added by Giri

	if(((pHeaderInfo->majorVersion == 5) && (pHeaderInfo->minorVersion >= 3)) ||
		(pHeaderInfo->majorVersion >= 6)){
		tempValue = eepromRead(devNum, (pOffsets->HEADER_MAC_FEATURES + 1 + pLibDev->eepromStartLoc));
		pHeaderInfo->enableFCCMid = (A_UINT16)((tempValue >> 6) & 0x1);
		pHeaderInfo->enableJapanEvenU1 = (A_UINT16)((tempValue >> 7) & 0x1);
		pHeaderInfo->enableJapenU2 = (A_UINT16)((tempValue >> 8) & 0x1);
		pHeaderInfo->enableJapnMid = (A_UINT16)((tempValue >> 9) & 0x1);
		pHeaderInfo->disableJapanOddU1 = (A_UINT16)((tempValue >> 10) & 0x1);
		pHeaderInfo->enableJapanMode11aNew = (A_UINT16)((tempValue >> 11) & 0x1);
	}

	tempValue = eepromRead(devNum, (pOffsets->HDR_MODE_DEVICE_INFO + pLibDev->eepromStartLoc));
	pHeaderInfo->info11a.turboDisable = (A_UINT16)((tempValue >> 15) & 0x01);// Added by Giri
	pHeaderInfo->RFKill = (A_UINT16)((tempValue >> 14) & 0x01);
	pHeaderInfo->deviceType = (A_UINT16)((tempValue >> 11) & 0x07);
	pHeaderInfo->info11g.turboDisable = (A_UINT16)((tempValue >> 3) & 0x01); // Added by Giri
	pHeaderInfo->Bmode = (A_UINT16)((tempValue >> 1) & 0x01);
	pHeaderInfo->Amode = (A_UINT16)(tempValue & 0x01);

	if(((pHeaderInfo->majorVersion == 3) && (pHeaderInfo->minorVersion >= 1)) 
			|| (pHeaderInfo->majorVersion >= 4)){
		pHeaderInfo->info11a.turbo.max2wPower = (A_UINT16)((tempValue >> 4) & 0x3f);
		pHeaderInfo->xtnd11a = (A_UINT16)((tempValue >> 3) & 0x01);
		pHeaderInfo->Gmode = (A_UINT16)((tempValue >> 2) & 0x01);

		tempValue = eepromRead(devNum, (pOffsets->HDR_ANTENNA_GAIN + pLibDev->eepromStartLoc));
		pHeaderInfo->antennaGain5 = (A_UINT16)((tempValue >> 8) & 0xff);
		pHeaderInfo->antennaGain2_4 = (A_UINT16)(tempValue & 0xff);
	}

	if(pHeaderInfo->majorVersion >= 4) {
		tempValue = eepromRead(devNum, (pOffsets->HDR_ANTENNA_GAIN + 1 + pLibDev->eepromStartLoc));
		pHeaderInfo->earStartLocation = (A_UINT16)(tempValue & 0xfff);
		pHeaderInfo->eepMap = (A_UINT16)((tempValue >> 14) & 0x3);
		pHeaderInfo->disableXR = ((A_UINT16)((tempValue >> 12) & 0x3)) ? TRUE : FALSE;

		tempValue = eepromRead(devNum, (pOffsets->HDR_ANTENNA_GAIN + 2 + pLibDev->eepromStartLoc));
		pHeaderInfo->trgtPowerStartLocation = (A_UINT16)(tempValue & 0xfff);
		pHeaderInfo->enable32khz = (A_UINT16)((tempValue >> 15) & 0x1);

		if(((pHeaderInfo->majorVersion == 4) && (pHeaderInfo->minorVersion >= 5)) ||
			(pHeaderInfo->majorVersion >= 5)){
			pHeaderInfo->oldEnable32khz = (A_UINT16)((tempValue >> 15) & 0x1);
			pHeaderInfo->enable32khz = (A_UINT16)((tempValue >> 14) & 0x1);
		}
	}

	if(((pHeaderInfo->majorVersion == 4) && (pHeaderInfo->minorVersion >= 4)) ||
		(pHeaderInfo->majorVersion >= 5)){
		tempValue = eepromRead(devNum, (pOffsets->HDR_ANTENNA_GAIN + 3 + pLibDev->eepromStartLoc));
		pHeaderInfo->eepFileVersion = (A_UINT16)((tempValue >> 8) & 0xff);
		pHeaderInfo->earFileVersion = (A_UINT16)(tempValue & 0xff);

		tempValue = eepromRead(devNum, (pOffsets->HDR_ANTENNA_GAIN + 4 + pLibDev->eepromStartLoc));
		pHeaderInfo->artBuildNumber = (A_UINT16)((tempValue >> 10) & 0x3f);
		pHeaderInfo->earFileIdentifier = (A_UINT16)(tempValue & 0xff);
	}

	if(((pHeaderInfo->majorVersion == 4) && (pHeaderInfo->minorVersion >= 5)) ||
		(pHeaderInfo->majorVersion >= 5)){
		tempValue = eepromRead(devNum, (pOffsets->HDR_ANTENNA_GAIN + 5 + pLibDev->eepromStartLoc));
		pHeaderInfo->maskRadio0 = (A_UINT16)(tempValue & 0x3);
		pHeaderInfo->maskRadio1 = (A_UINT16)((tempValue >> 2) & 0x3);

		if(pHeaderInfo->eepMap >= 2) {
			pHeaderInfo->calStartLocation = (A_UINT16)((tempValue >> 4) & 0xfff);
		}
	}

	offset = pOffsets->HDR_11A_COMMON;
	tempValue = eepromRead(devNum, (offset + pLibDev->eepromStartLoc));
	pHeaderInfo->info11a.switchSettling = (A_UINT16)((tempValue >> 8) & 0x7f);
	pHeaderInfo->info11a.txrxAtten = (A_UINT16)((tempValue >> 2) & 0x3f);
	pHeaderInfo->info11a.antennaControl[0] = (A_UINT16)((tempValue << 4) & 0x3f);

	offset++;
	tempValue = eepromRead(devNum, (offset + pLibDev->eepromStartLoc));
	pHeaderInfo->info11a.antennaControl[0] = (A_UINT16)(((tempValue >> 12) & 0x0f) | pHeaderInfo->info11a.antennaControl[0]);
	pHeaderInfo->info11a.antennaControl[1] = (A_UINT16)((tempValue >> 6) & 0x3f);
	pHeaderInfo->info11a.antennaControl[2] = (A_UINT16)(tempValue  & 0x3f);

	offset++;
	tempValue = eepromRead(devNum, (offset + pLibDev->eepromStartLoc));
	pHeaderInfo->info11a.antennaControl[3] = (A_UINT16)((tempValue >> 10)  & 0x3f);
	pHeaderInfo->info11a.antennaControl[4] = (A_UINT16)((tempValue >> 4)  & 0x3f);
	pHeaderInfo->info11a.antennaControl[5] = (A_UINT16)((tempValue << 2)  & 0x3f);

	offset++;
	tempValue = eepromRead(devNum, (offset + pLibDev->eepromStartLoc));
	pHeaderInfo->info11a.antennaControl[5] = (A_UINT16)(((tempValue >> 14)  & 0x03) | pHeaderInfo->info11a.antennaControl[5]);
	pHeaderInfo->info11a.antennaControl[6] = (A_UINT16)((tempValue >> 8)  & 0x3f);
	pHeaderInfo->info11a.antennaControl[7] = (A_UINT16)((tempValue >> 2)  & 0x3f);
	pHeaderInfo->info11a.antennaControl[8] = (A_UINT16)((tempValue << 4)  & 0x3f);

	offset++;
	tempValue = eepromRead(devNum, (offset + pLibDev->eepromStartLoc));
	pHeaderInfo->info11a.antennaControl[8] = (A_UINT16)(((tempValue >> 12)  & 0x0f) | pHeaderInfo->info11a.antennaControl[8]);
	pHeaderInfo->info11a.antennaControl[9] = (A_UINT16)((tempValue >> 6)  & 0x3f);
	pHeaderInfo->info11a.antennaControl[10] = (A_UINT16)(tempValue & 0x3f);

	offset++;
	tempValue = eepromRead(devNum, (offset + pLibDev->eepromStartLoc));
	pHeaderInfo->info11a.adcDesiredSize = (A_INT8)((tempValue >> 8)  & 0xff);
	pHeaderInfo->info11a.ob_4 = (A_UINT16)((tempValue >> 5)  & 0x07);
	pHeaderInfo->info11a.db_4 = (A_UINT16)((tempValue >> 2)  & 0x07);
	pHeaderInfo->info11a.ob_3 = (A_UINT16)((tempValue << 1)  & 0x07);

	offset++;
	tempValue = eepromRead(devNum, (offset + pLibDev->eepromStartLoc));
	pHeaderInfo->info11a.ob_3 = (A_UINT16)(((tempValue >> 15)  & 0x01) | pHeaderInfo->info11a.ob_3);
	pHeaderInfo->info11a.db_3 = (A_UINT16)((tempValue >> 12)  & 0x07);
	pHeaderInfo->info11a.ob_2 = (A_UINT16)((tempValue >> 9)  & 0x07);
	pHeaderInfo->info11a.db_2 = (A_UINT16)((tempValue >> 6)  & 0x07);
	pHeaderInfo->info11a.ob_1 = (A_UINT16)((tempValue >> 3)  & 0x07);
	pHeaderInfo->info11a.db_1 = (A_UINT16)(tempValue & 0x07);

	offset++;
	tempValue = eepromRead(devNum, (offset + pLibDev->eepromStartLoc));
	pHeaderInfo->info11a.txEndToXLNAOn = (A_UINT16)((tempValue >> 8)  & 0xff);
	pHeaderInfo->info11a.thresh62 = (A_UINT16)(tempValue  & 0xff);

	offset++;
	tempValue = eepromRead(devNum, (offset + pLibDev->eepromStartLoc));
	pHeaderInfo->info11a.txEndToXPAOff = (A_UINT16)((tempValue >> 8)  & 0xff);
	pHeaderInfo->info11a.txFrameToXPAOn = (A_UINT16)(tempValue  & 0xff);

	offset++;
	tempValue = eepromRead(devNum, (offset + pLibDev->eepromStartLoc));
	pHeaderInfo->info11a.pgaDesiredSize = (A_INT8)((tempValue >> 8)  & 0xff);
	pHeaderInfo->info11a.noisefloorThresh = (A_INT8)(tempValue  & 0xff);

	offset++;
	tempValue = eepromRead(devNum, (offset + pLibDev->eepromStartLoc));
	if(pHeaderInfo->majorVersion >= 4) {	
		pHeaderInfo->fixedBiasA = (A_UINT16)((tempValue >> 13)  & 0x01);
	}
	pHeaderInfo->info11a.xlnaGain = (A_UINT16)((tempValue >> 5)  & 0xff);
	pHeaderInfo->info11a.xgain = (A_UINT16)((tempValue >> 1)  & 0x0f);
	pHeaderInfo->info11a.xpd = (A_UINT16)(tempValue  & 0x01);

	if(((pHeaderInfo->majorVersion == 3) && (pHeaderInfo->minorVersion >= 3)) 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品视频一区二区三区| 国产在线视视频有精品| 青青草原综合久久大伊人精品 | av中文字幕亚洲| 日韩欧美综合在线| 亚洲一二三四在线观看| 风流少妇一区二区| 日韩欧美一区在线| 性久久久久久久久久久久| 99视频精品免费视频| 精品福利一二区| 日本最新不卡在线| 欧美在线啊v一区| 国产亚洲一区二区三区在线观看| 天天影视色香欲综合网老头| 91啪亚洲精品| 国产精品久久免费看| 国产一区二区三区四区五区美女 | 91免费看片在线观看| 精品精品欲导航| 亚洲成人免费视频| 日本高清不卡在线观看| 亚洲欧美综合另类在线卡通| 国产精品中文欧美| 精品久久一区二区三区| 丝袜亚洲另类丝袜在线| 欧美日韩另类国产亚洲欧美一级| 亚洲欧美国产高清| 一本到不卡免费一区二区| 亚洲人成影院在线观看| 99v久久综合狠狠综合久久| 国产精品乱码一区二三区小蝌蚪| 国产一区二区主播在线| 久久久综合九色合综国产精品| 美女网站色91| 日韩欧美色综合| 国内精品自线一区二区三区视频| 日韩美女视频在线| 国产一区在线不卡| 中文字幕乱码日本亚洲一区二区| 成人免费视频视频| 中文字幕日韩一区| 在线观看亚洲精品| 日韩精品每日更新| 欧美不卡视频一区| 国产盗摄一区二区| 亚洲视频在线一区| 欧美福利视频导航| 韩国女主播一区| 日本一区二区三区在线观看| 91看片淫黄大片一级| 亚洲一区二三区| 欧美一卡2卡三卡4卡5免费| 日本aⅴ精品一区二区三区| 精品久久久久一区二区国产| 国产成人精品网址| 亚洲久本草在线中文字幕| 欧美色倩网站大全免费| 久久99热国产| 国产精品久久久久桃色tv| 色播五月激情综合网| 日本美女视频一区二区| 国产日本亚洲高清| 欧美色成人综合| 国产一区欧美一区| 一区二区三区四区不卡视频| 91精品国产aⅴ一区二区| 国产福利精品导航| 亚洲在线一区二区三区| 2欧美一区二区三区在线观看视频| 成人18视频在线播放| 香蕉乱码成人久久天堂爱免费| 2023国产精华国产精品| 日本久久一区二区| 国产伦精品一区二区三区免费| 亚洲黄色片在线观看| 久久婷婷国产综合精品青草| 欧洲色大大久久| 国产福利一区二区| 日韩av一级电影| 亚洲欧美日韩国产成人精品影院| 精品免费国产二区三区| 欧洲一区二区三区免费视频| 国产宾馆实践打屁股91| 日韩高清国产一区在线| 亚洲欧洲日韩一区二区三区| 91精品国产综合久久精品app| www..com久久爱| 国产剧情av麻豆香蕉精品| 日韩av中文字幕一区二区| 亚洲欧美日韩精品久久久久| 国产日本一区二区| 精品福利一二区| 欧美肥胖老妇做爰| 色一情一伦一子一伦一区| 国产乱码精品一区二区三区av | 不卡的av在线| 蜜桃视频一区二区三区在线观看| 亚洲美女偷拍久久| ㊣最新国产の精品bt伙计久久| 欧美精品一区二区三区高清aⅴ | 欧洲精品一区二区| 91影视在线播放| 粉嫩av一区二区三区粉嫩| 久久成人免费网站| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲一区二区三区在线播放| 亚洲色欲色欲www在线观看| 国产日韩欧美制服另类| 久久久国产午夜精品 | 精彩视频一区二区三区| 午夜精品福利在线| 日韩黄色一级片| 日本欧美一区二区三区乱码| 轻轻草成人在线| 男女激情视频一区| 久久精品噜噜噜成人av农村| 日本欧美在线看| 美女一区二区三区| 国产在线精品一区在线观看麻豆| 极品少妇xxxx精品少妇偷拍| 国产美女在线精品| 成人精品视频一区二区三区尤物| 成人午夜视频免费看| 成人一级片在线观看| 不卡一卡二卡三乱码免费网站| 成人激情开心网| 91理论电影在线观看| 色哟哟精品一区| 在线观看91av| 精品日韩一区二区三区免费视频| 精品久久久久久综合日本欧美| 久久久一区二区三区| 国产精品久久久久久久第一福利| 亚洲人成在线播放网站岛国| 五月天久久比比资源色| 老色鬼精品视频在线观看播放| 国产麻豆成人精品| 色88888久久久久久影院按摩| 777xxx欧美| 国产三级精品在线| 亚洲一区二区三区在线看| 久久se精品一区精品二区| 国产91露脸合集magnet| 欧美日韩精品欧美日韩精品一综合| 91精品国产欧美一区二区| 欧美激情一区二区| 亚洲成人黄色影院| 国产91在线看| 91 com成人网| 亚洲一二三区视频在线观看| 日韩欧美激情四射| 国产女人18水真多18精品一级做| 中文字幕中文字幕中文字幕亚洲无线| 日本欧美一区二区在线观看| 国产福利91精品一区二区三区| 亚洲一区免费在线观看| 91色porny| 亚洲人成影院在线观看| zzijzzij亚洲日本少妇熟睡| 久久久www成人免费毛片麻豆 | 99久久精品费精品国产一区二区| 国产校园另类小说区| 国产福利精品导航| 欧美激情在线一区二区| 处破女av一区二区| 国产精品视频看| 99精品桃花视频在线观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 精品视频一区三区九区| 亚洲午夜精品一区二区三区他趣| 色噜噜狠狠成人中文综合| 亚洲自拍偷拍网站| 欧美午夜精品一区二区蜜桃| 亚洲国产精品久久人人爱蜜臀| 在线精品国精品国产尤物884a| 亚洲一区在线视频观看| 欧美精品第一页| 久久国产三级精品| 国产婷婷色一区二区三区在线| 国产精品自拍三区| 国产精品天干天干在线综合| 99国产精品久久久| 亚洲成年人网站在线观看| 91精品婷婷国产综合久久性色| 免费成人av在线| 久久九九99视频| eeuss鲁片一区二区三区在线观看| 日韩美女视频一区二区 | av亚洲精华国产精华精| 亚洲激情网站免费观看| 91麻豆精品国产91久久久久久| 婷婷夜色潮精品综合在线| 日韩欧美的一区二区| 风流少妇一区二区| 一区二区三区不卡视频 | 国产性色一区二区| 色嗨嗨av一区二区三区| 免费高清不卡av| 国产精品成人免费在线|