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

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

?? xtransdnet.c

?? unix vnc 協(xié)議源碼. VNC是一款遠(yuǎn)程控制工具軟件.
?? C
字號:
/* $XConsortium: Xtransdnet.c,v 1.16 95/02/10 17:54:09 mor Exp $ *//* $XFree86: xc/lib/xtrans/Xtransdnet.c,v 3.2 1996/05/10 06:55:47 dawes Exp $ *//*Copyright (c) 1993, 1994  X ConsortiumPermission is hereby granted, free of charge, to any person obtaininga copy of this software and associated documentation files (the"Software"), to deal in the Software without restriction, includingwithout limitation the rights to use, copy, modify, merge, publish,distribute, sublicense, and/or sell copies of the Software, and topermit persons to whom the Software is furnished to do so, subject tothe following conditions:The above copyright notice and this permission notice shall be includedin all copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OROTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OROTHER DEALINGS IN THE SOFTWARE.Except as contained in this notice, the name of the X Consortium shallnot be used in advertising or otherwise to promote the sale, use orother dealings in this Software without prior written authorizationfrom the X Consortium.*//* Copyright (c) 1993, 1994 NCR Corporation - Dayton, Ohio, USA * * All Rights Reserved * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name NCR not be used in advertising * or publicity pertaining to distribution of the software without specific, * written prior permission.  NCR and makes no representations about the * suitability of this software for any purpose.  It is provided "as is" * without express or implied warranty. * * NCR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN * NO EVENT SHALL NCR BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */#ifndef WIN32#include <netdnet/dn.h>#include <netdnet/dnetdb.h>#include <sys/ioctl.h>#endif /* !WIN32 */#include <stdio.h>#ifdef WIN32#define _WILLWINSOCK_#define BOOL wBOOL#undef Status#define Status wStatus#include <prgpre.h> /* PATHWORKS header normally in %MSTOOLS%\h\pathwork */#undef Status#define Status int#undef BOOL#include <X11/Xw32defs.h>#undef close#define close closesocket#endif /* WIN32 */#if defined(X11_t)#define DNETOBJ "X$X"#endif#if defined(XIM_t)#define DNETOBJ "IMSERVER$"#endif#if defined(FS_t) || defined(FONT_t)#define DNETOBJ "X$FONT"#endif#if defined(ICE_t)#define DNETOBJ ""#endif#if defined(TEST_t)#define DNETOBJ "X$TEST"#endif/* * This is the DNET implementation of the X Transport service layer *//* * This function gets the local address of the socket and stores it in the * XtransConnInfo structure for the connection. */static intTRANS(DNETGetAddr) (ciptr)XtransConnInfo ciptr;{    struct sockaddr_dn	sockname;    int			namelen = sizeof(sockname);    PRMSG (3,"DNETGetAddr(%x)\n", ciptr, 0, 0);    if (getsockname (ciptr->fd, (struct sockaddr *) &sockname, &namelen) < 0)    {	PRMSG (1,"DNETGetAddr: getsockname() failed: %d\n",	      EGET(), 0, 0);	return -1;    }    /*     * Everything looks good: fill in the XtransConnInfo structure.     */    if ((ciptr->addr = (char *) xalloc (namelen)) == NULL)    {        PRMSG (1, "DNETGetAddr: Can't allocate space for the addr\n",	       0, 0, 0);        return -1;    }    ciptr->family = sockname.sdn_family;    ciptr->addrlen = namelen;    memcpy (ciptr->addr, &sockname, ciptr->addrlen);    return 0;}/* * This function gets the remote address of the socket and stores it in the * XtransConnInfo structure for the connection. */static intTRANS(DNETGetPeerAddr) (ciptr)XtransConnInfo ciptr;{    struct sockaddr_dn	sockname;    int			namelen = sizeof(sockname);    PRMSG (3,"DNETGetPeerAddr(%x)\n", ciptr, 0, 0);    if (getpeername (ciptr->fd, (struct sockaddr *) &sockname, &namelen) < 0)    {	PRMSG (1,"DNETGetPeerAddr: getpeername() failed: %d\n",	      EGET(), 0, 0);	return -1;    }    /*     * Everything looks good: fill in the XtransConnInfo structure.     */    if ((ciptr->peeraddr = (char *) xalloc (namelen)) == NULL)    {        PRMSG (1,	      "DNETGetPeerAddr: Can't allocate space for the addr\n",	      0, 0, 0);        return -1;    }    ciptr->peeraddrlen = namelen;    memcpy (ciptr->peeraddr, &sockname, ciptr->peeraddrlen);    return 0;}#ifdef TRANS_CLIENTstatic XtransConnInfoTRANS(DNETOpenCOTSClient) (thistrans, protocol, host, port)Xtransport	*thistrans;char		*protocol;char		*host;char		*port;{    XtransConnInfo	ciptr;    PRMSG (2,"DNETOpenCOTSClient(%s,%s,%s)\n", protocol, host, port);    if ((ciptr = (XtransConnInfo) xcalloc (	1, sizeof(struct _XtransConnInfo))) == NULL)    {	PRMSG (1, "DNETOpenCOTSClient: malloc failed\n", 0, 0, 0);	return NULL;    }    ciptr->index = 0;		/* only one form of DECnet */    /* nothing else to do here */    return ciptr;}#endif /* TRANS_CLIENT */#ifdef TRANS_SERVERstatic XtransConnInfoTRANS(DNETOpenCOTSServer) (thistrans, protocol, host, port)Xtransport	*thistrans;char		*protocol;char		*host;char		*port;{    XtransConnInfo	ciptr;    PRMSG (2,"DNETOpenCOTSServer(%s,%s,%s)\n", protocol, host, port);    if ((ciptr = (XtransConnInfo) xcalloc (	1, sizeof(struct _XtransConnInfo))) == NULL)    {	PRMSG (1, "DNETOpenCOTSServer: malloc failed\n", 0, 0, 0);	return NULL;    }    if ((ciptr->fd = socket (AF_DECnet, SOCK_STREAM, 0)) < 0)    {	xfree ((char *) ciptr);	return NULL;    }    ciptr->index = 0;		/* only one form of DECnet */    return (ciptr);}#endif /* TRANS_SERVER */#ifdef TRANS_CLIENTstatic XtransConnInfoTRANS(DNETOpenCLTSClient) (thistrans, protocol, host, port)Xtransport	*thistrans;char		*protocol;char		*host;char		*port;{    XtransConnInfo	ciptr;    PRMSG (2,"DNETOpenCLTSClient(%s,%s,%s)\n", protocol, host, port);    if ((ciptr = (XtransConnInfo) xcalloc (	1, sizeof (struct _XtransConnInfo))) == NULL)    {	PRMSG (1, "DNETOpenCLTSClient: malloc failed\n", 0, 0, 0);	return NULL;    }    ciptr->index = 0;		/* only one form of DECnet */    /* nothing else to do here */    return ciptr;}#endif /* TRANS_CLIENT */#ifdef TRANS_SERVERstatic XtransConnInfoTRANS(DNETOpenCLTSServer) (thistrans, protocol, host, port)Xtransport	*thistrans;char		*protocol;char		*host;char		*port;{    /* NEED TO IMPLEMENT */    PRMSG (2,"DNETOpenCLTSServer(%s,%s,%s)\n", protocol, host, port);    return NULL;}#endif /* TRANS_SERVER */#ifdef TRANS_REOPENstatic XtransConnInfoTRANS(DNETReopenCOTSServer) (thistrans, fd, port)Xtransport	*thistrans;int		fd;char		*port;{    XtransConnInfo	ciptr;    PRMSG (2,"DNETReopenCOTSServer(%d,%s)\n", fd, port, 0);    if ((ciptr = (XtransConnInfo) xcalloc (	1, sizeof(struct _XtransConnInfo))) == NULL)    {	PRMSG (1, "DNETReopenCOTSServer: malloc failed\n", 0, 0, 0);	return NULL;    }    ciptr->fd = fd;    ciptr->index = 0;		/* only one form of DECnet */    return (ciptr);}static XtransConnInfoTRANS(DNETReopenCLTSServer) (thistrans, fd, port)Xtransport	*thistrans;int		fd;char		*port;{    XtransConnInfo	ciptr;    PRMSG (2,"DNETReopenCLTSServer(%d,%s)\n", fd, port, 0);    if ((ciptr = (XtransConnInfo) xcalloc (	1, sizeof(struct _XtransConnInfo))) == NULL)    {	PRMSG (1, "DNETReopenCLTSServer: malloc failed\n", 0, 0, 0);	return NULL;    }    ciptr->fd = fd;    ciptr->index = 0;		/* only one form of DECnet */    return (ciptr);}#endif /* TRANS_REOPEN */static intTRANS(DNETSetOption) (ciptr, option, arg)XtransConnInfo	ciptr;int		option;int		arg;{    PRMSG (2,"DNETSetOption(%d,%d,%d)\n", ciptr->fd, option, arg);    return -1;}#ifdef TRANS_SERVERstatic intTRANS(DNETCreateListener) (ciptr, port)XtransConnInfo	ciptr;char		*port;{    struct sockaddr_dn  dnsock;    int			fd = ciptr->fd;    PRMSG (3, "DNETCreateListener(%x,%d)\n", ciptr, fd, 0);    bzero ((char *) &dnsock, sizeof (dnsock));    dnsock.sdn_family = AF_DECnet;    if (port && *port )	sprintf (dnsock.sdn_objname, "%s%s", DNETOBJ, port);    else#ifdef X11_t	return -1;#else	sprintf (dnsock.sdn_objname, "%s%d", DNETOBJ, getpid ());#endif    dnsock.sdn_objnamel = strlen (dnsock.sdn_objname);    if (bind (fd, (struct sockaddr *) &dnsock, sizeof (dnsock)))    {	close (fd);	return -1;    }    if (listen (fd, 5))    {	close (fd);	return (-1);    }    /* Set a flag to indicate that this connection is a listener */    ciptr->flags = 1;    return 0;}static XtransConnInfoTRANS(DNETAccept) (ciptr, status)XtransConnInfo	ciptr;int		*status;{    XtransConnInfo	newciptr;    struct sockaddr_dn	sockname;    int			namelen = sizeof(sockname);    PRMSG (2, "DNETAccept(%x,%d)\n", ciptr, ciptr->fd, 0);    if ((newciptr = (XtransConnInfo) xcalloc(	1, sizeof (struct _XtransConnInfo))) == NULL)    {	PRMSG (1, "DNETAccept: malloc failed\n", 0, 0, 0);	*status = TRANS_ACCEPT_BAD_MALLOC;	return NULL;    }    if((newciptr->fd = accept (ciptr->fd,	(struct sockaddr *) &sockname, &namelen)) < 0)    {	PRMSG (1, "DNETAccept: accept() failed\n", 0, 0, 0);	xfree (newciptr);	*status = TRANS_ACCEPT_FAILED;	return NULL;    }    /*     * Get this address again because the transport may give a more      * specific address now that a connection is established.     */    if (TRANS(DNETGetAddr) (newciptr) < 0)    {	PRMSG(1,	"DNETAccept: ...DNETGetAddr() failed:\n", 0, 0, 0);	close (newciptr->fd);	xfree (newciptr);	*status = TRANS_ACCEPT_MISC_ERROR;        return NULL;    }    if (TRANS(DNETGetPeerAddr) (newciptr) < 0)    {	PRMSG(1,	"DNETAccept: ...DNETGetPeerAddr() failed:\n", 0, 0, 0);	close (newciptr->fd);	if (newciptr->addr) xfree (newciptr->addr);	xfree (newciptr);	*status = TRANS_ACCEPT_MISC_ERROR;        return NULL;    }    *status = 0;    return newciptr;}#endif /* TRANS_SERVER */#ifdef TRANS_CLIENT#define OBJBUFSIZE 64static intTRANS(DNETConnect) (ciptr, host, port)XtransConnInfo	ciptr;char		*host;char		*port;{    char objname[OBJBUFSIZE];    extern int dnet_conn();        PRMSG (2,"DNETConnect(%d,%s,%s)\n", ciptr->fd, host, port);#ifdef X11_t    /*     * X has a well known port, that is transport dependent. It is easier     * to handle it here, than try and come up with a transport independent     * representation that can be passed in and resolved the usual way.     *     * The port that is passed here is really a string containing the idisplay     * from ConnectDisplay().     */    if (is_numeric (port))    {	short tmpport = (short) atoi (port);	sprintf (objname, "X$X%d", tmpport);    }    else#endif	strncpy(objname, port, OBJBUFSIZE);    /*     * Do the connect     */    if (!host) host = "0";    if ((ciptr->fd = dnet_conn (host, objname, SOCK_STREAM, 0, 0, 0, 0)) < 0)    {	return TRANS_CONNECT_FAILED;    }    /*     * Sync up the address fields of ciptr.     */    if (TRANS(DNETGetAddr) (ciptr) < 0)    {	PRMSG (1,	      "DNETConnect: ...DNETGetAddr() failed:\n", 0, 0, 0);	return TRANS_CONNECT_FAILED;    }    if (TRANS(DNETGetPeerAddr) (ciptr) < 0)    {	PRMSG (1,	      "DNETConnect: ...DNETGetPeerAddr() failed:\n",	      0, 0, 0);	return TRANS_CONNECT_FAILED;    }    return 0;}#endif /* TRANS_CLIENT */static intTRANS(DNETBytesReadable) (ciptr, pend)XtransConnInfo	ciptr;BytesReadable_t	*pend;{    PRMSG (2,"DNETBytesReadable(%x,%d,%x)\n", ciptr, ciptr->fd, pend);#ifdef WIN32    return ioctlsocket ((SOCKET) ciptr->fd, FIONREAD, (u_long *) pend);#else    return ioctl(ciptr->fd, FIONREAD, (char *)pend);#endif /* WIN32 */}static intTRANS(DNETRead) (ciptr, buf, size)XtransConnInfo	ciptr;char		*buf;int		size;{    PRMSG (2,"DNETRead(%d,%x,%d)\n", ciptr->fd, buf, size);#ifdef WIN32    return recv ((SOCKET)ciptr->fd, buf, size, 0);#else    return read (ciptr->fd, buf, size);#endif /* WIN32 */}static intTRANS(DNETWrite) (ciptr, buf, size)XtransConnInfo	ciptr;char		*buf;int		size;{    PRMSG (2,"DNETWrite(%d,%x,%d)\n", ciptr->fd, buf, size);#ifdef WIN32    return send ((SOCKET)ciptr->fd, buf, size, 0);#else    return write (ciptr->fd, buf, size);#endif /* WIN32 */}static intTRANS(DNETReadv) (ciptr, buf, size)XtransConnInfo	ciptr;struct iovec	*buf;int		size;{    PRMSG (2,"DNETReadv(%d,%x,%d)\n", ciptr->fd, buf, size);    return READV (ciptr, buf, size);}static intTRANS(DNETWritev) (ciptr, buf, size)XtransConnInfo	ciptr;struct iovec	*buf;int		size;{    PRMSG (2,"DNETWritev(%d,%x,%d)\n", ciptr->fd, buf, size);    return WRITEV (ciptr, buf, size);}static intTRANS(DNETDisconnect) (ciptr)XtransConnInfo	ciptr;{    PRMSG (2,"DNETDisconnect(%x,%d)\n", ciptr, ciptr->fd, 0);    return shutdown (ciptr->fd, 2); /* disallow further sends and receives */}static intTRANS(DNETClose) (ciptr)XtransConnInfo	ciptr;{    PRMSG (2,"DNETClose(%x,%d)\n", ciptr, ciptr->fd, 0);    return close (ciptr->fd);}Xtransport	TRANS(DNETFuncs) = {    /* DNET Interface */    "dnet",    0,#ifdef TRANS_CLIENT    TRANS(DNETOpenCOTSClient),#endif /* TRANS_CLIENT */#ifdef TRANS_SERVER    TRANS(DNETOpenCOTSServer),#endif /* TRANS_SERVER */#ifdef TRANS_CLIENT    TRANS(DNETOpenCLTSClient),#endif /* TRANS_CLIENT */#ifdef TRANS_SERVER    TRANS(DNETOpenCLTSServer),#endif /* TRANS_SERVER */#ifdef TRANS_REOPEN    TRANS(DNETReopenCOTSServer),    TRANS(DNETReopenCLTSServer),#endif /* TRANS_REOPEN */    TRANS(DNETSetOption),#ifdef TRANS_SERVER    TRANS(DNETCreateListener),    NULL,		       			/* ResetListener */    TRANS(DNETAccept),#endif /* TRANS_SERVER */#ifdef TRANS_CLIENT    TRANS(DNETConnect),#endif /* TRANS_CLIENT */    TRANS(DNETBytesReadable),    TRANS(DNETRead),    TRANS(DNETWrite),    TRANS(DNETReadv),    TRANS(DNETWritev),    TRANS(DNETDisconnect),    TRANS(DNETClose),    TRANS(DNETClose),};

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲精品一区二区三区在线观看| 一区二区三区在线免费播放| 麻豆精品一二三| 日韩免费看的电影| 国产一级精品在线| 亚洲国产精品传媒在线观看| 成人激情文学综合网| 亚洲欧美乱综合| 欧美另类z0zxhd电影| 美女尤物国产一区| 国产片一区二区| 91蝌蚪porny九色| 午夜伦欧美伦电影理论片| 6080日韩午夜伦伦午夜伦| 紧缚奴在线一区二区三区| 欧美激情中文字幕一区二区| 91一区在线观看| 亚洲.国产.中文慕字在线| 亚洲精品一区二区三区影院 | 久久久久免费观看| 国产91露脸合集magnet| 亚洲图片另类小说| 91麻豆精品国产91久久久久| 国产福利一区在线观看| 亚洲二区在线观看| 久久色在线观看| 色先锋久久av资源部| 麻豆精品视频在线| 亚洲精品国产精华液| 国产精品久久久久久福利一牛影视| 日本精品裸体写真集在线观看 | 久久精品国产在热久久| 国产精品天天摸av网| 欧美日高清视频| 成人高清视频在线观看| 丝袜美腿一区二区三区| 国产精品国产成人国产三级| 欧美一区中文字幕| 99视频在线观看一区三区| 青青草国产精品亚洲专区无| 亚洲视频图片小说| 欧美xxxxx牲另类人与| 色呦呦网站一区| 国产精品亚洲а∨天堂免在线| 亚洲狠狠丁香婷婷综合久久久| 久久美女艺术照精彩视频福利播放| 欧美影视一区在线| 91视频一区二区| 高清免费成人av| 久久黄色级2电影| 亚洲高清不卡在线| 亚洲欧美视频在线观看视频| 久久综合999| 日韩亚洲欧美高清| 欧美日韩极品在线观看一区| 91小宝寻花一区二区三区| 国产麻豆成人传媒免费观看| 日本午夜精品一区二区三区电影| 亚洲精品ww久久久久久p站| 中文字幕高清不卡| 国产亚洲精久久久久久| 欧美tickling网站挠脚心| 91精品在线观看入口| 欧美日韩黄色影视| 欧美日韩免费视频| 欧美性生活大片视频| 色哟哟在线观看一区二区三区| caoporn国产一区二区| 成人少妇影院yyyy| 成人动漫中文字幕| 成人免费视频app| 福利一区在线观看| 东方aⅴ免费观看久久av| 国产精品一区二区三区99| 国内精品在线播放| 韩国v欧美v亚洲v日本v| 国产一区二三区好的| 狠狠色综合播放一区二区| 精品系列免费在线观看| 狠狠色狠狠色综合系列| 国产专区欧美精品| 国产xxx精品视频大全| 不卡免费追剧大全电视剧网站| 盗摄精品av一区二区三区| 国产福利一区二区三区视频在线 | 国产精品久久久久永久免费观看| 国产欧美一区在线| 亚洲天堂成人在线观看| 亚洲欧美日韩一区| 亚洲国产视频直播| 青青草97国产精品免费观看 | 精品在线播放免费| 国产成人免费视频网站高清观看视频| 国产精品一区二区三区99| 丁香一区二区三区| 日本精品一级二级| 欧美一区日韩一区| 久久久www免费人成精品| 欧美国产日韩亚洲一区| 亚洲欧洲日产国产综合网| 一区二区在线免费| 久久99精品国产.久久久久 | 不卡影院免费观看| 在线视频观看一区| 精品国产污网站| 国产精品成人在线观看 | 日本va欧美va欧美va精品| 国内久久精品视频| 99免费精品在线| 欧美精品亚洲二区| 欧美激情在线看| 亚洲综合色噜噜狠狠| 极品美女销魂一区二区三区免费| 不卡一区在线观看| 日韩一区二区高清| 亚洲丝袜美腿综合| 免费av成人在线| 99re在线视频这里只有精品| 4438x亚洲最大成人网| 欧美高清在线一区二区| 婷婷激情综合网| 成人激情电影免费在线观看| 欧美日韩黄色影视| 一区在线中文字幕| 免费的成人av| 日本韩国欧美一区二区三区| 久久这里只有精品6| 亚洲国产一区二区在线播放| 国产成人自拍高清视频在线免费播放| 日本高清成人免费播放| 久久久国产一区二区三区四区小说| 一区二区三区不卡视频在线观看| 国产精品99久久久久| 91精品国产麻豆国产自产在线 | 欧美成人高清电影在线| 一区二区三区 在线观看视频| 国内精品久久久久影院一蜜桃| 欧美色区777第一页| 国产精品欧美久久久久无广告 | 亚洲午夜国产一区99re久久| 国产不卡高清在线观看视频| 日韩精品中文字幕在线不卡尤物| 中文久久乱码一区二区| 韩国av一区二区三区在线观看| 欧美人动与zoxxxx乱| 亚洲精品你懂的| 国产精品一区二区x88av| 欧美成人一区二区三区| 日韩专区一卡二卡| 欧美视频中文一区二区三区在线观看| 国产精品理论片在线观看| 国产露脸91国语对白| 精品国产免费久久| 日韩高清一级片| 欧美日本一区二区三区四区| 亚洲狠狠丁香婷婷综合久久久| 成人福利视频网站| 久久精品亚洲国产奇米99| 国产乱对白刺激视频不卡| 2021久久国产精品不只是精品| 免费观看91视频大全| 91精品国产综合久久久久| 99精品国产热久久91蜜凸| 中文字幕av在线一区二区三区| 国产高清亚洲一区| 亚洲国产成人午夜在线一区| 国产精品88888| 国产欧美日韩三区| 成人一级片网址| 亚洲欧美在线视频| 91在线你懂得| 亚洲尤物视频在线| 欧美日本韩国一区| 免费欧美日韩国产三级电影| 日韩一区国产二区欧美三区| 毛片av一区二区三区| 久久亚洲一级片| 国产精品白丝av| 成人免费小视频| 欧美在线免费观看视频| 丝袜亚洲另类欧美| 亚洲精品一区二区三区99| 成人污视频在线观看| 亚洲四区在线观看| 欧美日韩一区二区电影| 免费成人美女在线观看| 国产亚洲精品超碰| 91捆绑美女网站| 婷婷六月综合网| 久久综合国产精品| 99久久精品一区二区| 亚洲成人三级小说| 精品美女在线播放| 99精品黄色片免费大全| 水野朝阳av一区二区三区| 亚洲精品一区二区三区影院 | 精品久久久久久久久久久久久久久 | 久久免费电影网| 97精品视频在线观看自产线路二| 亚洲一区二区三区四区五区黄|