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

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

?? fsm.c

?? vxwork源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
	break;    case STOPPED:	/* Negotiation started by our peer */	fsm_sconfreq(f, 0);		/* Send initial Configure-Request */	f->state = REQSENT;	break;    }    /*     * Pass the requested configuration options     * to protocol-specific code for checking.     */    if (f->callbacks->reqci){		/* Check CI */	reject_if_disagree = (f->nakloops >= f->maxnakloops);	code = (*f->callbacks->reqci)(f, inp, &len, reject_if_disagree);    } else if (len)	code = CONFREJ;			/* Reject all CI */    else        code = CONFACK;    /* send the Ack, Nak or Rej to the peer */    fsm_sdata(f, code, id, inp, len);    if (code == CONFACK) {	if (f->state == ACKRCVD) {	    PPP_UNTIMEOUT(fsm_timeout, (caddr_t) f);	/* Cancel timeout */	    f->state = OPENED;	    if (f->callbacks->up)		(*f->callbacks->up)(f);	/* Inform upper layers */	} else	    f->state = ACKSENT;	f->nakloops = 0;    } else {	/* we sent CONFACK or CONFREJ */	if (f->state != ACKRCVD)	    f->state = REQSENT;	if( code == CONFNAK )	    ++f->nakloops;    }}/* * fsm_rconfack - Receive Configure-Ack. */static voidfsm_rconfack(f, id, inp, len)    fsm *f;    u_char id;    u_char *inp;    int len;{    FSMDEBUG((LOG_INFO, "fsm_rconfack(%s): Rcvd id %d.",              PROTO_NAME(f), id));    if (id != f->reqid)		/* Expected id? */	return;			/* Nope, toss... */    if( !(f->callbacks->ackci? (*f->callbacks->ackci)(f, inp, len): (len == 0)) ){	/* Ack is bad - ignore it */	FSMDEBUG((LOG_INFO, "%s: received bad Ack (length %d)",                  PROTO_NAME(f), len));	return;    }    f->reqid = -1;    switch (f->state) {    case CLOSED:    case STOPPED:	fsm_sdata(f, TERMACK, id, NULL, 0);	break;    case REQSENT:	f->state = ACKRCVD;	f->retransmits = f->maxconfreqtransmits;	break;    case ACKRCVD:	/* Huh? an extra Ack? oh well... */	fsm_sconfreq(f, 0);	f->state = REQSENT;	break;    case ACKSENT:	PPP_UNTIMEOUT(fsm_timeout, (caddr_t) f);	/* Cancel timeout */	f->state = OPENED;	f->retransmits = f->maxconfreqtransmits;	if (f->callbacks->up)	    (*f->callbacks->up)(f);	/* Inform upper layers */	break;    case OPENED:	/* Go down and restart negotiation */	if (f->callbacks->down)	    (*f->callbacks->down)(f);	/* Inform upper layers */	fsm_sconfreq(f, 0);		/* Send initial Configure-Request */	f->state = REQSENT;	break;    }}/* * fsm_rconfnakrej - Receive Configure-Nak or Configure-Reject. */static voidfsm_rconfnakrej(f, code, id, inp, len)    fsm *f;    int code, id;    u_char *inp;    int len;{    int (*proc)();    FSMDEBUG((LOG_INFO, "fsm_rconfnakrej(%s): Rcvd id %d.",              PROTO_NAME(f), id));    if (id != f->reqid)		/* Expected id? */	return;			/* Nope, toss... */    proc = (code == CONFNAK)? f->callbacks->nakci: f->callbacks->rejci;    if( !proc || !proc(f, inp, len) ){	/* Nak/reject is bad - ignore it */	FSMDEBUG((LOG_INFO, "%s: received bad %s (length %d)",		  PROTO_NAME(f), (code==CONFNAK? "Nak": "reject"), len));	return;    }    f->reqid = -1;    switch (f->state) {    case CLOSED:    case STOPPED:	fsm_sdata(f, TERMACK, id, NULL, 0);	break;    case REQSENT:    case ACKSENT:	/* They didn't agree to what we wanted - try another request */	PPP_UNTIMEOUT(fsm_timeout, (caddr_t) f);	/* Cancel timeout */	fsm_sconfreq(f, 0);		/* Send Configure-Request */	break;    case ACKRCVD:	/* Got a Nak/reject when we had already had an Ack?? oh well... */	fsm_sconfreq(f, 0);	f->state = REQSENT;	break;    case OPENED:	/* Go down and restart negotiation */	if (f->callbacks->down)	    (*f->callbacks->down)(f);	/* Inform upper layers */	fsm_sconfreq(f, 0);		/* Send initial Configure-Request */	f->state = REQSENT;	break;    }}/* * fsm_rtermreq - Receive Terminate-Req. */static voidfsm_rtermreq(f, id)    fsm *f;    int id;{    FSMDEBUG((LOG_INFO, "fsm_rtermreq(%s): Rcvd id %d.",              PROTO_NAME(f), id));    switch (f->state) {    case ACKRCVD:    case ACKSENT:	f->state = REQSENT;		/* Start over but keep trying */	break;    case OPENED:	syslog(LOG_INFO, "%s terminated at peer's request", PROTO_NAME(f));	if (f->callbacks->down)	    (*f->callbacks->down)(f);	/* Inform upper layers */	f->retransmits = 0;	f->state = STOPPING;	PPP_TIMEOUT(fsm_timeout, (caddr_t) f, f->timeouttime);	break;    }    fsm_sdata(f, TERMACK, id, NULL, 0);}/* * fsm_rtermack - Receive Terminate-Ack. */static voidfsm_rtermack(f)    fsm *f;{    FSMDEBUG((LOG_INFO, "fsm_rtermack(%s).", PROTO_NAME(f)));    switch (f->state) {    case CLOSING:	f->state = CLOSED;	if( f->callbacks->finished )	    (*f->callbacks->finished)(f);	break;    case STOPPING:	f->state = STOPPED;	if( f->callbacks->finished )	    (*f->callbacks->finished)(f);	break;    case ACKRCVD:	f->state = REQSENT;	break;    case OPENED:	if (f->callbacks->down)	    (*f->callbacks->down)(f);	/* Inform upper layers */	fsm_sconfreq(f, 0);	break;    }}/* * fsm_rcoderej - Receive an Code-Reject. */static voidfsm_rcoderej(f, inp, len)    fsm *f;    u_char *inp;    int len;{    u_char code, id;    FSMDEBUG((LOG_INFO, "fsm_rcoderej(%s).", PROTO_NAME(f)));    if (len < HEADERLEN) {	FSMDEBUG((LOG_INFO, "fsm_rcoderej: Rcvd short Code-Reject packet!"));	return;    }    GETCHAR(code, inp);    GETCHAR(id, inp);    syslog(LOG_WARNING, "%s: Rcvd Code-Reject for code %d, id %d",           PROTO_NAME(f), code, id);    if( f->state == ACKRCVD )	f->state = REQSENT;}/* * fsm_protreject - Peer doesn't speak this protocol. * * Treat this as a catastrophic error (RXJ-). */voidfsm_protreject(f)    fsm *f;{    switch( f->state ){    case CLOSING:	PPP_UNTIMEOUT(fsm_timeout, (caddr_t) f);	/* Cancel timeout */	/* fall through */    case CLOSED:	f->state = CLOSED;	if( f->callbacks->finished )	    (*f->callbacks->finished)(f);	break;    case STOPPING:    case REQSENT:    case ACKRCVD:    case ACKSENT:	PPP_UNTIMEOUT(fsm_timeout, (caddr_t) f);	/* Cancel timeout */	/* fall through */    case STOPPED:	f->state = STOPPED;	if( f->callbacks->finished )	    (*f->callbacks->finished)(f);	break;    case OPENED:	if( f->callbacks->down )	    (*f->callbacks->down)(f);	/* Init restart counter, send Terminate-Request */	f->retransmits = f->maxtermtransmits;	fsm_sdata(f, TERMREQ, f->reqid = ++f->id, NULL, 0);	PPP_TIMEOUT(fsm_timeout, (caddr_t) f, f->timeouttime);	--f->retransmits;	f->state = STOPPING;	break;    default:	FSMDEBUG((LOG_INFO, "%s: Protocol-reject event in state %d!",		  PROTO_NAME(f), f->state));    }}extern struct ppp_softc *ppp_softc[ ];/* * fsm_sconfreq - Send a Configure-Request. */static voidfsm_sconfreq(f, retransmit)    fsm *f;    int retransmit;{    u_char *outp;    int cilen;    register struct ppp_softc *sc = ppp_softc[f->unit];    if( f->state != REQSENT && f->state != ACKRCVD && f->state != ACKSENT ){	/* Not currently negotiating - reset options */	if( f->callbacks->resetci )	    (*f->callbacks->resetci)(f);	f->nakloops = 0;    }    if( !retransmit ){	/* New request - reset retransmission counter, use new ID */	f->retransmits = f->maxconfreqtransmits;	f->reqid = ++f->id;    }    /* Write the string "CLIENT" to the remote peer */    if (((ppp_if[ppp_unit]->lcp_wantoptions.passive) == 1) || 	 (ppp_if[ppp_unit]->lcp_wantoptions.silent == 1))	{	char buf[7];	strncpy(buf,"CLIENT",strlen("CLIENT"));	output(f->unit, buf, strlen("CLIENT"));	taskDelay(sysClkRateGet());	}    /*     * Make up the request packet     */    outp = ppp_if[f->unit]->outpacket_buf + DLLHEADERLEN + HEADERLEN;    if( f->callbacks->cilen && f->callbacks->addci ){	cilen = (*f->callbacks->cilen)(f);	if( cilen > ppp_if[f->unit]->peer_mru - HEADERLEN )	    cilen = ppp_if[f->unit]->peer_mru - HEADERLEN;	if (f->callbacks->addci)	    (*f->callbacks->addci)(f, outp, &cilen);    } else	cilen = 0;    /* send the request to our peer */    fsm_sdata(f, CONFREQ, f->reqid, outp, cilen);    /* start the retransmit timer */    --f->retransmits;    PPP_TIMEOUT(fsm_timeout, (caddr_t) f, f->timeouttime);    FSMDEBUG((LOG_INFO, "%s: sending Configure-Request, id %d",	      PROTO_NAME(f), f->reqid));}/* * fsm_sdata - Send some data. * * Used for all packets sent to our peer by this module. */voidfsm_sdata(f, code, id, data, datalen)    fsm *f;    u_char code, id;    u_char *data;    int datalen;{    u_char *outp;    int outlen;    /* Adjust length to be smaller than MTU */    outp = ppp_if[f->unit]->outpacket_buf;    if (datalen > ppp_if[f->unit]->peer_mru - HEADERLEN)	datalen = ppp_if[f->unit]->peer_mru - HEADERLEN;    if (datalen && data != outp + DLLHEADERLEN + HEADERLEN)	BCOPY((char *)data, (char *)(outp + DLLHEADERLEN + HEADERLEN), datalen);    outlen = datalen + HEADERLEN;    MAKEHEADER(outp, f->protocol);    PUTCHAR(code, outp);    PUTCHAR(id, outp);    PUTSHORT(outlen, outp);    output(f->unit, ppp_if[f->unit]->outpacket_buf, outlen + DLLHEADERLEN);    FSMDEBUG((LOG_INFO, "fsm_sdata(%s): Sent code %d, id %d.",	      PROTO_NAME(f), code, id));}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本精品一级二级| 欧美日韩精品一区视频| 色哟哟亚洲精品| 欧美成人精品高清在线播放| 亚洲欧美视频在线观看视频| 国产伦理精品不卡| 67194成人在线观看| 一区二区三区在线免费观看| 国产91精品在线观看| 日韩视频在线永久播放| 亚洲午夜电影网| 99精品视频中文字幕| 欧美激情一区二区三区在线| 蜜臀91精品一区二区三区| 欧美亚一区二区| 亚洲图片欧美激情| 国产成人精品三级麻豆| 久久综合九色综合欧美98| 图片区日韩欧美亚洲| 欧美亚洲高清一区二区三区不卡| 国产精品家庭影院| 成人免费高清在线| 欧美激情一区在线观看| 国产美女主播视频一区| 精品电影一区二区三区| 九九精品视频在线看| 欧美xxxx老人做受| 麻豆成人av在线| 日韩欧美亚洲国产另类| 另类中文字幕网| 精品国产亚洲在线| 国产一区二区久久| 久久久久国产成人精品亚洲午夜| 久久成人羞羞网站| wwwwxxxxx欧美| 国产精品一区不卡| 中文字幕av一区 二区| 风间由美一区二区三区在线观看| 国产日韩欧美精品一区| 成人黄色av电影| 亚洲日本在线视频观看| 欧美在线三级电影| 免费在线成人网| 亚洲精品在线免费播放| 国产成人a级片| 亚洲精品菠萝久久久久久久| 欧美色视频一区| 日本亚洲欧美天堂免费| 精品av综合导航| 99久久精品情趣| 丝袜诱惑亚洲看片| 久久免费视频一区| 91在线精品一区二区| 一区二区成人在线| 日韩免费电影网站| 成人午夜精品在线| 国产精品资源在线看| 中文字幕中文字幕在线一区| 精品污污网站免费看| 国产一区二区在线视频| 亚洲精选视频免费看| 日韩免费观看高清完整版| 成人的网站免费观看| 五月婷婷另类国产| 久久久www免费人成精品| 91麻豆文化传媒在线观看| 日韩国产精品久久久久久亚洲| 国产乱人伦偷精品视频免下载| 精品视频1区2区3区| 色妹子一区二区| 国产欧美一区二区三区在线看蜜臀| a4yy欧美一区二区三区| 日韩国产欧美在线观看| 国产精品久久午夜| 制服丝袜亚洲色图| 成人高清免费观看| 午夜欧美视频在线观看| 国产精品高潮久久久久无| 91精品国产91久久综合桃花| 色播五月激情综合网| 激情另类小说区图片区视频区| 日韩精品欧美成人高清一区二区| 久久精品亚洲精品国产欧美| 欧美激情一区二区在线| 欧美日韩国产精选| 色综合久久综合| 国产成人亚洲精品狼色在线| 免费成人性网站| 亚洲乱码中文字幕| 国产精品国产三级国产a| 337p日本欧洲亚洲大胆精品| 欧美精品久久99久久在免费线| 色综合天天综合在线视频| 国产成人在线视频免费播放| 日韩电影在线看| 99精品视频在线免费观看| 色菇凉天天综合网| 六月丁香婷婷久久| 秋霞影院一区二区| 亚洲午夜私人影院| 一区二区高清视频在线观看| 亚洲女爱视频在线| 一区视频在线播放| 中文字幕视频一区二区三区久| 久久久久久黄色| 国产亚洲视频系列| 欧美国产视频在线| 欧美高清在线一区| 中文字幕一区二区在线观看| 中文字幕在线不卡| 亚洲日本欧美天堂| 亚洲免费观看高清完整版在线观看熊| 麻豆91精品视频| 日韩有码一区二区三区| 国产精品一区二区久久不卡| 青草国产精品久久久久久| 蜜桃免费网站一区二区三区| 国产精品888| 色偷偷久久一区二区三区| 717成人午夜免费福利电影| 制服视频三区第一页精品| 99re66热这里只有精品3直播 | 日韩一区二区三区高清免费看看| 欧美日韩免费视频| 91精品国产91热久久久做人人| 日韩精品一区二区三区蜜臀| 精品国产乱码久久| 国产精品久久久久久久久图文区| 中文字幕中文字幕在线一区 | 欧美日本不卡视频| 欧美一区二区三区在线视频| 欧美电影免费观看高清完整版在| 国产亚洲综合性久久久影院| 中日韩免费视频中文字幕| 一区二区三区四区不卡在线| 午夜欧美视频在线观看| 国产最新精品精品你懂的| 成人精品视频网站| 欧美中文字幕久久| 亚洲精品在线免费播放| 日韩久久一区二区| 青青草原综合久久大伊人精品优势| 黄色日韩三级电影| 91啪亚洲精品| 91麻豆精品国产91久久久使用方法 | 国产农村妇女精品| 午夜精品一区在线观看| 日韩成人免费在线| 国产乱人伦偷精品视频免下载 | 国产精品成人在线观看| 夜夜精品视频一区二区| 另类综合日韩欧美亚洲| 99国产精品久久久久久久久久| 欧美色图在线观看| 中文字幕高清不卡| 日韩成人免费看| 99精品在线观看视频| 精品国产伦一区二区三区观看方式 | 91麻豆精品国产综合久久久久久| www久久精品| 午夜电影网一区| 成人理论电影网| 欧美一二三四区在线| 中文字幕亚洲视频| 国产一区二区在线观看免费| 国产麻豆视频一区| 日本精品视频一区二区| 欧美变态凌虐bdsm| 日本美女一区二区三区视频| 日韩精品中文字幕在线一区| 亚洲精品乱码久久久久久黑人| 久久国产人妖系列| 中文字幕第一页久久| 欧美在线一二三| 91麻豆国产自产在线观看| 久久久久久久综合日本| 国产一区二区三区综合| 日本一区二区视频在线| 成人短视频下载| 亚洲乱码一区二区三区在线观看| 91久久精品国产91性色tv| 亚洲国产日韩一区二区| 欧美一区二区三区性视频| 美女视频一区在线观看| 欧美精品一区二区三区四区 | 91亚洲男人天堂| 国产精品电影一区二区| 色综合久久天天| 亚洲成人激情自拍| 精品久久国产老人久久综合| 国产精品99久| 亚洲精品国产成人久久av盗摄| 欧美视频中文一区二区三区在线观看| 视频一区二区三区中文字幕| 精品国产一区二区精华| 97久久超碰国产精品电影| 日韩一区精品字幕| 久久久久久黄色| 欧美在线观看一区| 国产又粗又猛又爽又黄91精品|