日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android emulator虚拟设备分析第三篇之pipe上的qemud service

發(fā)布時(shí)間:2025/3/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android emulator虚拟设备分析第三篇之pipe上的qemud service 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、概述

本篇和第二篇是強(qiáng)相關(guān)的,需要結(jié)合第二篇一起看。

以boot-properties為例,注意不需要看ANDROID-QEMUD.TXT,這個(gè)是和guest os中的qemud進(jìn)行相關(guān)的,已廢棄。

啟動(dòng)emulator時(shí),有一個(gè)參數(shù)-prop <key>=<value>,用于向guest os中添加屬性。


二、guest os中使用qemud service的方法

實(shí)現(xiàn)代碼是:http://androidxref.com/5.1.0_r1/xref/device/generic/goldfish/qemu-props/qemu-props.c,用到了頭文件:http://androidxref.com/5.1.0_r1/xref/hardware/libhardware/include/hardware/qemud.h


guest os中程序名為qemu-props,由/system/etc/init.goldfish.rc啟動(dòng)。 啟動(dòng)后循環(huán)幾次,嘗試打開boot-properties服務(wù)(qemud_fd = qemud_channel_open( "boot-properties" ))。 如果打開成功,發(fā)送list命令(qemud_channel_send(qemud_fd, "list", -1))給boot-properties。 然后在循環(huán)中讀取啟動(dòng)emulator時(shí)通過-prop指定的屬性(qemud_channel_recv(qemud_fd, temp, sizeof temp - 1))。 并設(shè)置guest os中的屬性(property_set(temp, q))。 qemud_channel_open,先嘗試打開/dev/qemu_pipe,寫入pipe:qemud:boot-properties。 如果pipe方式失敗,才會(huì)去通過socket和qemud進(jìn)程通信,寫入boot-properties,期待返回OK。 static __inline__ int qemud_channel_open(const char* name) {int fd;int namelen = strlen(name);char answer[2];char pipe_name[256];/* First, try to connect to the pipe. */snprintf(pipe_name, sizeof(pipe_name), "qemud:%s", name);fd = qemu_pipe_open(pipe_name);if (fd < 0) {D("QEMUD pipe is not available for %s: %s", name, strerror(errno));/* If pipe is not available, connect to qemud control socket */fd = socket_local_client( "qemud",ANDROID_SOCKET_NAMESPACE_RESERVED,SOCK_STREAM );if (fd < 0) {D("no qemud control socket: %s", strerror(errno));return -1;}/* send service name to connect */if (qemud_fd_write(fd, name, namelen) != namelen) {D("can't send service name to qemud: %s",strerror(errno));close(fd);return -1;}/* read answer from daemon */if (qemud_fd_read(fd, answer, 2) != 2 ||answer[0] != 'O' || answer[1] != 'K') {D("cant' connect to %s service through qemud", name);close(fd);return -1;}}return fd; }

qemud_channel_send和qemud_channel_recv是qemu-pipe和qemud所通用的,直接對(duì)fd進(jìn)行讀寫,先讀寫4個(gè)字節(jié),為size,然后讀取具體的內(nèi)容。 static __inline__ int qemud_channel_send(int fd, const void* msg, int msglen) {char header[5];if (msglen < 0)msglen = strlen((const char*)msg);if (msglen == 0)return 0;snprintf(header, sizeof header, "%04x", msglen);if (qemud_fd_write(fd, header, 4) != 4) {D("can't write qemud frame header: %s", strerror(errno));return -1;}if (qemud_fd_write(fd, msg, msglen) != msglen) {D("can4t write qemud frame payload: %s", strerror(errno));return -1;}return 0; }static __inline__ int qemud_channel_recv(int fd, void* msg, int msgsize) {char header[5];int size, avail;if (qemud_fd_read(fd, header, 4) != 4) {D("can't read qemud frame header: %s", strerror(errno));return -1;}header[4] = 0;if (sscanf(header, "%04x", &size) != 1) {D("malformed qemud frame header: '%.*s'", 4, header);return -1;}if (size > msgsize)return -1;if (qemud_fd_read(fd, msg, size) != size) {D("can't read qemud frame payload: %s", strerror(errno));return -1;}return size; }

三、注冊(cè)新的qemud service

所有的qemud service都使用pipe:qemud這個(gè)pipe service,是它的子服務(wù)。如何去實(shí)現(xiàn)這種子服務(wù)呢?

emulator里面有兩中結(jié)構(gòu)體QemudService, QemudClient分別表示子服務(wù),以及子服務(wù)的client。

QemudPipe和之前說的pipe類似,每次打開/dev/qemu_pipe時(shí),kernel和emulator中都會(huì)產(chǎn)生一個(gè)pipe,對(duì)應(yīng)一個(gè)CHANNEL,在guest os第一次通過/dev/qemu_pipe發(fā)送數(shù)據(jù)時(shí),會(huì)創(chuàng)建一個(gè)QemudPipe,也就是peer,作為pipe:qemud funcs中的opaque。

pipeConnector_sendBuffers函數(shù)代碼片段:

Pipe* pipe = pcon->pipe;void* peer = svc->funcs.init(pipe->hwpipe, svc->opaque, pipeArgs);if (peer == NULL) {D("%s: Initialization failed for pipe %s!", __FUNCTION__, pipeName);return PIPE_ERROR_INVAL;}/* Do the evil switch now */pipe->opaque = peer;pipe->service = svc;pipe->funcs = &svc->funcs;pipe->args = ASTRDUP(pipeArgs);AFREE(pcon);


3.1、pipe:qemud服務(wù)

代碼為external/qemu/android/emulation/android_qemud.cpp,我在android源碼中沒有找到,在另一個(gè)模擬器的repo中找到了。注意代碼中夾雜著一些guest os中qemud相關(guān)的東西,關(guān)鍵詞serial,不需要看。


初始化代碼如下,_qemudPipe_funcs就是第二篇中所說的svc->funcs,從第二次通信開始,qemu_pipe都使用這些funcs去讀寫。

/* QEMUD pipe functions.*/ static const AndroidPipeFuncs _qemudPipe_funcs = {_qemudPipe_init,_qemudPipe_closeFromGuest,_qemudPipe_sendBuffers,_qemudPipe_recvBuffers,_qemudPipe_poll,_qemudPipe_wakeOn,_qemudPipe_save,_qemudPipe_load, };/* Initializes QEMUD pipe interface.*/ static void _android_qemud_pipe_init(void) {static bool _qemud_pipe_initialized = false;if (!_qemud_pipe_initialized) {android_pipe_add_type("qemud", looper_getForThread(), &_qemudPipe_funcs);_qemud_pipe_initialized = true;} }static bool isInited = false;void android_qemud_init(CSerialLine* sl) {D("%s", __FUNCTION__);/* We don't know in advance whether the guest system supports qemud pipes,* so we will initialize both qemud machineries, the legacy (over serial* port), and the new one (over qemu pipe). Then we let the guest to connect* via one, or the other. */_android_qemud_serial_init(sl);_android_qemud_pipe_init();isInited = true; }

_qemudPipe_init是建立連接后,初始化QemudPipe的代碼。

QemudMultiplexer中只有兩個(gè)鏈表有用。

先根據(jù)service name查找子服務(wù)QemudService,然后調(diào)用子服務(wù)的qemud_service_connect_client去創(chuàng)建QemudClient,然后去創(chuàng)建QemudPipe

/* This is a callback that gets invoked when guest is connecting to the service.** Here we will create a new client as well as pipe descriptor representing new* connection.*/ static void* _qemudPipe_init(void* hwpipe, void* _looper, const char* args) {QemudMultiplexer* m = qemud_multiplexer;QemudService* sv = m->services;QemudClient* client;QemudPipe* pipe = NULL;char service_name[512];const char* client_args;size_t srv_name_len;/* 'args' passed in this callback represents name of the service the guest is* connecting to. It can't be NULL. */if (args == NULL) {D("%s: Missing address!", __FUNCTION__);return NULL;}/* 'args' contain service name, and optional parameters for the client that* is about to be created in this call. The parameters are separated from the* service name wit ':'. Separate service name from the client param. */client_args = strchr(args, ':');if (client_args != NULL) {srv_name_len = min(client_args - args, (intptr_t) sizeof(service_name) - 1);client_args++; // Past the ':'if (*client_args == '\0') {/* No actual parameters. */client_args = NULL;}} else {srv_name_len = min(strlen(args), sizeof(service_name) - 1);}memcpy(service_name, args, srv_name_len);service_name[srv_name_len] = '\0';/* Lookup registered service by its name. */while (sv != NULL && strcmp(sv->name, service_name)) {sv = sv->next;}if (sv == NULL) {D("%s: Service '%s' has not been registered!", __FUNCTION__, service_name);return NULL;}/* Create a client for this connection. -1 as a channel ID signals that this* is a pipe client. */client = qemud_service_connect_client(sv, -1, client_args);if (client != NULL) {pipe = static_cast<QemudPipe*>(android_alloc0(sizeof(*pipe)));pipe->hwpipe = hwpipe;pipe->looper = _looper;pipe->service = sv;pipe->client = client;client->ProtocolSelector.Pipe.qemud_pipe = pipe;}return pipe; }

_qemudPipe_sendBuffers是guest通過/dev/qemu_pipe寫數(shù)據(jù)時(shí),將被調(diào)用的函數(shù),也就是QemudClient接收到數(shù)據(jù)的函數(shù),注意不要把send/recv的概念搞錯(cuò)了。

代碼就是把guest發(fā)送的buffers拼起來,然后調(diào)用QemudClient的接收函數(shù)qemud_client_recv去處理。

/* Called when the guest has sent some data to the client.*/ static int _qemudPipe_sendBuffers(void* opaque,const AndroidPipeBuffer* buffers,int numBuffers) {QemudPipe* pipe = static_cast<QemudPipe*>(opaque);QemudClient* client = pipe->client;size_t transferred = 0;if (client == NULL) {D("%s: Unexpected NULL client", __FUNCTION__);return -1;}if (numBuffers == 1) {/* Simple case: all data are in one buffer. */D("%s: %s", __FUNCTION__, quote_bytes((char*) buffers->data, buffers->size));qemud_client_recv(client, buffers->data, buffers->size);transferred = buffers->size;} else {/* If there are multiple buffers involved, collect all data in one buffer* before calling the high level client. */uint8_t* msg, * wrk;int n;for (n = 0; n < numBuffers; n++) {transferred += buffers[n].size;}msg = static_cast<uint8_t*>(malloc(transferred));wrk = msg;for (n = 0; n < numBuffers; n++) {memcpy(wrk, buffers[n].data, buffers[n].size);wrk += buffers[n].size;}D("%s: %s", __FUNCTION__, quote_bytes((char*) msg, transferred));qemud_client_recv(client, msg, transferred);free(msg);}return transferred; }

_qemudPipe_recvBuffers是guest想從/dev/qemu_pipe讀取數(shù)據(jù)時(shí)被調(diào)用的。

QemudClient寫數(shù)據(jù)時(shí)是寫到自己的ProtocolSelector.Pipe.messages中的,在這個(gè)函數(shù)中把QemudClient中的ProtocolSelector.Pipe.messages倒騰到buffers中。

/* Called when the guest is reading data from the client.*/ static int _qemudPipe_recvBuffers(void* opaque, AndroidPipeBuffer* buffers, int numBuffers) {QemudPipe* pipe = static_cast<QemudPipe*>(opaque);QemudClient* client = pipe->client;QemudPipeMessage** msg_list;AndroidPipeBuffer* buff = buffers;AndroidPipeBuffer* endbuff = buffers + numBuffers;size_t sent_bytes = 0;size_t off_in_buff = 0;if (client == NULL) {D("%s: Unexpected NULL client", __FUNCTION__);return -1;}msg_list = &client->ProtocolSelector.Pipe.messages;if (*msg_list == NULL) {/* No data to send. Let it block until we wake it up with* PIPE_WAKE_READ when service sends data to the client. */return PIPE_ERROR_AGAIN;}/* Fill in goldfish buffers while they are still available, and there are* messages in the client's message list. */while (buff != endbuff && *msg_list != NULL) {QemudPipeMessage* msg = *msg_list;/* Message data fiting the current pipe's buffer. */size_t to_copy = min(msg->size - msg->offset, buff->size - off_in_buff);memcpy(buff->data + off_in_buff, msg->message + msg->offset, to_copy);/* Update offsets. */off_in_buff += to_copy;msg->offset += to_copy;sent_bytes += to_copy;if (msg->size == msg->offset) {/* We're done with the current message. Go to the next one. */*msg_list = msg->next;free(msg);}if (off_in_buff == buff->size) {/* Current pipe buffer is full. Continue with the next one. */buff++;off_in_buff = 0;}}D("%s: -> %u (of %u)", __FUNCTION__, sent_bytes, buffers->size);return sent_bytes; }

_qemudPipe_poll,PIPE_POLL_OUT總是有效,PIPE_POLL_IN需要看QemudClient的ProtocolSelector.Pipe.messages中是否有數(shù)據(jù)

static unsigned _qemudPipe_poll(void* opaque) {QemudPipe* pipe = static_cast<QemudPipe*>(opaque);QemudClient* client = pipe->client;unsigned ret = 0;if (client != NULL) {ret |= PIPE_POLL_OUT;if (client->ProtocolSelector.Pipe.messages != NULL) {ret |= PIPE_POLL_IN;}} else {D("%s: Unexpected NULL client", __FUNCTION__);}return ret; }

_qemudPipe_wakeOn,發(fā)現(xiàn)ProtocolSelector.Pipe.messages中有數(shù)據(jù)時(shí),會(huì)調(diào)用android_pipe_wake,把pipe添加到dev->signaled鏈表中。

static void _qemudPipe_wakeOn(void* opaque, int flags) {QemudPipe* qemud_pipe = (QemudPipe*) opaque;QemudClient* c = qemud_pipe->client;D("%s: -> %X", __FUNCTION__, flags);if (flags & PIPE_WAKE_READ) {if (c->ProtocolSelector.Pipe.messages != NULL) {android_pipe_wake(c->ProtocolSelector.Pipe.qemud_pipe->hwpipe,PIPE_WAKE_READ);}} }


3.2、qemud service

代碼是external/qemu/android/boot-properties.c,也是在模擬器repo中的


boot_property_init_service去注冊(cè)一個(gè)QemudService,主要函數(shù)就一個(gè)boot_property_service_connect,用于創(chuàng)建新的QemudClient

void boot_property_init_service( void ) {if (!_inited) {QemudService* serv = qemud_service_register( SERVICE_NAME,1, NULL,boot_property_service_connect,boot_property_save,boot_property_load);if (serv == NULL) {derror("could not register '%s' service", SERVICE_NAME);return;}D("registered '%s' qemud service", SERVICE_NAME);_inited = 1;} }

boot_property_service_connect創(chuàng)建新的QemudClient,channel一般都是-1,表示是pipe方式,而不是serial方式(使用guest qemud進(jìn)程)

static QemudClient* boot_property_service_connect( void* opaque,QemudService* serv,int channel,const char* client_param ) {QemudClient* client;client = qemud_client_new( serv, channel, client_param, NULL,boot_property_client_recv,NULL, NULL, NULL );qemud_client_set_framing(client, 1);return client; }

qemud_client_new會(huì)綁定QemudClient的讀寫函數(shù),讀函數(shù)boot_property_client_recv(也就是qemud_client_recv)是在_qemudPipe_sendBuffers中調(diào)用的

循環(huán)執(zhí)行qemud_client_send將數(shù)據(jù)(-prop指定的屬性值的列表)寫到QemudClient的ProtocolSelector.Pipe.messages中,當(dāng)_qemudPipe_recvBuffers函數(shù)執(zhí)行時(shí),從QemudClient的ProtocolSelector.Pipe.messages中倒騰數(shù)據(jù)返回給guest

void boot_property_client_recv( void* opaque,uint8_t* msg,int msglen,QemudClient* client ) {/* the 'list' command shall send all boot properties* to the client, then close the connection.*/if (msglen == 4 && !memcmp(msg, "list", 4)) {BootProperty* prop;for (prop = _boot_properties; prop != NULL; prop = prop->next) {qemud_client_send(client, (uint8_t*)prop->property, prop->length);}/* Send a NUL to signal the end of the list. */qemud_client_send(client, (uint8_t*)"", 1);return;}/* unknown command ? */D("%s: ignoring unknown command: %.*s", __FUNCTION__, msglen, msg); }



boot-properties服務(wù)的入口函數(shù)是boot_property_parse_option,emulator在解析-prop參數(shù)時(shí),會(huì)調(diào)用這個(gè)函數(shù)。

獲得name和value后,調(diào)用boot_property_add2(name, namelen, value, valuelen)去添加屬性到屬性列表(_boot_properties)中

void boot_property_parse_option( const char* param ) {char* q = strchr(param,'=');const char* name;const char* value;int namelen, valuelen, ret;if (q == NULL) {dwarning("boot property missing (=) separator: %s", param);return;}name = param;namelen = q - param;value = q+1;valuelen = strlen(name) - (namelen+1);ret = boot_property_add2(name, namelen, value, valuelen);if (ret < 0) {boot_property_raise_warning(ret, name, namelen, value, valuelen);} }


boot_property_add2會(huì)檢查服務(wù)是否已初始化,如果沒有,將調(diào)用boot_property_init_service。如果屬性名和值沒有非法字符,將申請(qǐng)新的屬性:prop = boot_property_alloc(name, namelen, value, valuelen)并添加到屬性列表中

/* Appends a new boot property to the end of the internal list.*/ int boot_property_add2( const char* name, int namelen,const char* value, int valuelen ) {BootProperty* prop;/* check the lengths*/if (namelen > PROPERTY_MAX_NAME)return -1;if (valuelen > PROPERTY_MAX_VALUE)return -2;/* check that there are not invalid characters in the* property name*/const char* reject = " =$*?'\"";int nn;for (nn = 0; nn < namelen; nn++) {if (strchr(reject, name[nn]) != NULL)return -3;}/* init the service */boot_property_init_service();/* add to the end of the internal list */prop = boot_property_alloc(name, namelen, value, valuelen);*_boot_properties_tail = prop;_boot_properties_tail = &prop->next;return 0; }



boot_property_init_service先檢查是否已初始化,如果沒有,將進(jìn)行初始化
QemudService* ?serv = qemud_service_register( SERVICE_NAME,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?1, NULL,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?boot_property_service_connect,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?boot_property_save,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?boot_property_load);
第二個(gè)參數(shù)是max_clients,最大客戶數(shù)量
第三個(gè)參數(shù)是serv_opaque,將傳遞給注冊(cè)的serv_connect函數(shù)的第一個(gè)參數(shù)
第四個(gè)參數(shù)是注冊(cè)的serv_connect函數(shù)
第五、第六是保存和恢復(fù)屬性鏈表的函數(shù)

void boot_property_init_service( void ) {if (!_inited) {QemudService* serv = qemud_service_register( SERVICE_NAME,1, NULL,boot_property_service_connect,boot_property_save,boot_property_load);if (serv == NULL) {derror("could not register '%s' service", SERVICE_NAME);return;}D("registered '%s' qemud service", SERVICE_NAME);_inited = 1;} }



總結(jié)

以上是生活随笔為你收集整理的android emulator虚拟设备分析第三篇之pipe上的qemud service的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

欧美午夜精品久久久久久浪潮 | 五月婷婷丁香色 | 亚洲欧美国产日韩在线观看 | 久久99精品国产 | 色噜噜色噜噜 | 97免费视频在线播放 | 精品国产视频一区 | 伊人天天综合 | 国产玖玖在线 | 麻豆 videos| 国产91影视 | 丁香综合 | 日韩在线中文字幕 | 8090yy亚洲精品久久 | 天天操天天操天天操天天 | 久久综合狠狠狠色97 | 亚洲精品久久久久久久蜜桃 | 2024国产在线 | 免费h精品视频在线播放 | 人人草在线视频 | 激情欧美一区二区免费视频 | 人人爽爽人人 | 狠狠干天天操 | 一区二区 不卡 | 免费看91的网站 | wwwwwww色| 一本一本久久a久久精品综合妖精 | 日韩免费中文字幕 | 日韩在线高清 | 色欧美88888久久久久久影院 | 精品国产区 | 永久黄网站色视频免费观看w | 亚洲视频 在线观看 | 欧美午夜视频在线 | 日韩免费在线观看网站 | 久久久久亚洲天堂 | 久久精品这里都是精品 | 97精品视频在线播放 | 99色视频在线 | 91视频88av | 主播av在线 | www.一区二区三区 | 亚洲精品五月 | 国产精品原创视频 | 色就干| 午夜精品久久久久久久99 | 91视频88av| 韩国视频一区二区三区 | 中文字幕在线观看第一页 | 91精品国产欧美一区二区 | 成人在线免费看视频 | 99 色 | 欧美精品一区二区蜜臀亚洲 | 亚洲精品在线网站 | 国产日韩欧美精品在线观看 | zzijzzij亚洲成熟少妇 | 国产高清中文字幕 | va视频在线观看 | 狠狠干夜夜爱 | 国产小视频你懂的 | 三级视频日韩 | 久草在线国产 | 精品国产激情 | 麻豆视频在线 | 亚洲女人av | 日本精品久久久一区二区三区 | 亚洲日本一区二区在线 | 国产精品综合在线观看 | 精品一二三区视频 | 五月天.com | 国产一区二区高清 | 日韩欧美在线视频一区二区三区 | 波多野结衣视频一区二区 | 免费日韩电影 | 在线欧美中文字幕 | 在线观看精品一区 | 精品国产电影一区 | 免费看一级 | 99精品在线免费 | 国产成人久久av免费高清密臂 | 亚洲精品国产电影 | 国产国语在线 | 国产1区2区3区精品美女 | 亚洲黄色区 | 91精品国产自产在线观看永久 | 91成人看片 | 亚洲一级电影在线观看 | 操操操com | 成人免费中文字幕 | 欧美大片在线看免费观看 | 亚洲高清精品在线 | 99热这里只有精品1 av中文字幕日韩 | 国产成人免费高清 | 日韩电影在线视频 | 亚洲精品国精品久久99热一 | 久久观看免费视频 | a色视频| 国产一区二区午夜 | 午夜99| 国产高清一区二区 | 亚洲黄在线观看 | 91精品老司机久久一区啪 | 国产亚洲片| 国产91对白在线播 | 国产破处在线视频 | 久久久国产一区二区三区四区小说 | 色综合久久久久久中文网 | 91精品视频观看 | 激情黄色av | 热热热热热色 | 免费看片亚洲 | 精品久久五月天 | 免费久久网 | 天天躁天天狠天天透 | 亚洲成年人免费网站 | 91亚洲精品国偷拍 | 精品国产一区二区三区久久影院 | 成人在线视频免费 | 久久国产剧场电影 | 久久婷婷网 | 国产在线美女 | 国产精品18久久久 | 欧美aⅴ在线观看 | 国产国语在线 | 国产96av| 美女网站免费福利视频 | 欧女人精69xxxxxx | 不卡电影免费在线播放一区 | 99草在线视频 | 亚洲久草在线 | 亚洲精品综合在线 | 91在线成人 | 四虎影视成人 | 最新av电影网址 | 美女视频网 | 日本久久久亚洲精品 | 久草在线视频国产 | 精品久久久久久久久久久久久久久久久久 | 五月开心激情网 | 中国美女一级看片 | 欧美日韩国产综合网 | 91av网站在线观看 | 欧美一级片在线播放 | 免费在线观看一区 | 欧美 国产 视频 | aa级黄色大片 | 久久久久久久久久久网 | 视频在线观看国产 | 中文字幕中文 | 一本一道波多野毛片中文在线 | 天天色成人网 | 久久av网| 国产成人免费在线 | 国产精品久久久久久久久久白浆 | 国产伦理久久精品久久久久_ | 中文字幕久久亚洲 | 91原创在线观看 | 欧美日韩国产综合一区二区 | 久久久久久久国产精品影院 | 欧美视频99 | 人人干97| 91少妇精拍在线播放 | 国产精品国产三级国产不产一地 | 在线 国产 亚洲 欧美 | 国产香蕉av| 蜜臀久久99精品久久久久久网站 | 久久国产精品99久久人人澡 | 99久久综合精品五月天 | 波多野结衣精品在线 | 97人人网 | 在线视频区 | 国产不卡高清 | 国产精品久久久久久高潮 | 成人一级黄色片 | 国产中文字幕在线观看 | 欧美在线你懂的 | 色综合天天综合在线视频 | 国产一级片一区二区三区 | 波多野结衣视频一区二区三区 | 色综合久久久久久久 | 99精品久久精品一区二区 | 99久久夜色精品国产亚洲 | 国产婷婷| 黄色成人在线观看 | 国产做a爱一级久久 | 国产人免费人成免费视频 | 91女子私密保健养生少妇 | 婷婷激情五月 | 日韩欧美中文 | 欧美精选一区二区三区 | 国产亚洲精品久久久久久久久久 | 天天摸天天操天天爽 | 91网站在线视频 | 国偷自产视频一区二区久 | 久草电影在线观看 | 免费日韩视频 | 日本成人中文字幕在线观看 | 又爽又黄又无遮挡网站动态图 | 久久网址 | 日本中文字幕在线免费观看 | 免费av大全 | www.久久视频 | 国产精品白丝jk白祙 | 国产精品11 | 国产拍揄自揄精品视频麻豆 | 五月开心六月婷婷 | 精品一二三四视频 | 亚洲黄色成人网 | 亚洲专区在线播放 | 久久久精品一区二区 | 中字幕视频在线永久在线观看免费 | 2021av在线| 亚洲日韩欧美一区二区在线 | 日b视频在线观看网址 | 日韩一区二区三区高清在线观看 | 91视频免费看片 | 欧美成人黄色 | 色婷婷啪啪免费在线电影观看 | 亚洲色图美腿丝袜 | 国产精品99久久久久 | 99久久精品免费看 | 成人一级片免费看 | 成年人在线免费看视频 | 特黄特色特刺激视频免费播放 | 69精品视频在线观看 | 婷婷伊人综合亚洲综合网 | 日韩 在线a | 成人高清在线观看 | 天天干天天操人体 | 亚洲精品在线二区 | 天天综合网~永久入口 | 在线视频免费观看 | 日本韩国中文字幕 | 去干成人网 | 中文字幕在线播放视频 | 91精品国产99久久久久久久 | av免费在线网 | 久久免费的精品国产v∧ | 国产韩国日本高清视频 | 免费观看黄 | 日本精品午夜 | 超碰免费在线公开 | 日韩av网址在线 | 国产丝袜| 国产三级香港三韩国三级 | 亚洲精品免费在线视频 | 国产91大片 | 欧美一级片免费观看 | 中午字幕在线 | 在线观看亚洲电影 | 91久久精品一区二区二区 | 国产精品毛片一区二区 | 中文资源在线观看 | 色999视频| 免费特级黄色片 | 天天拍天天爽 | 精品亚洲免a | 欧美日韩一区二区视频在线观看 | 国产一区欧美一区 | 久久久精品综合 | 人人爱爱| 欧美一级小视频 | 超碰在线99 | 久久免费a| 在线观看国产91 | 亚洲精品乱码久久久久久高潮 | 中文字幕国产一区二区 | 精品不卡av| 色综合久久五月天 | 永久免费精品视频 | 亚洲精品国偷拍自产在线观看蜜桃 | 五月婷亚洲 | 美女网站视频久久 | 国产成视频在线观看 | 日本中文字幕视频 | av免费在线观看网站 | 日韩av免费在线看 | 人人澡av | 国产精品18久久久久vr手机版特色 | 国产精品 视频 | 精品国产一二三 | 久草在线最新 | 超碰在线免费福利 | 亚洲激情中文 | 在线成人高清电影 | 亚洲精品mv在线观看 | 免费av网站在线 | 日韩免费观看一区二区三区 | 中文字幕免费高清av | 中文字幕在线免费看线人 | 一区二区欧美在线观看 | 精品国产一区二区三区噜噜噜 | 日韩电影黄色 | 一区二区三区精品在线视频 | 久久国产成人午夜av影院潦草 | 在线观看的av网站 | 深夜免费福利视频 | 超碰在线98 | 成人免费视频播放 | 一区二区三区久久精品 | 久久久精品成人 | 成人久久久电影 | 色网址99 | 久草视频在线免费 | 99久久精品视频免费 | 国产福利免费在线观看 | 久草青青在线观看 | 成年人视频免费在线播放 | 国产不卡在线播放 | 久久av中文字幕片 | 日韩xxxx视频 | 五月婷香蕉久色在线看 | 99久视频 | 激情片av| 国产91在线观看 | 中文字幕资源在线观看 | 91欧美日韩国产 | 夜夜干夜夜 | 区一区二区三在线观看 | 黄网站色视频免费观看 | 福利网址在线观看 | 国产剧在线观看片 | 婷婷av在线| 国产一级一级国产 | 91精品国产综合久久福利 | 免费久久99精品国产婷婷六月 | 亚洲欧美视频 | 天天射天天操天天色 | 久久人人爽人人爽人人片av软件 | 午夜91视频 | 五月婷婷色丁香 | 欧美美女视频在线观看 | 不卡的av电影 | 久草线| 国产在线精品二区 | 国产自在线 | 日韩欧美专区 | 国产精品mv在线观看 | 日韩视频一区二区在线 | 国产精品电影一区二区 | 国产精品一区二区在线播放 | 欧美精品免费视频 | 国产经典 欧美精品 | 福利一区在线 | 国产偷在线 | 欧美成人性网 | a天堂最新版中文在线地址 久久99久久精品国产 | 一二三久久久 | 日韩av二区| 午夜.dj高清免费观看视频 | 精品久久亚洲 | 成人欧美一区二区三区在线观看 | 国产精品免费在线播放 | 波多野结衣久久精品 | 免费一级黄色 | 中文字幕在线免费看线人 | 成人黄在线 | 91精品免费看| 91av视频网 | 欧美激情精品久久久久久变态 | 亚洲午夜久久久综合37日本 | 欧美日韩国产成人 | 日韩免费高清在线观看 | 日韩欧美在线免费观看 | 久久99精品国产麻豆婷婷 | 五月婷婷国产 | 999超碰| 人人躁 | av在线电影免费观看 | 玖玖玖影院 | 最新成人av | 狠狠色丁香久久婷婷综合_中 | 欧美婷婷色 | 亚洲精欧美一区二区精品 | 2021国产精品 | 国产原创91 | 久久国产精品免费一区二区三区 | 国产精品毛片久久久 | 国产精品久久一区二区三区不卡 | 久久精品电影院 | 日本动漫做毛片一区二区 | 精品免费视频. | 在线观看国产永久免费视频 | 五月天婷亚洲天综合网精品偷 | 成人影视免费看 | 99在线免费观看视频 | 天天爱天天射 | 日日夜夜精品免费观看 | 久久99精品久久久久久清纯直播 | 91污在线 | 91九色在线视频观看 | av黄免费看 | 成人在线视频免费 | 国产伦理精品一区二区 | 久久婷五月 | 97在线影院 | 免费亚洲视频 | 日日天天干 | x99av成人免费 | 91自拍视频在线观看 | 综合国产在线观看 | 永久黄网站色视频免费观看w | 91福利免费 | 日韩有码中文字幕在线 | 欧美一二三视频 | 国产美女在线精品免费观看 | 精品久久久久一区二区国产 | 九色精品免费永久在线 | 人人爱人人舔 | 国产中文字幕精品 | www欧美xxxx| ,久久福利影视 | 国产精品va最新国产精品视频 | 精品视频网站 | 久久综合九色综合久99 | 少妇av网 | 色www.| 精品91在线 | 九九久久久久久久久激情 | 亚洲一二区视频 | 国产一级片播放 | 在线观看亚洲精品 | 中文字幕亚洲综合久久五月天色无吗'' | 久久97视频| 国产又粗又猛又黄 | 国产精品久久在线 | 国产精品99爱 | 国产不卡网站 | 国产精品99久久久久久小说 | 日日操日日插 | 蜜桃av久久久亚洲精品 | 国产伦理精品一区二区 | 午夜精品电影 | adc在线观看 | 黄色大片日本 | 色99导航 | 日韩视频一区二区三区 | av成人动漫 | 97在线免费视频观看 | 精品在线一区二区三区 | 亚洲一区二区三区精品在线观看 | 91精品视频在线观看免费 | 久久久激情网 | 波多野结衣电影一区二区三区 | 久久精品欧美一区 | 国产成a人亚洲精v品在线观看 | 日韩精品一区在线观看 | 欧美精品免费在线观看 | 国产精品久久久久久久久久久免费看 | 97在线看片| 色婷婷视频在线 | 国产黄色片久久久 | 麻花天美星空视频 | 91在线视频免费91 | 色偷偷888欧美精品久久久 | 欧美一区二区在线免费观看 | av五月婷婷 | 婷婷色九月| 久久99精品久久久久婷婷 | 国产日产精品一区二区三区四区的观看方式 | 91精品999| 在线av资源 | 成人在线黄色电影 | 伊人网av | 欧美日韩午夜 | 久久久久久国产精品久久 | 狠狠的干狠狠的操 | 亚洲精品美女在线观看 | 99精品在线免费视频 | 三级在线视频播放 | 午夜私人影院久久久久 | 深爱综合网 | 午夜精品久久 | 免费视频成人 | 最近中文字幕免费av | 日韩在线观看你懂的 | 欧美日韩大片在线观看 | 亚洲视频分类 | 国产综合片 | 日韩av免费在线看 | 国产一区欧美日韩 | 丁香久久久 | 亚洲最新av在线网站 | 国产精品大全 | 国产美女精品视频免费观看 | 欧美日韩aaaa | 国产精品成人久久久久久久 | 国产精品激情在线观看 | 欧美精品国产综合久久 | 五月婷婷丁香 | 亚洲国产午夜 | 免费网站在线观看成人 | 一区二区三区在线观看 | 四虎在线免费观看 | 在线视频久 | 国产成人三级三级三级97 | 国产精品99久久久久的智能播放 | 毛片区 | 国产九九精品 | 在线视频欧美日韩 | 麻豆国产在线播放 | 中文字幕久久亚洲 | 99在线播放 | 美女网站视频色 | 亚洲精品乱码久久久久久蜜桃不爽 | 91九色免费视频 | 国产99精品在线观看 | 在线观看91精品国产网站 | 久久热首页| 久久99国产精品久久 | 国产成人精品久久二区二区 | 久草91视频 | 麻豆视频免费在线 | 精品国产福利在线 | 91精品视屏 | 日本丰满少妇免费一区 | 最新中文字幕在线播放 | 天堂v中文| 欧美久久久久久久久久 | 青青草国产精品视频 | 黄色影院在线观看 | 日韩免费成人 | av亚洲产国偷v产偷v自拍小说 | 国产二区av | 亚洲视频一区二区三区在线观看 | 精品麻豆入口免费 | 五月天伊人 | 狠狠色狠狠色综合日日小说 | 亚洲成人蜜桃 | av五月婷婷 | 国产一级做a爱片久久毛片a | 午夜三级影院 | 国产人在线成免费视频 | 成人一级视频在线观看 | 999抗病毒口服液 | 天天狠狠 | 在线观看免费福利 | 日韩av午夜在线观看 | 久久免费高清视频 | 丁香五婷 | 中文字幕韩在线第一页 | 欧美激情视频一区二区三区免费 | 天天操网址 | 国产在线超碰 | 亚洲激情六月 | 国产一区二区在线播放视频 | 91成人精品一区在线播放69 | 日本久久中文 | 国产a网站 | 91正在播放 | 97免费| 国产精品video爽爽爽爽 | 国产黄色精品网站 | 蜜桃av观看 | 日韩色av色资源 | 久久久久女人精品毛片 | 夜夜躁日日躁狠狠躁 | 911av视频| 国产精品国产亚洲精品看不卡 | 最新av免费在线观看 | 国产精品亚州 | 天天躁日日躁狠狠躁av麻豆 | 日韩欧美网址 | 国产美女无遮挡永久免费 | 69国产盗摄一区二区三区五区 | 在线观看精品黄av片免费 | 久久久精品久久日韩一区综合 | 欧美日韩精品免费观看视频 | 91香蕉国产在线观看软件 | 91色国产在线 | 亚洲闷骚少妇在线观看网站 | 在线观看视频91 | 亚洲二区精品 | 99精品免费久久久久久日本 | 国产美女视频 | 四虎国产精品免费观看视频优播 | 久久不卡电影 | 香蕉一区 | 日日夜夜免费精品视频 | 亚洲天天综合网 | 超碰97国产在线 | 国产手机视频在线 | 日韩欧美在线观看 | 久久久久观看 | 国产亚洲婷婷 | 黄色av电影网 | 天天色视频 | 人人澡人人添人人爽一区二区 | 亚洲男女精品 | 美女免费黄网站 | 88av色| 黄色av电影在线观看 | 精品欧美在线视频 | 丁香激情婷婷 | 国产资源精品在线观看 | 国产黄色免费看 | 91九色蝌蚪在线 | 成人中心免费视频 | 久久精品韩国 | 久久成人综合视频 | 国产亚洲午夜高清国产拍精品 | av福利网址导航 | 精品在线免费视频 | 亚洲丁香日韩 | 中文字幕在线看视频 | 精品久久久免费视频 | 中国黄色一级大片 | 亚洲精品日韩一区二区电影 | 欧美亚洲久久 | 热久久免费视频精品 | 丁香婷婷久久 | 久久九九视频 | 日韩在线免费观看视频 | 欧美午夜精品久久久久久孕妇 | 欧美一级激情 | 日韩av中文在线观看 | 九色激情网 | 中文字幕大全 | 国产黄a三级 | 国产一二区免费视频 | 免费看黄色小说的网站 | 亚洲精品18日本一区app | 97超碰人| 在线播放精品一区二区三区 | 国产第页| 亚洲aⅴ乱码精品成人区 | 91在线精品视频 | 国产免费久久久久 | 成人黄色片免费 | 伊人国产视频 | 激情欧美丁香 | 精品国产电影一区二区 | 国产爽视频 | 精品一区二区精品 | 免费91麻豆精品国产自产在线观看 | 日韩免费高清 | 天天做天天爱夜夜爽 | 国产在线 一区二区三区 | 99热在线国产精品 | 天天色天天| 欧美十八 | 91在线播放综合 | 精品女同一区二区三区在线观看 | 久久久久免费精品国产小说色大师 | 欧美亚洲精品一区 | 狠狠狠狠狠狠操 | 91久久久久久久一区二区 | 色综合激情网 | 99久久999久久久精玫瑰 | 国产成人一区二区三区在线观看 | 天堂av在线中文在线 | 亚洲成人中文在线 | 91福利小视频 | 六月丁香色婷婷 | 久久99精品久久久久久三级 | 欧美日韩不卡一区 | 午夜电影av | 欧美日韩一区二区三区视频 | 亚洲精品一区中文字幕乱码 | 亚洲精品国产精品久久99 | 久久视频精品在线观看 | 色综合亚洲精品激情狠狠 | 五月综合婷 | 国产香蕉视频在线观看 | 91最新视频在线观看 | 欧美成人黄色 | 国产一区影院 | 国产九九精品视频 | 西西444www大胆高清图片 | 999视频网站 | 精品国产99 | 99视频在线观看一区三区 | 在线激情av电影 | 一级大片在线观看 | 亚洲伦理电影在线 | 人人爽人人 | 国产高清在线不卡 | 狠狠干狠狠艹 | 91一区在线观看 | 最近更新好看的中文字幕 | 国产高清福利在线 | 国产成人精品一区二区三区福利 | 天堂黄色片 | 天天看天天干 | 又大又硬又黄又爽视频在线观看 | 久久精久久精 | 99久久99久久 | 色999精品 | 国产精品高潮在线观看 | 一区二区精品视频 | 永久免费的啪啪网站免费观看浪潮 | 亚洲高清免费在线 | 国产精品欧美日韩 | 免费看国产a | 欧美日韩二区在线 | 一区免费观看 | 久久人视频 | 久青草视频在线观看 | 午夜在线免费观看 | 亚洲人成精品久久久久 | 一区二区三区视频 | 99热亚洲精品 | 成人免费在线播放视频 | 久久歪歪| 国产一级电影 | 欧美日韩午夜爽爽 | 国产美女网站视频 | 99精品视频在线观看 | 久久久久久久网站 | a视频在线观看免费 | 五月婷婷综合网 | 国产日韩在线观看一区 | 国产做aⅴ在线视频播放 | 69精品人人人人 | 婷婷六月综合亚洲 | 91免费版在线 | 成人黄色小说网 | 国产黄色大片 | 摸bbb搡bbb搡bbbb | 在线观看亚洲免费视频 | 黄色福利网站 | 成人小视频免费在线观看 | 国产日韩精品欧美 | 日韩伦理一区二区三区av在线 | 国产专区视频在线 | 亚洲精品系列 | 99精品影视| 日韩r级在线 | 精品久久99 | 日韩特级毛片 | 亚洲精品国产麻豆 | 四虎成人网 | 人人讲| 超碰99在线| 国产精品免费久久久久影院仙踪林 | 亚洲一区二区三区miaa149 | 国产免费观看视频 | 中文字幕传媒 | 四虎国产精品永久在线国在线 | 91丨九色丨蝌蚪丨对白 | 国产亚洲精品福利 | 日韩中文字幕国产精品 | 狠狠亚洲| 国产美女在线精品免费观看 | 天堂av免费在线 | 欧美一级久久 | 黄色毛片视频 | 天天干天天操天天入 | 视频直播国产精品 | 99久热在线精品视频成人一区 | 天天搞夜夜骑 | 欧美福利精品 | 国产色婷婷精品综合在线手机播放 | 日韩欧美一区二区三区在线 | 久久精品亚洲精品国产欧美 | 色是在线视频 | 最新日韩精品 | 欧美乱熟臀69xxxxxx | 国产成人精品久久亚洲高清不卡 | 国产精品自产拍在线观看网站 | 日韩电影一区二区三区 | 7777精品伊人久久久大香线蕉 | 亚洲精品久久激情国产片 | 精品久久片| 91色视频 | 在线观看久久久久久 | 精品久久一二三区 | 日韩精品在线一区 | 一区av在线播放 | 免费一级特黄录像 | 久久久久99精品国产片 | 免费一级毛毛片 | 色综合久久天天 | 99精品视频观看 | 日本中文字幕电影在线免费观看 | 日韩乱码在线 | 久久99久久久久久 | 亚洲jizzjizz日本少妇 | 久久国产精品一二三区 | 精品亚洲视频在线观看 | 久久婷婷开心 | 91亚洲精品国偷拍 | 国产亚洲资源 | 五月情婷婷 | 91c网站色版视频 | 国产精品扒开做爽爽的视频 | 操久| 久草视频免费观 | 欧美色黄 | 91重口视频| 人人澡人人草 | 成人国产精品入口 | 丝袜美女在线观看 | 日韩综合色 | 欧美一区二区三区激情视频 | 国产 精品 资源 | 亚洲成人家庭影院 | 在线国产观看 | 中文字幕在线播放一区二区 | 日本韩国精品一区二区在线观看 | 一本一本久久a久久精品牛牛影视 | 久久草草影视免费网 | 亚洲精品视频在线免费播放 | 日韩在线观看视频免费 | 国产精品 欧美 日韩 | 日韩精品不卡在线观看 | 国产一区二区精品 | 亚洲黄网站| 成人av动漫在线观看 | 精品福利国产 | 日韩av图片 | 日韩精品一区二区三区免费观看 | 久久精品99北条麻妃 | 久草久草在线观看 | 国产乱码精品一区二区蜜臀 | 深夜免费小视频 | 日韩精品免费一区二区三区 | 天天干天天射天天插 | 国产中文在线播放 | 精品欧美乱码久久久久久 | 午夜久久久精品 | 久草新在线 | 91日韩在线视频 | 黄色成品视频 | 伊人热 | 色婷婷导航 | 国产成人在线精品 | 人人干网 | 欧美日韩国产精品一区二区三区 | 成年人黄色免费看 | 中文字幕之中文字幕 | 免费色网 | 欧美日韩一区二区免费在线观看 | 蜜桃视频在线观看一区 | 尤物一区二区三区 | 人人澡人人爱 | 国产成人精品一区二区三区在线观看 | 久久精品国产99国产 | 91精品在线免费视频 | 国产一级二级在线 | 中文网丁香综合网 | av大全在线播放 | 亚洲国产片| 三级在线视频观看 | 中文字幕 第二区 | 992tv在线成人免费观看 | 午夜精品成人一区二区三区 | 欧美少妇18p | 日本中文字幕在线视频 | 97涩涩视频 | 国产精品久久99综合免费观看尤物 | 久久久麻豆 | 免费久久久久久久 | 国产美女黄网站免费 | 婷婷去俺也去六月色 | 久草综合视频 | 人九九精品 | 中文区中文字幕免费看 | 97国产情侣爱久久免费观看 | 久久久久久毛片精品免费不卡 | 精品国产一区二区三区久久久蜜月 | 91中文字幕一区 | 射久久久 | 久久久九色精品国产一区二区三区 | 亚洲一区二区精品3399 | 免费看的黄色小视频 | 久久视频免费观看 | 高清视频一区 | 婷婷网站天天婷婷网站 | 久久蜜臀av| 久草在线91 | 亚洲作爱视频 | 国产系列精品av | 午夜久久久久 | 亚洲精品成人免费 | 丁香久久五月 | 99精品偷拍视频一区二区三区 | 亚洲国产电影在线观看 | 欧美一级黄色视屏 | 久久久免费少妇 | 精品成人在线 | 91av久久 | 毛片在线播放网址 | 9在线观看免费高清完整版在线观看明 | 久久九九精品 | 久久国内免费视频 | 91在线porny国产在线看 | 99在线视频播放 | 日韩午夜剧场 | 国产福利免费在线观看 | 亚洲丝袜一区 | 久草在线精品观看 | 天天爽夜夜爽人人爽一区二区 | 久草在线免 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 日本丰满少妇免费一区 | 欧美91精品久久久久国产性生爱 | 一区二区视频免费在线观看 | 2024av| 久久久久欧美精品 | 国产在线综合视频 | 久久视频这里有精品 | 97在线免费视频观看 | 日本精品久久久久久 | 精品久久久国产 | 久久国产成人午夜av影院宅 | 在线观看成人毛片 | 天天综合视频在线观看 | 国产v在线播放 | 黄色a三级| 日韩久久久久久久久久久久 | 天天色天天 | 黄色一级大片在线免费看国产一 | 在线观看亚洲精品 | 久久毛片网站 | 国产亚洲aⅴaaaaaa毛片 | 91视频在线看 | 亚洲视频每日更新 | 一区二区三区精品在线视频 | 狠狠色噜噜狠狠 | 欧美日韩精品免费观看视频 | japanesexxxxfreehd乱熟 | 美女久久久| 亚洲精品在线电影 | 国产成人精品综合久久久久99 | 91女神的呻吟细腰翘臀美女 | 蜜桃视频日本 | 成年人视频在线 | 国产主播大尺度精品福利免费 | 三级av免费观看 | 久久久久久久久久久久久影院 | 国产在线97| 婷婷色吧| 国产小视频免费观看 | 69成人在线 | 亚洲乱码在线观看 | 日韩精品久久久久久久电影竹菊 | 一级欧美黄 | 91精品国自产在线偷拍蜜桃 | 日本在线观看一区二区 | 五月婷婷开心中文字幕 | 99热99re6国产在线播放 | 亚洲一二三在线 | 成人av网站在线 | 在线观看完整版免费 | 国内精品视频在线播放 | 久久国产精品视频免费看 | 国产在线精品一区二区 | 日本少妇久久久 | www久久九 | 毛片一级免费一级 | 欧美日韩国内在线 | 手机色在线 | 欧美伦理一区二区 | 国产探花视频在线播放 | 精品成人久久 | 亚洲精品xx | 午夜国产影院 | 国内精品久久久久久久久久久 | 91麻豆视频 | 国产黄色免费在线观看 | 国产精品国产三级国产不产一地 | 久久久亚洲国产精品麻豆综合天堂 | 亚洲理论电影网 | 亚洲一区 av | 在线免费三级 | 免费人成在线观看 | 2017狠狠干 | 国产97视频 | 操操操日日日 | 久久草av | 99精品欧美一区二区三区黑人哦 | 偷拍精品一区二区三区 | 国产精品嫩草在线 | 中文字幕观看av | 婷婷色网视频在线播放 | 国产二级视频 | 911香蕉视频 | 视频在线观看日韩 | 高清不卡一区二区三区 | 97国产精品视频 | 伊人色综合网 | 中文字幕国产在线 | 在线观看一级视频 | 国产精品岛国久久久久久久久红粉 | 91插插影库| 日韩女同一区二区三区在线观看 | av一区在线播放 | 日日夜夜网站 | 亚洲国产综合在线 | 国产一级小视频 | 黄污视频网站 | 一级性视频| 麻豆一区二区三区视频 | 黄色大片免费播放 | 日日弄天天弄美女bbbb | 久久999精品 | 国产99久久久国产精品免费看 |