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

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

?? dst.c

?? linux環(huán)境下的dvb驅(qū)動(dòng)程序
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
			use_dst_type = dsp->dst_type;			printk("%s: recognize %s\n", __FUNCTION__, dsp->mstr);			break;		}	}	if (i >= sizeof(dst_tlist) / sizeof(dst_tlist[0])) {		printk("%s: unable to recognize %s or %s\n", __FUNCTION__, &rxbuf[0], &rxbuf[1]);		printk("%s please email linux-dvb@linuxtv.org with this type in\n", __FUNCTION__);		use_dst_type = DST_TYPE_IS_SAT;		use_type_flags = DST_TYPE_HAS_SYMDIV;	}	switch (dst_type[dst_cur_no]) {		case (-1U):			/* not used */			break;		case DST_TYPE_IS_SAT:		case DST_TYPE_IS_TERR:		case DST_TYPE_IS_CABLE:			use_dst_type = (u8)(dst_type[dst_cur_no]);			break;		default:			printk("%s: invalid user override dst type %d, not used\n",				__FUNCTION__, dst_type[dst_cur_no]);			break;	}	dst_type_print(use_dst_type);	if (dst_type_flags[dst_cur_no] != (-1U)) {		printk("%s: user override dst type flags 0x%x\n",				__FUNCTION__, dst_type_flags[dst_cur_no]);		use_type_flags = dst_type_flags[dst_cur_no];	}	dst->type_flags = use_type_flags;	dst->dst_type= use_dst_type;	dst_type_flags_print(dst->type_flags);	if (dst->type_flags & DST_TYPE_HAS_TS204) {		dst_packsize(dst, 204);	}	return 0;}static int dst_command (struct dst_data *dst, u8 *data, u8 len){	int retval;	u8 reply;	dst_i2c_enable(dst);	dst_reset8820(dst);	retval = write_dst (dst, data, len);	if (retval < 0) {		dst_i2c_disable(dst);		dprintk("%s: write not successful\n", __FUNCTION__);		return retval;	}	dvb_delay(33);	retval = read_dst (dst, &reply, 1);	dst_i2c_disable(dst);	if (retval < 0) {		dprintk("%s: read verify  not successful\n", __FUNCTION__);		return retval;	}	if (reply != 0xff) {		dprintk("%s: write reply not 0xff 0x%02x \n", __FUNCTION__, reply);		return 0;	}	if (len >= 2 && data[0] == 0 && (data[1] == 1 || data[1] == 3))		return 0;	if (!dst_wait_dst_ready(dst))		return 0;	// dst_i2c_enable(i2c); Per dimitri	retval = read_dst (dst, dst->rxbuffer, 8);	dst_i2c_disable(dst);	if (retval < 0) {		dprintk("%s: read not successful\n", __FUNCTION__);		return 0;	}	if (dst->rxbuffer[7] != dst_check_sum (dst->rxbuffer, 7)) {		dprintk("%s: checksum failure\n", __FUNCTION__);		return 0;	}	return 0;}static int dst_get_signal(struct dst_data *dst){	int retval;	u8 get_signal[] = {0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfb};	if ((dst->diseq_flags & ATTEMPT_TUNE) == 0) {		dst->decode_lock = dst->decode_strength = dst->decode_snr = 0;		return 0;	}	if (0 == (dst->diseq_flags & HAS_LOCK)) {		dst->decode_lock = dst->decode_strength = dst->decode_snr = 0;		return 0;	}	if (time_after_eq(jiffies, dst->cur_jiff + (HZ/5))) {		retval =  dst_command(dst, get_signal, 8);		if (retval < 0)			return retval;		if (dst->dst_type == DST_TYPE_IS_SAT) {			dst->decode_lock = ((dst->rxbuffer[6] & 0x10) == 0) ?					1 : 0;			dst->decode_strength = dst->rxbuffer[5] << 8;			dst->decode_snr = dst->rxbuffer[2] << 8 |				dst->rxbuffer[3];		} else if ((dst->dst_type == DST_TYPE_IS_TERR) ||				(dst->dst_type == DST_TYPE_IS_CABLE)) {			dst->decode_lock = (dst->rxbuffer[1]) ?					1 : 0;			dst->decode_strength = dst->rxbuffer[4] << 8;			dst->decode_snr = dst->rxbuffer[3] << 8;		}		dst->cur_jiff = jiffies;	}	return 0;}/* * line22k0    0x00, 0x09, 0x00, 0xff, 0x01, 0x00, 0x00, 0x00 * line22k1    0x00, 0x09, 0x01, 0xff, 0x01, 0x00, 0x00, 0x00 * line22k2    0x00, 0x09, 0x02, 0xff, 0x01, 0x00, 0x00, 0x00 * tone        0x00, 0x09, 0xff, 0x00, 0x01, 0x00, 0x00, 0x00 * data        0x00, 0x09, 0xff, 0x01, 0x01, 0x00, 0x00, 0x00 * power_off   0x00, 0x09, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 * power_on    0x00, 0x09, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00 * Diseqc 1    0x00, 0x08, 0x04, 0xe0, 0x10, 0x38, 0xf0, 0xec * Diseqc 2    0x00, 0x08, 0x04, 0xe0, 0x10, 0x38, 0xf4, 0xe8  * Diseqc 3    0x00, 0x08, 0x04, 0xe0, 0x10, 0x38, 0xf8, 0xe4  * Diseqc 4    0x00, 0x08, 0x04, 0xe0, 0x10, 0x38, 0xfc, 0xe0  */static int dst_set_diseqc (struct dst_data *dst, u8 *cmd, u8 len){	u8 paket[8] =  {0x00, 0x08, 0x04, 0xe0, 0x10, 0x38, 0xf0, 0xec };	if (dst->dst_type == DST_TYPE_IS_TERR)		return 0;	if (len == 0 || len > 4)		return -EINVAL;	memcpy(&paket[3], cmd, len);	paket[7] = dst_check_sum (&paket[0], 7);	dst_command(dst, paket, 8);	return 0;}static int dst_tone_power_cmd (struct dst_data *dst){	u8 paket[8] =  {0x00, 0x09, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00};	if (dst->dst_type == DST_TYPE_IS_TERR)		return 0;	if (dst->voltage == SEC_VOLTAGE_OFF) 		paket[4] = 0;	else		paket[4] = 1;	if (dst->tone == SEC_TONE_ON)		paket[2] = dst->k22;	else		paket[2] = 0;	paket[7] = dst_check_sum (&paket[0], 7);	dst_command(dst, paket, 8);	return 0;}static int dst_set_voltage (struct dst_data *dst, fe_sec_voltage_t voltage){	u8 *val;	int need_cmd;	dst->voltage = voltage;	if (dst->dst_type == DST_TYPE_IS_TERR)		return 0;	need_cmd = 0;	val = &dst->tx_tuna[0];	val[8] &= ~0x40;	switch (voltage) {	case SEC_VOLTAGE_13:		if ((dst->diseq_flags & HAS_POWER) == 0)			need_cmd = 1;		dst->diseq_flags |= HAS_POWER;		break;	case SEC_VOLTAGE_18:		if ((dst->diseq_flags & HAS_POWER) == 0)			need_cmd = 1;		dst->diseq_flags |= HAS_POWER;		val[8] |= 0x40;		break;	case SEC_VOLTAGE_OFF:		need_cmd = 1;		dst->diseq_flags &= ~(HAS_POWER|HAS_LOCK|ATTEMPT_TUNE);		break;	default:		return -EINVAL;	}	if (need_cmd) {		dst_tone_power_cmd(dst);	}	return 0;}static int dst_set_tone (struct dst_data *dst, fe_sec_tone_mode_t tone){	u8 *val;	dst->tone = tone;	if (dst->dst_type == DST_TYPE_IS_TERR)		return 0;	val = &dst->tx_tuna[0];	val[8] &= ~0x1;	switch (tone) {	case SEC_TONE_OFF:		break;	case SEC_TONE_ON:		val[8] |= 1;		break;	default:		return -EINVAL;	}	dst_tone_power_cmd(dst);	return 0;}static int dst_get_tuna (struct dst_data *dst){int retval;	if ((dst->diseq_flags & ATTEMPT_TUNE) == 0)		return 0;	dst->diseq_flags &= ~(HAS_LOCK);	if (!dst_wait_dst_ready(dst))		return 0;	if (dst->type_flags & DST_TYPE_HAS_NEWTUNE) {		/* how to get variable length reply ???? */		retval = read_dst (dst, dst->rx_tuna, 10);	} else {		retval = read_dst (dst, &dst->rx_tuna[2], 8);	}	if (retval < 0) {		dprintk("%s: read not successful\n", __FUNCTION__);		return 0;	}	if (dst->type_flags & DST_TYPE_HAS_NEWTUNE) {		if (dst->rx_tuna[9] != dst_check_sum (&dst->rx_tuna[0], 9)) {			dprintk("%s: checksum failure?\n", __FUNCTION__);			return 0;		}	} else {		if (dst->rx_tuna[9] != dst_check_sum (&dst->rx_tuna[2], 7)) {			dprintk("%s: checksum failure?\n", __FUNCTION__);			return 0;		}	}	if (dst->rx_tuna[2] == 0 && dst->rx_tuna[3] == 0)		return 0;	dst->decode_freq = ((dst->rx_tuna[2] & 0x7f) << 8) +  dst->rx_tuna[3];	dst->decode_lock = 1;	/*	dst->decode_n1 = (dst->rx_tuna[4] << 8) +  			(dst->rx_tuna[5]);	dst->decode_n2 = (dst->rx_tuna[8] << 8) +  			(dst->rx_tuna[7]);	*/	dst->diseq_flags |= HAS_LOCK;	/* dst->cur_jiff = jiffies; */	return 1;}static int dst_write_tuna (struct dst_data *dst){	int retval;	u8 reply;	dprintk("%s: type_flags 0x%x \n", __FUNCTION__, dst->type_flags);	dst->decode_freq = 0;	dst->decode_lock = dst->decode_strength = dst->decode_snr = 0;	if (dst->dst_type == DST_TYPE_IS_SAT) {		if (!(dst->diseq_flags & HAS_POWER))			dst_set_voltage (dst, SEC_VOLTAGE_13);	}	dst->diseq_flags &= ~(HAS_LOCK|ATTEMPT_TUNE);	dst_i2c_enable(dst);	if (dst->type_flags & DST_TYPE_HAS_NEWTUNE) {		dst_reset8820(dst);		dst->tx_tuna[9] = dst_check_sum (&dst->tx_tuna[0], 9);		retval = write_dst (dst, &dst->tx_tuna[0], 10);	} else {		dst->tx_tuna[9] = dst_check_sum (&dst->tx_tuna[2], 7);		retval = write_dst (dst, &dst->tx_tuna[2], 8);	}	if (retval < 0) {		dst_i2c_disable(dst);		dprintk("%s: write not successful\n", __FUNCTION__);		return retval;	}	dvb_delay(3);	retval = read_dst (dst, &reply, 1);	dst_i2c_disable(dst);	if (retval < 0) {		dprintk("%s: read verify  not successful\n", __FUNCTION__);		return retval;	}	if (reply != 0xff) {		dprintk("%s: write reply not 0xff 0x%02x \n", __FUNCTION__, reply);		return 0;	}	dst->diseq_flags |= ATTEMPT_TUNE;	return dst_get_tuna(dst);}static void dst_init (struct dst_data *dst){static u8 ini_satci_tuna[] = {  9, 0, 3, 0xb6, 1, 0,    0x73, 0x21, 0, 0 };static u8 ini_satfta_tuna[] = { 0, 0, 3, 0xb6, 1, 0x55, 0xbd, 0x50, 0, 0 };static u8 ini_tvfta_tuna[] = { 0, 0,  3, 0xb6, 1, 7,    0x0,   0x0, 0, 0 };static u8 ini_tvci_tuna[] = { 9, 0,  3, 0xb6, 1, 7,    0x0,   0x0, 0, 0 };static u8 ini_cabfta_tuna[] = { 0, 0,  3, 0xb6, 1, 7,    0x0,   0x0, 0, 0 };static u8 ini_cabci_tuna[] = { 9, 0,  3, 0xb6, 1, 7,    0x0,   0x0, 0, 0 };	dst->inversion = INVERSION_ON;	dst->voltage = SEC_VOLTAGE_13;	dst->tone = SEC_TONE_OFF;	dst->symbol_rate = 29473000;	dst->fec = FEC_AUTO;	dst->diseq_flags = 0;	dst->k22 = 0x02;	dst->bandwidth = BANDWIDTH_7_MHZ;	dst->cur_jiff = jiffies;	if (dst->dst_type == DST_TYPE_IS_SAT) {		dst->frequency = 950000;		memcpy(dst->tx_tuna, ((dst->type_flags &  DST_TYPE_HAS_NEWTUNE )? 					ini_satci_tuna : ini_satfta_tuna),				sizeof(ini_satfta_tuna));	} else if (dst->dst_type == DST_TYPE_IS_TERR) {		dst->frequency = 137000000;		memcpy(dst->tx_tuna, ((dst->type_flags &  DST_TYPE_HAS_NEWTUNE )? 					ini_tvci_tuna : ini_tvfta_tuna),				sizeof(ini_tvfta_tuna));	} else if (dst->dst_type == DST_TYPE_IS_CABLE) {		dst->frequency = 51000000;		memcpy(dst->tx_tuna, ((dst->type_flags &  DST_TYPE_HAS_NEWTUNE )? 					ini_cabci_tuna : ini_cabfta_tuna),				sizeof(ini_cabfta_tuna));	}}struct lkup {	unsigned int cmd;	char *desc;} looker[] = {	{FE_GET_INFO,                "FE_GET_INFO:"},	{FE_READ_STATUS,             "FE_READ_STATUS:" },	{FE_READ_BER,                "FE_READ_BER:" },	{FE_READ_SIGNAL_STRENGTH,    "FE_READ_SIGNAL_STRENGTH:" },	{FE_READ_SNR,                "FE_READ_SNR:" },	{FE_READ_UNCORRECTED_BLOCKS, "FE_READ_UNCORRECTED_BLOCKS:" },	{FE_SET_FRONTEND,            "FE_SET_FRONTEND:" },	{FE_GET_FRONTEND,            "FE_GET_FRONTEND:" },	{FE_SLEEP,                   "FE_SLEEP:" },	{FE_INIT,                    "FE_INIT:" },	{FE_RESET,                   "FE_RESET:" },	{FE_SET_TONE,                "FE_SET_TONE:" },	{FE_SET_VOLTAGE,             "FE_SET_VOLTAGE:" },	};static int dst_ioctl (struct dvb_frontend *fe, unsigned int cmd, void *arg){	struct dst_data *dst = fe->data;	int retval;	/*	char  *cc;                	cc = "FE_UNSUPP:";	for(retval = 0; retval < sizeof(looker) / sizeof(looker[0]); retval++) {		if (looker[retval].cmd == cmd) {			cc = looker[retval].desc;			break;		}	}	dprintk("%s cmd %s (0x%x)\n",__FUNCTION__, cc, cmd);	*/	// printk("%s: dst %8.8x bt %8.8x i2c %8.8x\n", __FUNCTION__, dst, dst->bt, dst->i2c);	/* should be set by attach, but just in case */	dst->i2c = fe->i2c;        switch (cmd) {        case FE_GET_INFO: 	{	     struct dvb_frontend_info *info;		info = &dst_info_sat;		if (dst->dst_type == DST_TYPE_IS_TERR)			info = &dst_info_tv;		else if (dst->dst_type == DST_TYPE_IS_CABLE)			info = &dst_info_cable;		memcpy (arg, info, sizeof(struct dvb_frontend_info));		break;	}        case FE_READ_STATUS:	{		fe_status_t *status = arg;		*status = 0;		if (dst->diseq_flags & HAS_LOCK) {			dst_get_signal(dst);			if (dst->decode_lock)				*status |= FE_HAS_LOCK 					| FE_HAS_SIGNAL 					| FE_HAS_CARRIER					| FE_HAS_SYNC					| FE_HAS_VITERBI;		}		break;	}        case FE_READ_BER:	{		/* guess */		// *(u32*) arg = dst->decode_n1;		*(u32*) arg = 0;		return -EOPNOTSUPP; 	}        case FE_READ_SIGNAL_STRENGTH:	{		dst_get_signal(dst);		*((u16*) arg) = dst->decode_strength;		break;	}        case FE_READ_SNR:	{		dst_get_signal(dst);		*((u16*) arg) = dst->decode_snr;		break;	}	case FE_READ_UNCORRECTED_BLOCKS: 	{		*((u32*) arg) = 0;    /* the stv0299 can't measure BER and */		return -EOPNOTSUPP;   /* errors at the same time.... */	}        case FE_SET_FRONTEND:        {		struct dvb_frontend_parameters *p = arg;		dst_set_freq (dst, p->frequency);		dst_set_inversion (dst, p->inversion);		if (dst->dst_type == DST_TYPE_IS_SAT) {			dst_set_fec (dst, p->u.qpsk.fec_inner);			dst_set_symbolrate (dst, p->u.qpsk.symbol_rate);		} else if (dst->dst_type == DST_TYPE_IS_TERR) {			dst_set_bandwidth(dst, p->u.ofdm.bandwidth);		} else if (dst->dst_type == DST_TYPE_IS_CABLE) {			dst_set_fec (dst, p->u.qam.fec_inner);			dst_set_symbolrate (dst, p->u.qam.symbol_rate);		}		dst_write_tuna (dst);                break;        }	case FE_GET_FRONTEND:	{		struct dvb_frontend_parameters *p = arg;		p->frequency = dst->decode_freq;		p->inversion = dst->inversion;		if (dst->dst_type == DST_TYPE_IS_SAT) {			p->u.qpsk.symbol_rate = dst->symbol_rate;			p->u.qpsk.fec_inner = dst_get_fec (dst);		} else if (dst->dst_type == DST_TYPE_IS_TERR) {			p->u.ofdm.bandwidth = dst->bandwidth;		} else if (dst->dst_type == DST_TYPE_IS_CABLE) {			p->u.qam.symbol_rate = dst->symbol_rate;			p->u.qam.fec_inner = dst_get_fec (dst);			p->u.qam.modulation = QAM_AUTO;		}		break;	}        case FE_SLEEP:		return 0;        case FE_INIT:		dst_init(dst);		break;	case FE_RESET:		break;	case FE_DISEQC_SEND_MASTER_CMD:	{		struct dvb_diseqc_master_cmd *cmd = (struct dvb_diseqc_master_cmd *)arg;		retval = dst_set_diseqc (dst, cmd->msg, cmd->msg_len);		if (retval < 0)			return retval;		break;	}	case FE_SET_TONE:		retval = dst_set_tone (dst, (fe_sec_tone_mode_t) arg);		if (retval < 0)			return retval;		break;	case FE_SET_VOLTAGE:		retval = dst_set_voltage (dst, (fe_sec_voltage_t) arg);		if (retval < 0)			return retval;		break;	default:		return -EOPNOTSUPP;        };                return 0;} static int dst_attach (struct dvb_i2c_bus *i2c, void **data){	struct dst_data *dst;	struct bt878 *bt;	struct dvb_frontend_info *info;	dprintk("%s: check ci\n", __FUNCTION__);	if (dst_cur_no >= DST_MAX_CARDS) {		dprintk("%s: can't have more than %d cards\n", __FUNCTION__, DST_MAX_CARDS);		return -ENODEV;	}	bt = bt878_find_by_dvb_adap(i2c->adapter);	if (!bt)		return -ENODEV;	dst = kmalloc(sizeof(struct dst_data), GFP_KERNEL);	if (dst == NULL) {		printk(KERN_INFO "%s: Out of memory.\n", __FUNCTION__);		return -ENOMEM;	}	memset(dst, 0, sizeof(*dst));	*data = dst;	dst->bt = bt;	dst->i2c = i2c;	if (dst_check_ci(dst) < 0) {		kfree(dst);		return -ENODEV;	}	dst_init (dst);	dprintk("%s: register dst %8.8x bt %8.8x i2c %8.8x\n", __FUNCTION__, 			(u32)dst, (u32)(dst->bt), (u32)(dst->i2c));	info = &dst_info_sat;	if (dst->dst_type == DST_TYPE_IS_TERR)		info = &dst_info_tv;	else if (dst->dst_type == DST_TYPE_IS_CABLE)		info = &dst_info_cable;	dvb_register_frontend (dst_ioctl, i2c, dst, info);	dst_cur_no++;	return 0;}static void dst_detach (struct dvb_i2c_bus *i2c, void *data){	dvb_unregister_frontend (dst_ioctl, i2c);	dprintk("%s: unregister dst %8.8x\n", __FUNCTION__, (u32)(data));	if (data)		kfree(data);}static int __init init_dst (void){	return dvb_register_i2c_device (THIS_MODULE, dst_attach, dst_detach);}static void __exit exit_dst (void){	dvb_unregister_i2c_device (dst_attach);}module_init(init_dst);module_exit(exit_dst);MODULE_DESCRIPTION("DST DVB-S Frontend");MODULE_AUTHOR("Jamie Honan");MODULE_LICENSE("GPL");

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
6080日韩午夜伦伦午夜伦| 日韩欧美一二三四区| 国产成人自拍网| 国产精品一二三四区| 国产精品亚洲午夜一区二区三区| 免费日韩伦理电影| 91免费精品国自产拍在线不卡| 国产98色在线|日韩| 日本韩国欧美国产| 久久99精品一区二区三区三区| 七七婷婷婷婷精品国产| 日韩av一区二区三区四区| 午夜视频一区二区| 午夜精品久久久久久久 | 欧美色图12p| 欧美日韩极品在线观看一区| aaa亚洲精品| 欧美精品亚洲一区二区在线播放| 欧美日韩国产片| 日韩免费观看高清完整版在线观看| 精品国内片67194| 国产精品人成在线观看免费| 国产麻豆日韩欧美久久| 91猫先生在线| 精品88久久久久88久久久| 成人欧美一区二区三区| 国产激情视频一区二区三区欧美| 国产盗摄一区二区三区| 91福利区一区二区三区| 欧美变态tickle挠乳网站| 亚洲欧美怡红院| 日韩精品视频网| 国产精品自在在线| 色视频成人在线观看免| 精品国产免费一区二区三区四区| 亚洲久草在线视频| 国产一区二区三区免费播放| 91福利国产成人精品照片| 久久久一区二区三区捆绑**| 亚洲电影一区二区三区| 成+人+亚洲+综合天堂| 精品国产亚洲在线| 香蕉影视欧美成人| 欧美色涩在线第一页| 久久久久久久久久看片| 亚洲一二三四在线| 成人午夜电影久久影院| 精品盗摄一区二区三区| 七七婷婷婷婷精品国产| 欧美日免费三级在线| 亚洲精选免费视频| 色综合天天综合网国产成人综合天| 中文字幕制服丝袜成人av| 另类欧美日韩国产在线| 日韩一区二区免费电影| 日韩国产精品久久久久久亚洲| 色av一区二区| 亚洲综合区在线| 91精品国产综合久久精品app| 亚洲在线免费播放| 欧美乱熟臀69xxxxxx| 亚洲国产综合视频在线观看| 成人a区在线观看| 国产很黄免费观看久久| 久久久蜜臀国产一区二区| 国产精品一区二区久久精品爱涩| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美a级理论片| 精品美女一区二区| 国产91精品露脸国语对白| 亚洲人成网站影音先锋播放| 欧美怡红院视频| 美女爽到高潮91| 国产精品少妇自拍| 91官网在线免费观看| 日韩激情在线观看| 久久久久88色偷偷免费| 欧美色图免费看| 91丨九色丨尤物| 国产一区二区三区免费看| 亚洲午夜一二三区视频| 国产精品妹子av| 欧美成人国产一区二区| 欧美综合在线视频| 不卡高清视频专区| 国产成人在线影院| 国产在线视视频有精品| 日韩激情一二三区| 亚洲国产欧美在线人成| 国产精品成人在线观看| 国产日韩欧美一区二区三区综合| 日韩一级片在线播放| 欧美精品日韩一区| 欧美体内she精视频| 色香蕉久久蜜桃| 99re这里只有精品首页| 国产综合久久久久影院| 91精品久久久久久久91蜜桃| 欧美乱妇一区二区三区不卡视频| 91亚洲精华国产精华精华液| 成人福利视频在线| 成人app网站| 91网站在线播放| 欧美性xxxxxxxx| 欧美色大人视频| 日韩欧美一卡二卡| 精品国产乱码久久| 久久久天堂av| 亚洲日本在线观看| 亚洲成人福利片| 久久精品理论片| 国产一区二三区| www.亚洲国产| 欧美人牲a欧美精品| 欧美一区二区三区在线视频 | 丁香啪啪综合成人亚洲小说| 成人黄色777网| 欧美狂野另类xxxxoooo| 久久夜色精品一区| 亚洲欧美成人一区二区三区| 天堂在线亚洲视频| 成人国产在线观看| 538在线一区二区精品国产| 国产午夜精品久久久久久免费视| 国产精品福利一区二区| 日韩不卡一区二区| 色婷婷激情久久| 精品国产乱码久久久久久浪潮 | 91网站黄www| 精品国产乱码久久久久久夜甘婷婷 | 最新高清无码专区| 青娱乐精品视频| 在线观看免费亚洲| 国产精品天美传媒沈樵| 免费观看久久久4p| 在线免费精品视频| 国产精品久久久久一区| 久久99久久99| 51精品国自产在线| 亚洲综合一区在线| 成人av电影在线网| 日韩免费电影一区| 亚洲国产sm捆绑调教视频| 成人午夜又粗又硬又大| 久久综合九色综合欧美就去吻 | 日韩视频在线永久播放| 亚洲国产va精品久久久不卡综合| 99久久综合精品| 国产亚洲一区字幕| 国产精品一区不卡| 久久午夜电影网| 国产在线一区二区综合免费视频| 欧美一区二区黄| 久久精品国产第一区二区三区| 欧美日韩国产一区| 午夜久久电影网| 日韩一区二区在线免费观看| 免费成人你懂的| 亚洲精品在线网站| 国产mv日韩mv欧美| 中文字幕免费在线观看视频一区| 国产成人av资源| 亚洲婷婷综合色高清在线| 色综合久久中文字幕综合网| 亚洲综合视频在线| 欧美一级日韩免费不卡| 国产精品主播直播| 国产精品传媒入口麻豆| 欧美日韩欧美一区二区| 国产综合久久久久久鬼色| 中文无字幕一区二区三区| 日本高清视频一区二区| 婷婷六月综合亚洲| 精品日韩欧美在线| 99久久国产综合精品女不卡| 亚洲成人777| 亚洲国产精品黑人久久久| 色婷婷综合久久久中文一区二区| 亚洲国产精品人人做人人爽| 欧美精品一区二区三区在线播放 | 欧美日韩亚洲不卡| 国内成人自拍视频| av电影天堂一区二区在线 | 一片黄亚洲嫩模| 2024国产精品视频| 日本福利一区二区| 国产mv日韩mv欧美| 三级成人在线视频| 亚洲精品老司机| 久久久久久黄色| 日韩午夜av一区| 欧美亚洲一区二区在线| 成人性生交大片| 韩国女主播成人在线| 日本中文字幕不卡| 五月婷婷激情综合| 日韩美女视频一区二区| 91九色02白丝porn| 五月天久久比比资源色| 亚洲免费观看高清完整版在线|