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

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

?? lcp.c

?? vxworks的源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* lcp.c - PPP Link Control Protocol *//* Copyright 1995 Wind River Systems, Inc. */#include "copyright_wrs.h"/* * Copyright (c) 1989 Carnegie Mellon University. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by Carnegie Mellon University.  The name of the * University may not be used to endorse or promote products derived * from this software without specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. *//*modification history--------------------01e,30jan03,rp   disconnect hook SPR 29752 and reconnect on echo failure                  SPR 6729201d,14apr97,vin  lcp state machine fixes from ppp-2.3b3, corrected the		 problem of lcp_reqci generating CONFREJ instead of CONFNAKs.01e,10dec96,vin  fixed additional problem with lcp_finished(), SPR7604.01d,15nov96,vin  fixed lcp_finished(), calls fsm_open() if OPT_RESTART		 is specified. This will cause the ppp deamon task		 to wait for the next connection. This is typically useful		 when vxWorks target is acting as a ppp server.		 Added flag OPT_RESTART if passive or silent options are 		 specified.01c,16jun95,dzb  header file consolidation.                 changed [UN]TIMEOUT macros to PPP_[UN]TIMEOUT.01b,09feb95,dab  ensure ao->mru is not 0 when setting interface mtu.                 removed lcp_echo_fails_reached variable.01a,21dec94,dab  VxWorks port - first WRS version.	   +dzb  added: path for ppp header files, WRS copyright.*/#include "vxWorks.h"#include "stdio.h"#include "string.h"#include "sys/ioctl.h"#include "sys/types.h"#include "sys/socket.h"#include "sys/times.h"#include "netinet/in.h"#include "pppLib.h"/* * Callbacks for fsm code.  (CI = Configuration Information) */static void lcp_resetci __ARGS((fsm *));	/* Reset our CI */static int  lcp_cilen __ARGS((fsm *));		/* Return length of our CI */static void lcp_addci __ARGS((fsm *, u_char *, int *)); /* Add our CI to pkt */static int  lcp_ackci __ARGS((fsm *, u_char *, int)); /* Peer ack'd our CI */static int  lcp_nakci __ARGS((fsm *, u_char *, int)); /* Peer nak'd our CI */static int  lcp_rejci __ARGS((fsm *, u_char *, int)); /* Peer rej'd our CI */static int  lcp_reqci __ARGS((fsm *, u_char *, int *, int)); /* Rcv peer CI */static void lcp_up __ARGS((fsm *));		/* We're UP */static void lcp_down __ARGS((fsm *));		/* We're DOWN */static void lcp_starting __ARGS((fsm *));	/* We need lower layer up */static void lcp_finished __ARGS((fsm *));	/* We need lower layer down */static int  lcp_extcode __ARGS((fsm *, int, int, u_char *, int));static void lcp_rprotrej __ARGS((fsm *, u_char *, int));/* * routines to send LCP echos to peer */static void lcp_echo_lowerup __ARGS((int));static void lcp_echo_lowerdown __ARGS((int));static void LcpEchoTimeout __ARGS((caddr_t));static void lcp_received_echo_reply __ARGS((fsm *, int, u_char *, int));static BOOL LcpSendEchoRequest __ARGS((fsm *));static void LcpLinkFailure __ARGS((fsm *));static fsm_callbacks lcp_callbacks = {	/* LCP callback routines */    lcp_resetci,		/* Reset our Configuration Information */    lcp_cilen,			/* Length of our Configuration Information */    lcp_addci,			/* Add our Configuration Information */    lcp_ackci,			/* ACK our Configuration Information */    lcp_nakci,			/* NAK our Configuration Information */    lcp_rejci,			/* Reject our Configuration Information */    lcp_reqci,			/* Request peer's Configuration Information */    lcp_up,			/* Called when fsm reaches OPENED state */    lcp_down,			/* Called when fsm leaves OPENED state */    lcp_starting,		/* Called when we want the lower layer up */    lcp_finished,		/* Called when we want the lower layer down */    NULL,			/* Called when Protocol-Reject received */    NULL,			/* Retransmission is necessary */    lcp_extcode,		/* Called to handle LCP-specific codes */    "LCP"			/* String name of protocol */};int lcp_warnloops = DEFWARNLOOPS; /* Warn about a loopback this often *//* * Length of each type of configuration option (in octets) */#define CILEN_VOID	2#define CILEN_SHORT	4	/* CILEN_VOID + sizeof(short) */#define CILEN_CHAP	5	/* CILEN_VOID + sizeof(short) + 1 */#define CILEN_LONG	6	/* CILEN_VOID + sizeof(long) */#define CILEN_LQR	8	/* CILEN_VOID + sizeof(short) + sizeof(long) */#define CODENAME(x)	((x) == CONFACK ? "ACK" : \			 (x) == CONFNAK ? "NAK" : "REJ")static u_char nak_buffer[PPP_MRU];	/* where we construct a nak packet *//* * lcp_init - Initialize LCP. */voidlcp_init(unit)    int unit;{    fsm *f = &ppp_if[unit]->lcp_fsm;    lcp_options *wo = &ppp_if[unit]->lcp_wantoptions;    lcp_options *ao = &ppp_if[unit]->lcp_allowoptions;    f->unit = unit;    f->protocol = LCP;    f->callbacks = &lcp_callbacks;    fsm_init(f);    wo->passive = 0;    wo->silent = 0;    wo->restart = 0;			/* Set to 1 in kernels or multi-line					   implementations */    wo->neg_mru = 1;    wo->mru = DEFMRU;    wo->neg_asyncmap = 0;    wo->asyncmap = 0;    wo->neg_chap = 0;			/* Set to 1 on server */    wo->neg_upap = 0;			/* Set to 1 on server */    wo->chap_mdtype = CHAP_DIGEST_MD5;    wo->neg_magicnumber = 1;    wo->neg_pcompression = 1;    wo->neg_accompression = 1;    wo->neg_lqr = 0;			/* no LQR implementation yet */    ao->neg_mru = 1;    ao->mru = MAXMRU;    ao->neg_asyncmap = 1;    ao->asyncmap = 0;    ao->neg_chap = 1;    ao->chap_mdtype = CHAP_DIGEST_MD5;    ao->neg_upap = 1;    ao->neg_magicnumber = 1;    ao->neg_pcompression = 1;    ao->neg_accompression = 1;    ao->neg_lqr = 0;			/* no LQR implementation yet */    bzero((char *)ppp_if[unit]->xmit_accm, sizeof(ppp_if[unit]->xmit_accm[0]));    ppp_if[unit]->xmit_accm[3] = 0x60000000;}/* * lcp_open - LCP is allowed to come up. */voidlcp_open(unit)    int unit;{    fsm *f = &ppp_if[unit]->lcp_fsm;    lcp_options *wo = &ppp_if[unit]->lcp_wantoptions;    f->flags = 0;    if (wo->passive)	f->flags |= (OPT_PASSIVE | OPT_RESTART) ;    if (wo->silent)	f->flags |= (OPT_SILENT | OPT_RESTART);    fsm_open(f);}/* * lcp_close - Take LCP down. */voidlcp_close(unit)    int unit;{    fsm *f = &ppp_if[unit]->lcp_fsm;    if (f->state == STOPPED && f->flags & (OPT_PASSIVE|OPT_SILENT)) {        /*         * This action is not strictly according to the FSM in RFC1548,         * but it does mean that the program terminates if you do a         * lcp_close(0) in passive/silent mode when a connection hasn't         * been established.         */        f->state = CLOSED;        lcp_finished(f);    } else        fsm_close(&ppp_if[unit]->lcp_fsm);}/* * lcp_lowerup - The lower layer is up. */voidlcp_lowerup(unit)    int unit;{    sifdown(unit);    ppp_set_xaccm(unit, ppp_if[unit]->xmit_accm);    ppp_send_config(unit, MTU, 0xffffffff, 0, 0);    ppp_recv_config(unit, MTU, 0x00000000, 0, 0);    ppp_if[unit]->peer_mru = MTU;    ppp_if[unit]->lcp_allowoptions.asyncmap = ppp_if[unit]->xmit_accm[0];    fsm_lowerup(&ppp_if[unit]->lcp_fsm);}/* * lcp_lowerdown - The lower layer is down. */voidlcp_lowerdown(unit)    int unit;{    fsm_lowerdown(&ppp_if[unit]->lcp_fsm);}/* * lcp_input - Input LCP packet. */voidlcp_input(unit, p, len)    int unit;    u_char *p;    int len;{    fsm_input(&ppp_if[unit]->lcp_fsm, p, len);}/* * lcp_extcode - Handle a LCP-specific code. */static intlcp_extcode(f, code, id, inp, len)    fsm *f;    int code, id;    u_char *inp;    int len;{    u_char *magp;    switch( code ){    case PROTREJ:	lcp_rprotrej(f, inp, len);	break;        case ECHOREQ:	if (f->state != OPENED)	    break;	LCPDEBUG((LOG_INFO, "lcp: Echo-Request, Rcvd id %d", id));        magp = inp;        PUTLONG(ppp_if[f->unit]->lcp_gotoptions.magicnumber, magp);        if (len < CILEN_LONG)            len = CILEN_LONG;	fsm_sdata(f, ECHOREP, id, inp, len);	break;        case ECHOREP:        lcp_received_echo_reply(f, id, inp, len);        break;    case DISCREQ:	break;    default:	return 0;    }    return 1;}    /* * lcp_rprotrej - Receive an Protocol-Reject. * * Figure out which protocol is rejected and inform it. */static voidlcp_rprotrej(f, inp, len)    fsm *f;    u_char *inp;    int len;{    u_short prot;    LCPDEBUG((LOG_INFO, "lcp_rprotrej."));    if (len < sizeof (u_short)) {	LCPDEBUG((LOG_INFO,                  "lcp_rprotrej: Rcvd short Protocol-Reject packet!"));	return;    }    GETSHORT(prot, inp);    LCPDEBUG((LOG_INFO,              "lcp_rprotrej: Rcvd Protocol-Reject packet for %x!",	      prot));    /*     * Protocol-Reject packets received in any state other than the LCP     * OPENED state SHOULD be silently discarded.     */    if( f->state != OPENED ){	LCPDEBUG((LOG_INFO, "Protocol-Reject discarded: LCP in state %d",                  f->state));	return;    }    DEMUXPROTREJ(f->unit, prot);	/* Inform protocol */}/* * lcp_protrej - A Protocol-Reject was received. *//*ARGSUSED*/voidlcp_protrej(unit)    int unit;{    /*     * Can't reject LCP!     */    LCPDEBUG((LOG_WARNING,              "lcp_protrej: Received Protocol-Reject for LCP!"));    fsm_protreject(&ppp_if[unit]->lcp_fsm);}/* * lcp_sprotrej - Send a Protocol-Reject for some protocol. */voidlcp_sprotrej(unit, p, len)    int unit;    u_char *p;    int len;{    /*     * Send back the protocol and the information field of the     * rejected packet.  We only get here if LCP is in the OPENED state.     */    p += 2;    len -= 2;    fsm_sdata(&ppp_if[unit]->lcp_fsm, PROTREJ, ++ppp_if[unit]->lcp_fsm.id,	      p, len);}/* * lcp_resetci - Reset our CI. */static void  lcp_resetci(f)fsm *f;{    ppp_if[f->unit]->lcp_wantoptions.magicnumber = magic();    ppp_if[f->unit]->lcp_wantoptions.numloops = 0;    ppp_if[f->unit]->lcp_gotoptions = ppp_if[f->unit]->lcp_wantoptions;    ppp_if[f->unit]->peer_mru = MTU;}/* * lcp_cilen - Return length of our CI. */static intlcp_cilen(f)    fsm *f;{    lcp_options *go = &ppp_if[f->unit]->lcp_gotoptions;#define LENCIVOID(neg)	(neg ? CILEN_VOID : 0)#define LENCICHAP(neg)	(neg ? CILEN_CHAP : 0)#define LENCISHORT(neg)	(neg ? CILEN_SHORT : 0)#define LENCILONG(neg)	(neg ? CILEN_LONG : 0)#define LENCILQR(neg)	(neg ? CILEN_LQR: 0)    /*     * NB: we only ask for one of CHAP and UPAP, even if we will     * accept either.     */    return (LENCISHORT(go->neg_mru) +	    LENCILONG(go->neg_asyncmap) +	    LENCICHAP(go->neg_chap) +	    LENCISHORT(!go->neg_chap && go->neg_upap) +	    LENCILQR(go->neg_lqr) +	    LENCILONG(go->neg_magicnumber) +	    LENCIVOID(go->neg_pcompression) +	    LENCIVOID(go->neg_accompression));}/* * lcp_addci - Add our desired CIs to a packet. */static voidlcp_addci(f, ucp, lenp)    fsm *f;    u_char *ucp;    int *lenp;{    lcp_options *go = &ppp_if[f->unit]->lcp_gotoptions;    u_char *start_ucp = ucp;#define ADDCIVOID(opt, neg) \    if (neg) { \	PUTCHAR(opt, ucp); \	PUTCHAR(CILEN_VOID, ucp); \    }#define ADDCISHORT(opt, neg, val) \    if (neg) { \	PUTCHAR(opt, ucp); \	PUTCHAR(CILEN_SHORT, ucp); \	PUTSHORT(val, ucp); \    }#define ADDCICHAP(opt, neg, val, digest) \    if (neg) { \	PUTCHAR(opt, ucp); \	PUTCHAR(CILEN_CHAP, ucp); \	PUTSHORT(val, ucp); \	PUTCHAR(digest, ucp); \    }#define ADDCILONG(opt, neg, val) \    if (neg) { \	PUTCHAR(opt, ucp); \	PUTCHAR(CILEN_LONG, ucp); \	PUTLONG(val, ucp); \    }#define ADDCILQR(opt, neg, val) \    if (neg) { \	PUTCHAR(opt, ucp); \	PUTCHAR(CILEN_LQR, ucp); \	PUTSHORT(LQR, ucp); \	PUTLONG(val, ucp); \    }    ADDCISHORT(CI_MRU, go->neg_mru, go->mru);    ADDCILONG(CI_ASYNCMAP, go->neg_asyncmap, go->asyncmap);    ADDCICHAP(CI_AUTHTYPE, go->neg_chap, CHAP, go->chap_mdtype);    ADDCISHORT(CI_AUTHTYPE, !go->neg_chap && go->neg_upap, UPAP);    ADDCILQR(CI_QUALITY, go->neg_lqr, go->lqr_period);    ADDCILONG(CI_MAGICNUMBER, go->neg_magicnumber, go->magicnumber);    ADDCIVOID(CI_PCOMPRESSION, go->neg_pcompression);    ADDCIVOID(CI_ACCOMPRESSION, go->neg_accompression);    if (ucp - start_ucp != *lenp) {	/* this should never happen, because peer_mtu should be 1500 */	syslog(LOG_ERR, "Bug in lcp_addci: wrong length");    }}/* * lcp_ackci - Ack our CIs. * This should not modify any state if the Ack is bad. * * Returns: *	0 - Ack was bad. *	1 - Ack was good. */static intlcp_ackci(f, p, len)    fsm *f;    u_char *p;    int len;{    lcp_options *go = &ppp_if[f->unit]->lcp_gotoptions;    u_char cilen, citype, cichar;    u_short cishort;    u_long cilong;    /*     * CIs must be in exactly the same order that we sent.     * Check packet length and CI length at each step.     * If we find any deviations, then this packet is bad.     */#define ACKCIVOID(opt, neg) \    if (neg) { \	if ((len -= CILEN_VOID) < 0) \	    goto bad; \	GETCHAR(citype, p); \	GETCHAR(cilen, p); \	if (cilen != CILEN_VOID || \	    citype != opt) \	    goto bad; \    }#define ACKCISHORT(opt, neg, val) \    if (neg) { \	if ((len -= CILEN_SHORT) < 0) \	    goto bad; \	GETCHAR(citype, p); \	GETCHAR(cilen, p); \	if (cilen != CILEN_SHORT || \	    citype != (u_char)opt) \	    goto bad; \	GETSHORT(cishort, p); \	if (cishort != (u_short)val) \	    goto bad; \    }#define ACKCICHAP(opt, neg, val, digest) \    if (neg) { \	if ((len -= CILEN_CHAP) < 0) \	    goto bad; \	GETCHAR(citype, p); \	GETCHAR(cilen, p); \	if (cilen != CILEN_CHAP || \	    citype != (u_char)opt) \	    goto bad; \	GETSHORT(cishort, p); \	if (cishort != (u_short)val) \	    goto bad; \	GETCHAR(cichar, p); \	if (cichar != (u_char)digest) \	  goto bad; \    }#define ACKCILONG(opt, neg, val) \    if (neg) { \	if ((len -= CILEN_LONG) < 0) \	    goto bad; \	GETCHAR(citype, p); \	GETCHAR(cilen, p); \	if (cilen != CILEN_LONG || \	    citype != (u_char)opt) \	    goto bad; \	GETLONG(cilong, p); \	if (cilong != (u_long)val) \	    goto bad; \    }#define ACKCILQR(opt, neg, val) \    if (neg) { \	if ((len -= CILEN_LQR) < 0) \	    goto bad; \	GETCHAR(citype, p); \	GETCHAR(cilen, p); \	if (cilen != CILEN_LQR || \	    citype != (u_char)opt) \	    goto bad; \	GETSHORT(cishort, p); \	if (cishort != LQR) \	    goto bad; \	GETLONG(cilong, p); \	if (cilong != (u_long)val) \	  goto bad; \    }    ACKCISHORT(CI_MRU, go->neg_mru, go->mru);    ACKCILONG(CI_ASYNCMAP, go->neg_asyncmap, go->asyncmap);    ACKCICHAP(CI_AUTHTYPE, go->neg_chap, CHAP, go->chap_mdtype);    ACKCISHORT(CI_AUTHTYPE, !go->neg_chap && go->neg_upap, UPAP);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人动漫一区| 666欧美在线视频| 久久av资源网| 五月婷婷综合网| 国产98色在线|日韩| 日韩欧美色电影| 亚洲无人区一区| 91精品久久久久久久91蜜桃| 国产精品麻豆欧美日韩ww| 日韩在线卡一卡二| 欧美在线影院一区二区| 亚洲精品视频在线观看网站| 成人av电影在线观看| 久久婷婷综合激情| 日本一二三不卡| 欧美精品日韩一区| 国产精品乱码一区二区三区软件| 日韩高清一级片| 91精品国产美女浴室洗澡无遮挡| 亚洲无人区一区| 美日韩一区二区| 成人一级片网址| 国产欧美日韩不卡| 国产综合久久久久影院| 2021国产精品久久精品| 精品一区二区三区免费视频| 日韩欧美你懂的| 久久 天天综合| 日韩欧美成人午夜| 激情成人综合网| 精品国内片67194| 国产在线精品免费| 国产成人综合亚洲网站| 欧美日韩1234| 亚洲成av人片在线| 日韩一区二区三区在线| 麻豆精品一区二区av白丝在线| 日韩精品中文字幕一区| 国产福利精品一区二区| 国产精品色哟哟| 99久久777色| 一区二区在线电影| 欧美少妇xxx| 免费观看一级特黄欧美大片| 欧美亚洲一区二区在线| 一区二区三区不卡视频在线观看| 欧美撒尿777hd撒尿| 男人的天堂久久精品| 国产日韩v精品一区二区| 成人av在线观| 亚洲成a人片在线不卡一二三区| 91精品国产综合久久久蜜臀粉嫩| 久久99深爱久久99精品| 国产亚洲人成网站| 色婷婷激情久久| 亚洲精品网站在线观看| 欧美精品久久一区| 国产盗摄视频一区二区三区| 亚洲日本中文字幕区| 777a∨成人精品桃花网| 极品瑜伽女神91| 亚洲欧洲日韩一区二区三区| 欧美日韩在线不卡| 国产精品一区二区x88av| 国产精品久久久久精k8| 欧美日韩在线播放一区| 日本道在线观看一区二区| 这里只有精品99re| 99re热视频精品| 久久不见久久见中文字幕免费| 国产精品盗摄一区二区三区| 91精品综合久久久久久| 不卡视频一二三四| 日本不卡123| 自拍偷拍亚洲欧美日韩| 欧美一区二区三区在线电影| 成人黄色片在线观看| 婷婷久久综合九色综合伊人色| 91精品国产91热久久久做人人| 中文字幕av免费专区久久| 欧美日韩亚洲高清一区二区| 成人av免费观看| 91国产免费观看| 色老汉一区二区三区| 欧美精品一级二级| 处破女av一区二区| 日本美女一区二区| 一区二区三区四区视频精品免费| 久久女同精品一区二区| 欧美日韩一区 二区 三区 久久精品| 国产精品资源网站| 亚洲乱码国产乱码精品精的特点| 欧美色窝79yyyycom| 色国产综合视频| 成人美女视频在线看| 精品亚洲国内自在自线福利| 亚洲黄色免费电影| 国产精品免费视频网站| 久久午夜老司机| 日韩欧美一区电影| 欧美一区二区三区白人| 欧美午夜免费电影| 轻轻草成人在线| 国产精品无码永久免费888| 亚洲三级在线观看| 国产精品素人视频| 久久久国产精品不卡| 91精品欧美综合在线观看最新| 欧美专区在线观看一区| 丰满岳乱妇一区二区三区| 精品一区二区在线看| 午夜精品久久久久久久99水蜜桃| 亚洲婷婷在线视频| 欧美岛国在线观看| 久久人人97超碰com| 久久九九99视频| 国产日韩精品一区二区三区在线| 欧美精彩视频一区二区三区| 久久久久国产精品厨房| www国产亚洲精品久久麻豆| 久久久精品欧美丰满| 91精品国产欧美一区二区成人| 91久久精品一区二区| 精品视频免费在线| 欧美片网站yy| 日韩一区二区电影| wwwwxxxxx欧美| 久久久精品国产免费观看同学| 国产午夜精品久久久久久免费视| 久久久影视传媒| 欧美久久久久免费| 国产欧美视频一区二区| 亚洲国产精品久久久久婷婷884| 午夜电影一区二区| 久久国产精品72免费观看| 久久爱另类一区二区小说| 国产馆精品极品| 99久久免费国产| 在线综合+亚洲+欧美中文字幕| 欧美精品一区二区三区在线播放| 国产精品欧美久久久久无广告 | 久久久国产午夜精品| 欧美一区二区三区啪啪| 久久精品亚洲一区二区三区浴池| 国产亚洲综合av| 亚洲精品免费在线观看| 天堂成人免费av电影一区| 另类小说色综合网站| 成人高清在线视频| 精品视频123区在线观看| 精品日本一线二线三线不卡| 久久蜜桃av一区精品变态类天堂| 国产午夜精品美女毛片视频| 国产精品午夜久久| 一区免费观看视频| 久久精品夜色噜噜亚洲a∨| 91麻豆精品视频| 欧美天堂亚洲电影院在线播放| 欧美一级理论片| 中文字幕不卡在线观看| 亚洲aaa精品| 国产成人综合在线| 欧美视频你懂的| 欧美韩国日本综合| 中文字幕一区二区三区不卡 | 亚洲日本成人在线观看| 三级亚洲高清视频| 91精品欧美久久久久久动漫| 国产精品色婷婷| 紧缚奴在线一区二区三区| 欧美在线观看视频一区二区三区| 精品免费一区二区三区| 日韩电影在线观看一区| 色呦呦一区二区三区| 久久综合九色综合久久久精品综合| 亚洲综合免费观看高清在线观看| 国产精品亚洲一区二区三区在线| 综合婷婷亚洲小说| 欧美成人一级视频| 日韩欧美一区在线观看| 亚洲综合区在线| caoporn国产精品| 久久精品欧美日韩| 日本91福利区| 亚洲高清在线精品| 中文字幕欧美一区| 精品亚洲成a人| 久久久久久综合| 国产精品一级黄| 久久久精品日韩欧美| 国产成人自拍在线| 5月丁香婷婷综合| 国产精品一线二线三线精华| 日韩主播视频在线| 一本色道**综合亚洲精品蜜桃冫| 亚洲一区二区三区四区在线免费观看| 欧美性三三影院| 男女激情视频一区| 日本一区二区三级电影在线观看 | 亚洲欧美日韩在线|