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

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

?? rfcomm.c

?? blue tooth protocol stack source code
?? C
?? 第 1 頁 / 共 5 頁
字號:
	u32 rfcomm_frame_size;   	if (len > SHORT_PAYLOAD_SIZE) {		long_frame *uih_pkt;		mcc_long_frame *mcc_pkt;    		/* Create long uih packet and long mcc packet */		rfcomm_frame_size = (sizeof(long_frame)				     + sizeof(mcc_long_frame) + len +FCS_SIZE);		tx_buf = subscribe_bt_buf(sizeof(rfcomm_tx_buf)					  + rfcomm_frame_size);		if (!tx_buf) {			D_ERR("rfcomm_test_msg : didn't get a valid tx_buf\n");			return -ENOMEM;		}		tx_buf->cur_len = rfcomm_frame_size;		uih_pkt = (long_frame*) (tx_buf->data + sizeof(rfcomm_tx_buf));    		set_uih_hdr((short_frame*) uih_pkt, CTRL_CHAN, len + 			    sizeof(mcc_long_frame), rfcomm->initiator);		uih_pkt->data[uih_pkt->h.length.bits.len] = crc_calc((u8*) uih_pkt, 								SHORT_CRC_CHECK);		mcc_pkt = (mcc_long_frame*) uih_pkt->data;		/* Always one in the TEST messages */		mcc_pkt->h.type.ea = EA;		/* cr tells whether it is a commmand (1) or a response (0) */		mcc_pkt->h.type.cr = cr;		mcc_pkt->h.type.type = TEST;		mcc_pkt->h.length.bits.ea = EA;		mcc_pkt->h.length.bits.len = len;		swap_long_frame(uih_pkt);		swap_mcc_long_frame(mcc_pkt);		memcpy(mcc_pkt->value,test_pattern,len);	} else if (len > (SHORT_PAYLOAD_SIZE-sizeof(mcc_short_frame))) {		long_frame *uih_pkt;		mcc_short_frame *mcc_pkt;    		/* Create long uih packet and short mcc packet */		rfcomm_frame_size = (sizeof(long_frame)				     + sizeof(mcc_short_frame) + len+FCS_SIZE);		tx_buf = subscribe_bt_buf(sizeof(rfcomm_tx_buf)					  + rfcomm_frame_size);		if (!tx_buf) {			D_ERR("rfcomm_test_msg : didn't get a valid tx_buf\n");			return -ENOMEM;		}				tx_buf->cur_len = rfcomm_frame_size;		uih_pkt = (long_frame*) (tx_buf->data + sizeof(rfcomm_tx_buf));    		set_uih_hdr((short_frame*) uih_pkt, CTRL_CHAN, len +			    sizeof(mcc_short_frame), rfcomm->initiator);		uih_pkt->data[uih_pkt->h.length.bits.len] = crc_calc((u8*) uih_pkt, 								SHORT_CRC_CHECK);		mcc_pkt = (mcc_short_frame*) uih_pkt->data;		/* Always one in the TEST messages */		mcc_pkt->h.type.ea = EA;		/* cr tells whether it is a commmand (1) or a response (0) */		mcc_pkt->h.type.cr = cr;		mcc_pkt->h.type.type = TEST;		mcc_pkt->h.length.ea = EA;		mcc_pkt->h. length.len = len;		swap_long_frame(uih_pkt);		memcpy(mcc_pkt->value,test_pattern,len);	} else {		short_frame *uih_pkt;		mcc_short_frame *mcc_pkt;		/* Creat short uih packet and short mcc packet */		rfcomm_frame_size = (sizeof(short_frame)				     + sizeof(mcc_short_frame) + len+FCS_SIZE);		tx_buf = subscribe_bt_buf(sizeof(rfcomm_tx_buf)					  + rfcomm_frame_size);		if (!tx_buf) {			D_ERR("rfcomm_test_msg : didn't get a valid tx_buf\n");			return -ENOMEM;		}				tx_buf->cur_len = rfcomm_frame_size;    		uih_pkt = (short_frame*) (tx_buf->data +sizeof(rfcomm_tx_buf));    		set_uih_hdr((void*) uih_pkt, CTRL_CHAN, len			    + sizeof(mcc_short_frame), rfcomm->initiator);		uih_pkt->data[uih_pkt->h.length.len] = crc_calc((u8*) uih_pkt, 								SHORT_CRC_CHECK);		mcc_pkt = (mcc_short_frame*) uih_pkt->data;    		/* Always one in the TEST messages */		mcc_pkt->h.type.ea = EA;		/* cr tells whether it is a commmand (1) or a response (0) */		mcc_pkt->h.type.cr = cr;		mcc_pkt->h.type.type = TEST;		mcc_pkt->h.length.ea = EA;		mcc_pkt->h. length.len = len;		memcpy(mcc_pkt->value,test_pattern,len);    	}	return l2cap_send_data(tx_buf, rfcomm->l2cap);}/* Turns on the RFCOMM flow control */s32 rfcomm_fcon_msg(rfcomm_con *rfcomm, u8 cr){	bt_tx_buf *tx_buf;	short_frame *uih_pkt;	mcc_short_frame *mcc_pkt;	u32 rfcomm_frame_size;  	rfcomm_frame_size = (sizeof(short_frame) + sizeof(mcc_short_frame)			     + FCS_SIZE);	tx_buf = subscribe_bt_buf(sizeof(rfcomm_tx_buf) + rfcomm_frame_size);	if (!tx_buf) {		D_ERR("rfcomm_fcon_msg : didn't get a valid tx_buf\n");		return -ENOMEM;	}	tx_buf->cur_len = rfcomm_frame_size;  	uih_pkt = (short_frame*) (tx_buf->data + sizeof(rfcomm_tx_buf));	set_uih_hdr(uih_pkt, CTRL_CHAN, sizeof(mcc_short_frame),		    rfcomm->initiator);	uih_pkt->data[sizeof(mcc_short_frame)] = crc_calc((u8*) uih_pkt, 							  SHORT_CRC_CHECK);	mcc_pkt = (mcc_short_frame*) (uih_pkt->data);  	mcc_pkt->h.type.ea = EA;	mcc_pkt->h.type.cr = cr;	mcc_pkt->h.type.type = FCON;	mcc_pkt->h.length.ea = EA;	mcc_pkt->h.length.len = 0;  	return l2cap_send_data(tx_buf, rfcomm->l2cap);}/* Turns off the RFCOMM flow control */s32 rfcomm_fcoff_msg(rfcomm_con *rfcomm, u8 cr){	bt_tx_buf *tx_buf;	short_frame *uih_pkt;	mcc_short_frame *mcc_pkt;	u32 rfcomm_frame_size;  	rfcomm_frame_size = (sizeof(short_frame) + sizeof(mcc_short_frame)			     + FCS_SIZE);	tx_buf = subscribe_bt_buf(sizeof(rfcomm_tx_buf) + rfcomm_frame_size);	if (!tx_buf) {		D_ERR("rfcomm_fcoff_msg : didn't get a valid tx_buf\n");		return -ENOMEM;	}	tx_buf->cur_len = rfcomm_frame_size;  	uih_pkt = (short_frame*) (tx_buf->data + sizeof(rfcomm_tx_buf));	set_uih_hdr(uih_pkt, CTRL_CHAN, sizeof(mcc_short_frame),		    rfcomm->initiator);	uih_pkt->data[sizeof(mcc_short_frame)] = crc_calc((u8*) uih_pkt, 							  SHORT_CRC_CHECK);	mcc_pkt = (mcc_short_frame*) (uih_pkt->data);	mcc_pkt->h.type.ea = 1;	mcc_pkt->h.type.cr = cr;	mcc_pkt->h.type.type = FCOFF;	mcc_pkt->h.length.ea = 1;	mcc_pkt->h.length.len = 0;	return l2cap_send_data(tx_buf, rfcomm->l2cap);}s32 rfcomm_rpn_msg(rfcomm_con *rfcomm, u8 cr, u8 dlci, u8 req){	bt_tx_buf *tx_buf;	rpn_msg* rpn_pkt;	u32 rfcomm_frame_size;	u32 rfcomm_payload_size;	rfcomm_frame_size = sizeof(rpn_msg);	if (req) {		rfcomm_frame_size -= sizeof(rpn_values);	}		rfcomm_payload_size = (rfcomm_frame_size - sizeof(short_frame)			       - FCS_SIZE);		tx_buf = subscribe_bt_buf(sizeof(rfcomm_tx_buf) + rfcomm_frame_size);	if (!tx_buf) {		D_ERR("rfcomm_rpn_msg : didn't get a valid tx_buf\n");		return -ENOMEM;	}	tx_buf->cur_len = rfcomm_frame_size;  	rpn_pkt = (rpn_msg*) (tx_buf->data + sizeof(rfcomm_tx_buf));  	set_uih_hdr((short_frame*) rpn_pkt, CTRL_CHAN, rfcomm_payload_size,		    rfcomm->initiator);	rpn_pkt->fcs = crc_calc((u8*) rpn_pkt, SHORT_CRC_CHECK);	rpn_pkt->mcc_s_head.type.ea = EA;	rpn_pkt->mcc_s_head.type.cr = cr;	rpn_pkt->mcc_s_head.type.type = RPN;	rpn_pkt->mcc_s_head.length.ea = EA;	rpn_pkt->dlci.ea = EA;	rpn_pkt->dlci.cr = 1; /* Fixed value */	rpn_pkt->dlci.d = dlci & 1;	rpn_pkt->dlci.server_chn = (dlci >> 1);		if (req) {		rpn_pkt->mcc_s_head.length.len = 1;		/* Fix, since the packet is ends here when it is a request */		rpn_pkt->rpn_val.bit_rate = rpn_pkt->fcs;		return l2cap_send_data(tx_buf, rfcomm->l2cap);	} else {		rpn_pkt->mcc_s_head.length.len = 8;		memcpy(&(rpn_pkt->rpn_val), &rpn_val, sizeof(rpn_values));		//print_data("",(u8*) rpn_pkt, rfcomm_frame_size);		return l2cap_send_data(tx_buf, rfcomm->l2cap);	}}s32 rfcomm_rls_msg(rfcomm_con *rfcomm, u8 cr, u8 dlci, u8 err_code){	bt_tx_buf *tx_buf;	rls_msg* rls_pkt;	u32 rfcomm_frame_size;	u32 rfcomm_payload_size;	rfcomm_frame_size = sizeof(rls_msg);	rfcomm_payload_size = rfcomm_frame_size - sizeof(short_frame)-FCS_SIZE;	tx_buf = subscribe_bt_buf(sizeof(rfcomm_tx_buf) + rfcomm_frame_size);	if (!tx_buf) {		D_ERR("rfcomm_rls_msg : didn't get a valid tx_buf\n");		return -ENOMEM;	}	tx_buf->cur_len = rfcomm_frame_size;  	rls_pkt = (rls_msg*) (tx_buf->data + sizeof(rfcomm_tx_buf));  	set_uih_hdr((short_frame*) rls_pkt, CTRL_CHAN, rfcomm_payload_size,		    rfcomm->initiator);	rls_pkt->fcs = crc_calc((u8*) rls_pkt, SHORT_CRC_CHECK);  	rls_pkt->mcc_s_head.type.ea = EA;	rls_pkt->mcc_s_head.type.cr = cr;	rls_pkt->mcc_s_head.type.type = RLS;	rls_pkt->mcc_s_head.length.ea = EA;	rls_pkt->mcc_s_head.length.len = 2;  	rls_pkt->dlci.ea = EA;	rls_pkt->dlci.cr = 1; /* Fixed value */	rls_pkt->dlci.d = dlci & 1;	rls_pkt->dlci.server_chn = dlci >> 1;	rls_pkt->error = err_code;	rls_pkt->res = 0;  	return l2cap_send_data(tx_buf, rfcomm->l2cap);}/* Sends an PN-messages and sets the not negotiable parameters to their   default values in RFCOMM */s32 send_pn_msg(rfcomm_con *rfcomm, u8 prior, u32 frame_size, u8 credit_flow, u8 credits, u8 dlci, u8 cr){	bt_tx_buf *tx_buf;	pn_msg *pn_pkt;	u32 rfcomm_frame_size;	D_CTRL("send_pn_msg: DLCI 0x%02x, prior:0x%02x, frame_size:%d, credit_flow:%x, credits:%d, cr:%x\n",	      dlci, prior, frame_size, credit_flow, credits, cr);	rfcomm_frame_size = sizeof *pn_pkt;	tx_buf = subscribe_bt_buf(sizeof(rfcomm_tx_buf) + rfcomm_frame_size);	if (!tx_buf) {		D_ERR("send_pn_msg : didn't get a valid tx_buf\n");		return -ENOMEM;	}	tx_buf->cur_len = rfcomm_frame_size;	pn_pkt = (pn_msg*) (tx_buf->data + sizeof(rfcomm_tx_buf));	/* Set the UIH headers */	set_uih_hdr((void*) pn_pkt, CTRL_CHAN, rfcomm_frame_size - 		    (sizeof(short_frame) + FCS_SIZE), rfcomm->initiator);	pn_pkt->fcs = crc_calc((u8*) pn_pkt, SHORT_CRC_CHECK);	/* set the MCC-packet header */	pn_pkt->mcc_s_head.type.ea = 1;	pn_pkt->mcc_s_head.type.cr = cr;	pn_pkt->mcc_s_head.type.type = PN;	pn_pkt->mcc_s_head.length.ea = 1;	/* The PN packet has a fix length of 8 bytes */	pn_pkt->mcc_s_head.length.len = 8;	/* Set the parameters in the PN-packet */	pn_pkt->res1 = 0;	pn_pkt->res2 = 0;	pn_pkt->dlci = dlci;	pn_pkt->frame_type = 0;	pn_pkt->credit_flow = credit_flow;	pn_pkt->prior = prior;	pn_pkt->ack_timer = 0;	put_unaligned(cpu_to_le16(frame_size), &pn_pkt->frame_size);	pn_pkt->credits = credits;	pn_pkt->max_nbrof_retrans = 0;  	return l2cap_send_data(tx_buf, rfcomm->l2cap);}/* Sendares a Not supported command - command, which needs 3 bytes */s32 send_nsc_msg(rfcomm_con *rfcomm, mcc_type cmd, u8 cr) {	bt_tx_buf *tx_buf;	nsc_msg *nsc_pkt;	u32 rfcomm_frame_size;  	rfcomm_frame_size = sizeof(nsc_msg);	tx_buf = subscribe_bt_buf(sizeof(rfcomm_tx_buf) + rfcomm_frame_size);	if (!tx_buf) {		D_ERR("send_nsc_msg : didn't get a valid tx_buf\n");		return -ENOMEM;	}	tx_buf->cur_len = rfcomm_frame_size;		nsc_pkt = (nsc_msg*) (tx_buf->data + sizeof(rfcomm_tx_buf)); 	set_uih_hdr((void*) nsc_pkt, CTRL_CHAN, sizeof(nsc_msg)		    - sizeof(short_frame) - FCS_SIZE, rfcomm->initiator);	nsc_pkt->fcs = crc_calc((u8*) nsc_pkt, SHORT_CRC_CHECK);	nsc_pkt->mcc_s_head.type.ea = 1;	nsc_pkt->mcc_s_head.type.cr = cr;	nsc_pkt->mcc_s_head.type.type = NSC;	nsc_pkt->mcc_s_head.length.ea = 1;	nsc_pkt->mcc_s_head.length.len = 1;	nsc_pkt->command_type.ea = 1;	nsc_pkt->command_type.cr = cmd.cr;	nsc_pkt->command_type.type = cmd.type;	return l2cap_send_data(tx_buf, rfcomm->l2cap);}s32 rfcomm_msc_msg(rfcomm_con *rfcomm, u8 value, u8 cr, u8 dlci){	bt_tx_buf *tx_buf;	msc_msg *msc_pkt;	u32 rfcomm_frame_size;  	D_CTRL(FNC"val:%d, cr:%d, dlci:%d\n", value, cr, dlci);	rfcomm_frame_size = sizeof(msc_msg);	tx_buf = subscribe_bt_buf(sizeof(rfcomm_tx_buf) + rfcomm_frame_size);	if (!tx_buf) {		D_ERR(FNC"didn't get a valid tx_buf\n");		return -ENOMEM;	}	tx_buf->cur_len = rfcomm_frame_size;	msc_pkt = (msc_msg*) (tx_buf->data + sizeof(rfcomm_tx_buf)); 	set_uih_hdr((void*) msc_pkt, CTRL_CHAN, sizeof(msc_msg)		    - sizeof(short_frame) - FCS_SIZE, rfcomm->initiator);	msc_pkt->fcs = crc_calc((u8*) msc_pkt, SHORT_CRC_CHECK);	msc_pkt->mcc_s_head.type.ea = 1;	msc_pkt->mcc_s_head.type.cr = cr;	msc_pkt->mcc_s_head.type.type = MSC;	msc_pkt->mcc_s_head.length.ea = 1;	msc_pkt->mcc_s_head.length.len = 2;	msc_pkt->dlci.ea = 1;	msc_pkt->dlci.cr = 1;	msc_pkt->dlci.d = dlci & 1;	msc_pkt->dlci.server_chn = (dlci >> 1) & 0x1f;	msc_pkt->v24_sigs = value;return l2cap_send_data(tx_buf, rfcomm->l2cap);}voidset_uih_hdr(short_frame *uih_pkt, u8 dlci, u32 len, u8 cr){	uih_pkt->h.addr.ea = 1;	uih_pkt->h.addr.cr = cr;	uih_pkt->h.addr.d = dlci & 0x1;	uih_pkt->h.addr.server_chn = dlci >> 1;	uih_pkt->h.control = CLR_PF(UIH);		if (len > SHORT_PAYLOAD_SIZE) {		((long_frame*) uih_pkt)->h.length.bits.ea = 0;		((long_frame*) uih_pkt)->h.length.bits.len = len;  	} else {		uih_pkt->h.length.ea = 1;		uih_pkt->h.length.len = len;  	}}rfcomm_con* get_new_rfcomm_con(void){	s32 i = 0;	D_CTRL(FNC"rfcomm_con -> ttyBT%d\n",i);        for (i = 0 ; i < BT_NBR_DATAPORTS ; i ++)        {           if (rfcomm_con_list[i].dlci[0].state == DISCONNECTED)           {              rfcomm_con_list[i].l2cap = NULL;              return &rfcomm_con_list[i];           }        }        return NULL;}rfcomm_con* get_rfcomm_con(u8 line){	if(line >= BT_NBR_DATAPORTS) {		return NULL;	}	return &rfcomm_con_list[line];}s32valid_dlci(u8 dlci){	if ((dlci < 62) && (dlci > 1)) {		return TRUE;	} else {		return FALSE;	}}/* fetches the 'last' non DISCONNECTED dlci number in this session,    returns -1 if no connected dlci was found */s32 get_connected_dlci(rfcomm_con *rfcomm){	s32 tmp;	tmp = 61;	while ((tmp >= 0) && (rfcomm != NULL) && 	       (rfcomm->dlci[tmp].state == DISCONNECTED)) {		tmp--;	}	return tmp;}/* Functions for the crc-check and calculation */#define CRC_VALID 0xcf/* This functions check whether the checksum is correct or not. Length is   the number of bytes in the message, data points to the beginning of the   message */u32 crc_check(u8 *data, u32 length, u8 check_sum){	u8 fcs = 0xff;	RF_DATA(FNC, data, length);	while (length--) {		fcs = crctab

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性大战久久久| 99精品欧美一区二区三区小说 | 亚洲午夜电影在线| 精品中文字幕一区二区小辣椒| 91视视频在线观看入口直接观看www | 免费观看日韩av| 99久久精品久久久久久清纯| 欧美www视频| 亚洲成人激情社区| 一本一道综合狠狠老| 欧美精品一区二区三区在线| 日韩成人午夜精品| 欧美人妇做爰xxxⅹ性高电影| 中文字幕一区二区三区乱码在线| 精品一区二区三区在线播放| 欧美肥胖老妇做爰| 亚洲一区视频在线观看视频| 成人午夜视频免费看| 日韩午夜av一区| 日韩主播视频在线| 精品视频资源站| 亚洲二区在线视频| 欧美色爱综合网| 亚洲午夜激情网站| 欧美性色aⅴ视频一区日韩精品| 国产精品欧美一区二区三区| 国产成人免费视频一区| 久久久久国产精品厨房| 黑人巨大精品欧美一区| 日韩精品一区二区在线观看| 视频精品一区二区| 91精品欧美久久久久久动漫| 亚洲成人av在线电影| 欧美色成人综合| 日韩国产高清在线| 日韩欧美在线综合网| 美国十次综合导航| av电影在线观看完整版一区二区| 免费成人在线播放| 免费成人美女在线观看.| 欧美日韩色一区| 五月综合激情日本mⅴ| 欧美色涩在线第一页| 性欧美疯狂xxxxbbbb| 日韩一区二区三区四区五区六区| 捆绑调教美女网站视频一区| 久久久久久久综合日本| 成人黄色软件下载| 洋洋av久久久久久久一区| 欧美三级日韩三级国产三级| 日韩黄色在线观看| 久久综合久色欧美综合狠狠| 国产夫妻精品视频| 亚洲精品videosex极品| 欧美日韩免费高清一区色橹橹 | 波多野结衣的一区二区三区| 亚洲色图欧洲色图| 欧美精品第1页| 老司机午夜精品| 国产精品色哟哟网站| 日本韩国欧美在线| 91丝袜国产在线播放| 亚洲午夜电影网| 久久影音资源网| 91色婷婷久久久久合中文| 丝袜美腿成人在线| 国产精品乱子久久久久| 欧美日韩一本到| 国产高清精品久久久久| 亚洲一区二区三区美女| 久久综合狠狠综合久久综合88| 99re在线精品| 九色综合狠狠综合久久| 亚洲三级在线观看| 久久一区二区三区国产精品| 色婷婷精品大在线视频| 国产一区二区免费视频| 亚洲国产成人va在线观看天堂| 欧美成人aa大片| 日本道精品一区二区三区| 国产一区高清在线| 舔着乳尖日韩一区| 国产精品高潮呻吟久久| 日韩女优毛片在线| 欧美性淫爽ww久久久久无| 北岛玲一区二区三区四区| 日本伊人午夜精品| 亚洲国产精品一区二区久久 | 日韩有码一区二区三区| 国产精品理论片| 精品国产乱码久久久久久久久| 91福利国产精品| caoporm超碰国产精品| 国产乱子伦视频一区二区三区| 亚洲mv大片欧洲mv大片精品| 亚洲视频免费在线观看| 国产人成一区二区三区影院| 日韩欧美一区二区视频| 欧美日韩一级片网站| 一本一本大道香蕉久在线精品 | 国产欧美一区二区三区鸳鸯浴| 欧美一区二区三区影视| 欧美色偷偷大香| 日本国产一区二区| 色悠悠亚洲一区二区| 91亚洲精品久久久蜜桃网站| 日韩你懂的电影在线观看| 欧美日韩综合一区| 欧美专区日韩专区| 91美女在线观看| 97aⅴ精品视频一二三区| 成人av动漫网站| 成人黄色软件下载| 成人av动漫网站| 91免费看视频| 在线视频观看一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 亚洲精品日韩综合观看成人91| 欧美性大战久久久| 亚洲成av人在线观看| 亚洲另类中文字| 一区二区三区中文字幕精品精品| 国产精品美女一区二区| 国产精品蜜臀在线观看| 国产精品三级av| 国产精品乱码久久久久久| 国产精品国产自产拍高清av王其| 欧美高清一级片在线观看| 国产精品国产精品国产专区不片| 国产精品久久久久久一区二区三区| 国产精品国产a| 夜夜精品浪潮av一区二区三区| 亚洲成av人片| 久久99久久99| 国产91在线观看| 91在线高清观看| 8v天堂国产在线一区二区| 欧美成va人片在线观看| 国产精品免费丝袜| 亚洲激情自拍偷拍| 免费人成网站在线观看欧美高清| 激情六月婷婷久久| 成人av影院在线| 免费高清不卡av| 风间由美性色一区二区三区| 成人免费视频一区| 91极品美女在线| 精品国产人成亚洲区| 亚洲欧洲色图综合| 日韩va欧美va亚洲va久久| 国产精品亚洲综合一区在线观看| 91在线视频网址| 欧美一级黄色录像| 中文字幕在线视频一区| 日本三级亚洲精品| 成人在线一区二区三区| 欧美猛男gaygay网站| 国产亚洲精品7777| 亚洲.国产.中文慕字在线| 国产另类ts人妖一区二区| 91美女在线观看| 久久亚洲捆绑美女| 亚洲一区二区三区国产| 国产剧情av麻豆香蕉精品| 在线免费不卡电影| 国产欧美日韩麻豆91| 午夜伦理一区二区| 91丨国产丨九色丨pron| 欧美xxxx老人做受| 天天色天天操综合| 色94色欧美sute亚洲线路二 | 亚洲另类在线视频| 国产精品一区二区在线观看不卡 | 日韩写真欧美这视频| 亚洲色图在线看| 国产成人一区二区精品非洲| 91麻豆精品国产自产在线观看一区 | 制服丝袜成人动漫| 亚洲欧美一区二区三区久本道91 | 亚洲卡通欧美制服中文| 国产成人免费在线观看| 日韩一级高清毛片| 五月天亚洲精品| 欧美性xxxxx极品少妇| 日韩理论在线观看| 粉嫩aⅴ一区二区三区四区五区| 日韩欧美www| 美女诱惑一区二区| 日韩写真欧美这视频| 性感美女极品91精品| 欧美日韩一区二区三区四区| 成人欧美一区二区三区视频网页| 国产一区二区91| 久久网站最新地址| 国产一二三精品| 久久亚洲综合色| 国产传媒久久文化传媒| 国产清纯在线一区二区www| 国产成人精品免费在线| 久久精品亚洲精品国产欧美kt∨|