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

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

?? hci.c

?? 實現藍牙的各種profile
?? C
?? 第 1 頁 / 共 4 頁
字號:
int hci_write_local_name(int dd, const char *name, int to){	change_local_name_cp cp;	struct hci_request rq;	memset(&cp, 0, sizeof(cp));	strncpy((char *) cp.name, name, sizeof(cp.name));	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_HOST_CTL;	rq.ocf    = OCF_CHANGE_LOCAL_NAME;	rq.cparam = &cp;	rq.clen   = CHANGE_LOCAL_NAME_CP_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	return 0;}int hci_read_remote_name_with_clock_offset(int dd, const bdaddr_t *bdaddr, uint8_t pscan_rep_mode, uint16_t clkoffset, int len, char *name, int to){	evt_remote_name_req_complete rn;	remote_name_req_cp cp;	struct hci_request rq;	memset(&cp, 0, sizeof(cp));	bacpy(&cp.bdaddr, bdaddr);	cp.pscan_rep_mode = pscan_rep_mode;	cp.clock_offset   = clkoffset;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_LINK_CTL;	rq.ocf    = OCF_REMOTE_NAME_REQ;	rq.cparam = &cp;	rq.clen   = REMOTE_NAME_REQ_CP_SIZE;	rq.event  = EVT_REMOTE_NAME_REQ_COMPLETE;	rq.rparam = &rn;	rq.rlen   = EVT_REMOTE_NAME_REQ_COMPLETE_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rn.status) {		errno = EIO;		return -1;	}	rn.name[247] = '\0';	strncpy(name, (char *) rn.name, len);	return 0;}int hci_read_remote_name(int dd, const bdaddr_t *bdaddr, int len, char *name, int to){	return hci_read_remote_name_with_clock_offset(dd, bdaddr, 0x02, 0x0000, len, name, to);}int hci_read_remote_name_cancel(int dd, const bdaddr_t *bdaddr, int to){	remote_name_req_cancel_cp cp;	struct hci_request rq;	memset(&cp, 0, sizeof(cp));	bacpy(&cp.bdaddr, bdaddr);	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_LINK_CTL;	rq.ocf    = OCF_REMOTE_NAME_REQ_CANCEL;	rq.cparam = &cp;	rq.clen   = REMOTE_NAME_REQ_CANCEL_CP_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	return 0;}int hci_read_remote_version(int dd, uint16_t handle, struct hci_version *ver, int to){	evt_read_remote_version_complete rp;	read_remote_version_cp cp;	struct hci_request rq;	memset(&cp, 0, sizeof(cp));	cp.handle = handle;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_LINK_CTL;	rq.ocf    = OCF_READ_REMOTE_VERSION;	rq.event  = EVT_READ_REMOTE_VERSION_COMPLETE;	rq.cparam = &cp;	rq.clen   = READ_REMOTE_VERSION_CP_SIZE;	rq.rparam = &rp;	rq.rlen   = EVT_READ_REMOTE_VERSION_COMPLETE_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	ver->manufacturer = btohs(rp.manufacturer);	ver->lmp_ver      = rp.lmp_ver;	ver->lmp_subver   = btohs(rp.lmp_subver);	return 0;}int hci_read_remote_features(int dd, uint16_t handle, uint8_t *features, int to){	evt_read_remote_features_complete rp;	read_remote_features_cp cp;	struct hci_request rq;	memset(&cp, 0, sizeof(cp));	cp.handle = handle;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_LINK_CTL;	rq.ocf    = OCF_READ_REMOTE_FEATURES;	rq.event  = EVT_READ_REMOTE_FEATURES_COMPLETE;	rq.cparam = &cp;	rq.clen   = READ_REMOTE_FEATURES_CP_SIZE;	rq.rparam = &rp;	rq.rlen   = EVT_READ_REMOTE_FEATURES_COMPLETE_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	memcpy(features, rp.features, 8);	return 0;}int hci_read_remote_ext_features(int dd, uint16_t handle, uint8_t page, uint8_t *max_page, uint8_t *features, int to){	evt_read_remote_ext_features_complete rp;	read_remote_ext_features_cp cp;	struct hci_request rq;	memset(&cp, 0, sizeof(cp));	cp.handle   = handle;	cp.page_num = page;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_LINK_CTL;	rq.ocf    = OCF_READ_REMOTE_EXT_FEATURES;	rq.event  = EVT_READ_REMOTE_EXT_FEATURES_COMPLETE;	rq.cparam = &cp;	rq.clen   = READ_REMOTE_EXT_FEATURES_CP_SIZE;	rq.rparam = &rp;	rq.rlen   = EVT_READ_REMOTE_EXT_FEATURES_COMPLETE_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	*max_page = rp.max_page_num;	memcpy(features, rp.features, 8);	return 0;}int hci_read_clock_offset(int dd, uint16_t handle, uint16_t *clkoffset, int to){	evt_read_clock_offset_complete rp;	read_clock_offset_cp cp;	struct hci_request rq;	memset(&cp, 0, sizeof(cp));	cp.handle = handle;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_LINK_CTL;	rq.ocf    = OCF_READ_CLOCK_OFFSET;	rq.event  = EVT_READ_CLOCK_OFFSET_COMPLETE;	rq.cparam = &cp;	rq.clen   = READ_CLOCK_OFFSET_CP_SIZE;	rq.rparam = &rp;	rq.rlen   = EVT_READ_CLOCK_OFFSET_COMPLETE_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	*clkoffset = rp.clock_offset;	return 0;}int hci_read_local_version(int dd, struct hci_version *ver, int to){	read_local_version_rp rp;	struct hci_request rq;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_INFO_PARAM;	rq.ocf    = OCF_READ_LOCAL_VERSION;	rq.rparam = &rp;	rq.rlen   = READ_LOCAL_VERSION_RP_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	ver->manufacturer = btohs(rp.manufacturer);	ver->hci_ver      = rp.hci_ver;	ver->hci_rev      = btohs(rp.hci_rev);	ver->lmp_ver      = rp.lmp_ver;	ver->lmp_subver   = btohs(rp.lmp_subver);	return 0;}int hci_read_local_commands(int dd, uint8_t *commands, int to){	read_local_commands_rp rp;	struct hci_request rq;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_INFO_PARAM;	rq.ocf    = OCF_READ_LOCAL_COMMANDS;	rq.rparam = &rp;	rq.rlen   = READ_LOCAL_COMMANDS_RP_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	memcpy(commands, rp.commands, 64);	return 0;}int hci_read_local_features(int dd, uint8_t *features, int to){	read_local_features_rp rp;	struct hci_request rq;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_INFO_PARAM;	rq.ocf    = OCF_READ_LOCAL_FEATURES;	rq.rparam = &rp;	rq.rlen   = READ_LOCAL_FEATURES_RP_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	memcpy(features, rp.features, 8);	return 0;}int hci_read_local_ext_features(int dd, uint8_t page, uint8_t *max_page, uint8_t *features, int to){	read_local_ext_features_cp cp;	read_local_ext_features_rp rp;	struct hci_request rq;	cp.page_num = page;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_INFO_PARAM;	rq.ocf    = OCF_READ_LOCAL_EXT_FEATURES;	rq.cparam = &cp;	rq.clen   = READ_LOCAL_EXT_FEATURES_CP_SIZE;	rq.rparam = &rp;	rq.rlen   = READ_LOCAL_EXT_FEATURES_RP_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	*max_page = rp.max_page_num;	memcpy(features, rp.features, 8);	return 0;}int hci_read_bd_addr(int dd, bdaddr_t *bdaddr, int to){	read_bd_addr_rp rp;	struct hci_request rq;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_INFO_PARAM;	rq.ocf    = OCF_READ_BD_ADDR;	rq.rparam = &rp;	rq.rlen   = READ_BD_ADDR_RP_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	bacpy(bdaddr, &rp.bdaddr);	return 0;}int hci_read_class_of_dev(int dd, uint8_t *cls, int to){	read_class_of_dev_rp rp;	struct hci_request rq;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_HOST_CTL;	rq.ocf    = OCF_READ_CLASS_OF_DEV;	rq.rparam = &rp;	rq.rlen   = READ_CLASS_OF_DEV_RP_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	memcpy(cls, rp.dev_class, 3);	return 0;}int hci_write_class_of_dev(int dd, uint32_t cls, int to){	write_class_of_dev_cp cp;	struct hci_request rq;	memset(&rq, 0, sizeof(rq));	cp.dev_class[0] = cls & 0xff;	cp.dev_class[1] = (cls >> 8) & 0xff;	cp.dev_class[2] = (cls >> 16) & 0xff;	rq.ogf    = OGF_HOST_CTL;	rq.ocf    = OCF_WRITE_CLASS_OF_DEV;	rq.cparam = &cp;	rq.clen   = WRITE_CLASS_OF_DEV_CP_SIZE;	return hci_send_req(dd, &rq, to);}int hci_read_voice_setting(int dd, uint16_t *vs, int to){	read_voice_setting_rp rp;	struct hci_request rq;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_HOST_CTL;	rq.ocf    = OCF_READ_VOICE_SETTING;	rq.rparam = &rp;	rq.rlen   = READ_VOICE_SETTING_RP_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	*vs = rp.voice_setting;	return 0;}int hci_write_voice_setting(int dd, uint16_t vs, int to){	write_voice_setting_cp cp;	struct hci_request rq;	memset(&rq, 0, sizeof(rq));	cp.voice_setting = vs;	rq.ogf    = OGF_HOST_CTL;	rq.ocf    = OCF_WRITE_VOICE_SETTING;	rq.cparam = &cp;	rq.clen   = WRITE_VOICE_SETTING_CP_SIZE;	return hci_send_req(dd, &rq, to);}int hci_read_current_iac_lap(int dd, uint8_t *num_iac, uint8_t *lap, int to){	read_current_iac_lap_rp rp;	struct hci_request rq;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_HOST_CTL;	rq.ocf    = OCF_READ_CURRENT_IAC_LAP;	rq.rparam = &rp;	rq.rlen   = READ_CURRENT_IAC_LAP_RP_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	*num_iac = rp.num_current_iac;	memcpy(lap, rp.lap, rp.num_current_iac * 3);	return 0;}int hci_write_current_iac_lap(int dd, uint8_t num_iac, uint8_t *lap, int to){	write_current_iac_lap_cp cp;	struct hci_request rq;	memset(&cp, 0, sizeof(cp));	cp.num_current_iac = num_iac;	memcpy(&cp.lap, lap, num_iac * 3);	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_HOST_CTL;	rq.ocf    = OCF_WRITE_CURRENT_IAC_LAP;	rq.cparam = &cp;	rq.clen   = num_iac * 3 + 1;	return hci_send_req(dd, &rq, to);}int hci_read_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t all, int to){	read_stored_link_key_cp cp;	struct hci_request rq;	memset(&cp, 0, sizeof(cp));	bacpy(&cp.bdaddr, bdaddr);	cp.read_all = all;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_HOST_CTL;	rq.ocf    = OCF_READ_STORED_LINK_KEY;	rq.cparam = &cp;	rq.clen   = READ_STORED_LINK_KEY_CP_SIZE;	return hci_send_req(dd, &rq, to);}int hci_write_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t *key, int to){	unsigned char cp[WRITE_STORED_LINK_KEY_CP_SIZE + 6 + 16];	struct hci_request rq;	memset(&cp, 0, sizeof(cp));	cp[0] = 1;	bacpy((bdaddr_t *) (cp + 1), bdaddr);	memcpy(cp + 7, key, 16);	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_HOST_CTL;	rq.ocf    = OCF_WRITE_STORED_LINK_KEY;	rq.cparam = &cp;	rq.clen   = WRITE_STORED_LINK_KEY_CP_SIZE + 6 + 16;	return hci_send_req(dd, &rq, to);}int hci_delete_stored_link_key(int dd, bdaddr_t *bdaddr, uint8_t all, int to){	delete_stored_link_key_cp cp;	struct hci_request rq;	memset(&cp, 0, sizeof(cp));	bacpy(&cp.bdaddr, bdaddr);	cp.delete_all = all;	memset(&rq, 0, sizeof(rq));	rq.ogf    = OGF_HOST_CTL;	rq.ocf    = OCF_DELETE_STORED_LINK_KEY;	rq.cparam = &cp;	rq.clen   = DELETE_STORED_LINK_KEY_CP_SIZE;	return hci_send_req(dd, &rq, to);}int hci_authenticate_link(int dd, uint16_t handle, int to){	auth_requested_cp cp;	evt_auth_complete rp;	struct hci_request rq;	cp.handle = handle;	rq.ogf    = OGF_LINK_CTL;	rq.ocf    = OCF_AUTH_REQUESTED;	rq.event  = EVT_AUTH_COMPLETE;	rq.cparam = &cp;	rq.clen   = AUTH_REQUESTED_CP_SIZE;	rq.rparam = &rp;	rq.rlen   = EVT_AUTH_COMPLETE_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	return 0;}int hci_encrypt_link(int dd, uint16_t handle, uint8_t encrypt, int to){	set_conn_encrypt_cp cp;	evt_encrypt_change rp;	struct hci_request rq;	cp.handle  = handle;	cp.encrypt = encrypt;	rq.ogf     = OGF_LINK_CTL;	rq.ocf     = OCF_SET_CONN_ENCRYPT;	rq.event   = EVT_ENCRYPT_CHANGE;	rq.cparam  = &cp;	rq.clen    = SET_CONN_ENCRYPT_CP_SIZE;	rq.rparam  = &rp;	rq.rlen    = EVT_ENCRYPT_CHANGE_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	return 0;}int hci_change_link_key(int dd, uint16_t handle, int to){	change_conn_link_key_cp cp;	evt_change_conn_link_key_complete rp;	struct hci_request rq;	cp.handle = handle;	rq.ogf    = OGF_LINK_CTL;	rq.ocf    = OCF_CHANGE_CONN_LINK_KEY;	rq.event  = EVT_CHANGE_CONN_LINK_KEY_COMPLETE;	rq.cparam = &cp;	rq.clen   = CHANGE_CONN_LINK_KEY_CP_SIZE;	rq.rparam = &rp;	rq.rlen   = EVT_CHANGE_CONN_LINK_KEY_COMPLETE_SIZE;	if (hci_send_req(dd, &rq, to) < 0)		return -1;	if (rp.status) {		errno = EIO;		return -1;	}	return 0;}int hci_switch_role(int dd, bdaddr_t *bdaddr, uint8_t role, int to){	switch_role_cp cp;	evt_role_change rp;	struct hci_request rq;	bacpy(&cp.bdaddr, bdaddr);	cp.role   = role;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区免费在线| 日韩一区二区三区视频在线| 亚洲国产成人av好男人在线观看| 91麻豆精品91久久久久同性| 成人丝袜18视频在线观看| 麻豆国产精品一区二区三区| 亚洲视频资源在线| 日本久久一区二区| 亚洲国产高清在线观看视频| 精品国精品国产| 精品国产一区a| 国产伦精品一区二区三区视频青涩 | 成人av在线资源网站| 亚洲精品va在线观看| 日韩一区二区三区av| av在线播放不卡| 国产一区二区伦理| 午夜不卡在线视频| 日韩成人午夜精品| 在线不卡欧美精品一区二区三区| 日韩在线一区二区三区| 亚洲激情在线播放| 亚洲久本草在线中文字幕| 亚洲va中文字幕| 日韩有码一区二区三区| 久久97超碰国产精品超碰| 99re热视频精品| 久久久精品蜜桃| 日本中文字幕一区二区视频| 色综合久久88色综合天天免费| 99久久免费视频.com| 欧美日韩国产天堂| 久久久www成人免费毛片麻豆| 亚洲电影视频在线| 成人午夜在线播放| 一本色道久久综合亚洲aⅴ蜜桃 | 国产免费久久精品| 亚洲一区二区精品视频| 大陆成人av片| 91精品国产麻豆国产自产在线 | 欧美日韩国产高清一区二区三区| 日韩女同互慰一区二区| 成人免费在线观看入口| 精品一区二区三区香蕉蜜桃 | 不卡电影一区二区三区| 精品捆绑美女sm三区| 精品一区二区三区影院在线午夜 | 91福利资源站| 欧美国产欧美综合| 国产999精品久久| 中文字幕av在线一区二区三区| 免费在线成人网| 91老司机福利 在线| 综合av第一页| 欧美视频完全免费看| 亚洲色图一区二区| 国产99久久久久| 日韩成人免费电影| 色婷婷av一区二区三区之一色屋| 国产欧美精品一区二区色综合朱莉| 日韩中文字幕1| 亚洲精品一区二区三区四区高清| 日韩黄色小视频| 在线综合亚洲欧美在线视频| 日韩电影在线一区| 国产日韩v精品一区二区| 成人国产精品免费观看动漫| 亚洲v中文字幕| 中文字幕人成不卡一区| 日韩欧美成人午夜| 九九久久精品视频| 亚洲精品一二三四区| www久久久久| 欧美日韩黄色影视| 国产成人8x视频一区二区| 国产精品情趣视频| 在线观看免费视频综合| 国产精品欧美经典| 欧美日韩一区二区在线观看| 韩日av一区二区| 亚洲午夜在线电影| 久久精品视频在线看| 欧美中文字幕久久| 91视频观看视频| 美女久久久精品| 午夜国产不卡在线观看视频| 国产精品高清亚洲| 国产日韩欧美a| 91精品国产色综合久久久蜜香臀| 91美女精品福利| 91丨porny丨首页| 99久久精品费精品国产一区二区| 国产精品一二三四五| 国产一区二区按摩在线观看| 麻豆精品一二三| 日韩黄色小视频| 精品国产凹凸成av人网站| 欧美一区二区三区思思人| 欧美日韩国产综合久久| 色婷婷综合久久久久中文| 国产成人综合自拍| 久久97超碰色| 不卡的av电影| 99视频超级精品| 欧美三日本三级三级在线播放| 99久久精品免费精品国产| 成人av电影观看| 97久久超碰国产精品| 欧美日韩精品一区二区| 51精品国自产在线| 欧美一区二区三区在线看| 日韩精品最新网址| 欧美一区二区三区在线看| 欧美顶级少妇做爰| 国产片一区二区| 亚洲国产一区二区a毛片| 激情六月婷婷综合| 激情文学综合插| 色视频成人在线观看免| 欧美成人精精品一区二区频| 中文字幕一区视频| 精品无人码麻豆乱码1区2区| 国产精品2024| 666欧美在线视频| 国产欧美日韩视频在线观看| 捆绑调教一区二区三区| 99久久久无码国产精品| 久久免费国产精品| 亚洲成人免费影院| 欧美中文字幕亚洲一区二区va在线| 日韩一级二级三级| 日本va欧美va精品发布| 97久久精品人人澡人人爽| 精品国产乱码久久久久久牛牛 | 男人操女人的视频在线观看欧美| 免费美女久久99| 欧美妇女性影城| 日韩美女视频19| eeuss鲁片一区二区三区| 精品播放一区二区| 精品一区二区三区视频| 欧美日韩的一区二区| 午夜精品久久久| 欧美群妇大交群中文字幕| 亚洲人成7777| 一本一道波多野结衣一区二区| 亚洲啪啪综合av一区二区三区| 欧美主播一区二区三区美女| 日韩国产在线观看一区| 日本二三区不卡| 视频一区中文字幕| 欧美成人艳星乳罩| 欧美日韩高清一区二区不卡| 中文字幕制服丝袜成人av| 成人h动漫精品| 亚洲sss视频在线视频| 欧美一区二区国产| 精品午夜一区二区三区在线观看| 3d动漫精品啪啪1区2区免费| 亚洲成人综合视频| 在线不卡a资源高清| 男人的天堂亚洲一区| 精品99一区二区三区| 丰满少妇久久久久久久| 国产精品你懂的| 欧美巨大另类极品videosbest | 免费观看91视频大全| 欧美性xxxxx极品少妇| 麻豆久久久久久久| 久久夜色精品国产噜噜av| 成人动漫一区二区在线| 亚洲日本在线看| 日韩欧美一级片| 国产成人免费xxxxxxxx| 亚洲国产精品影院| 久久这里只有精品6| 日韩一区二区三区视频在线 | 中文字幕第一页久久| 暴力调教一区二区三区| 麻豆91精品91久久久的内涵| 麻豆一区二区三| 韩国女主播成人在线观看| 狠狠色丁香久久婷婷综| 国产一区二区三区综合| 精品一区二区三区日韩| 久久99久久久久| 国产一区二区三区不卡在线观看| 成av人片一区二区| 欧美日韩一级二级三级| 日韩一区二区中文字幕| 伊人开心综合网| 激情深爱一区二区| 在线一区二区三区| 亚洲精品一区二区三区影院| 久久一日本道色综合| 日日夜夜精品视频天天综合网| 国产精品一级黄| 日韩欧美亚洲国产另类| 国产日韩av一区| 亚洲午夜久久久|