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

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

?? tcp_debug.c

?? vxwork源代碼
?? C
字號:
/* tcp_debug.c - TCP debug routines *//* Copyright 1984 - 2002 Wind River Systems, Inc. */#include "copyright_wrs.h"/* * Copyright (c) 1982, 1986, 1993 *	The Regents of the University of California.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the University of *	California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * *	@(#)tcp_debug.c	8.1 (Berkeley) 6/10/93 *//*modification history--------------------01d,20may02,vvv  moved tcpstates definition and pTcpstates initialization to                 tcpLib.c (SPR #62272)01c,12oct01,rae  merge from truestack (VIRTUAL_STACK, printf formats)01b,14nov00,ham  fixed messed tcpstates declaration(SPR 62272).01a,03mar96,vin  created from BSD4.4 stuff,integrated with 02l of tcp_debug.c*//*DESCRIPTION*//* includes */#define TCPDEBUG#ifdef TCPDEBUG/* load symbolic names */#define	PRUREQUESTS#define	TCPSTATES#define	TCPTIMERS#define	TANAMES#endif#include "vxWorks.h"#include "stdioLib.h"#include "net/systm.h"#include "net/unixLib.h"#include "net/mbuf.h"#include "sys/socket.h"#include "net/socketvar.h"#include "net/protosw.h"#include "errno.h"#include "net/route.h"#include "net/if.h"#include "netinet/in.h"#include "netinet/in_pcb.h"#include "netinet/in_systm.h"#include "netinet/ip.h"#include "netinet/ip_var.h"#include "netinet/tcp.h"#include "netinet/tcp_fsm.h"#include "netinet/tcp_seq.h"#include "netinet/tcp_timer.h"#include "netinet/tcp_var.h"#include "netinet/tcpip.h"#include "netinet/tcp_debug.h"/* globals */#ifdef VIRTUAL_STACK#include "netinet/vsLib.h"#elseint	tcpDebugCons = 0;BOOL	tcpDebugConsVerbose = TRUE;#endif/* locals */#ifndef VIRTUAL_STACKLOCAL struct tcp_debug	tcp_debug[TCP_NDEBUG];LOCAL int	tcp_debx;LOCAL int	tcp_debug_valid = 0;#endif/* forward declarations */LOCAL void tcp_trace (short act, short ostate, struct tcpcb *tp,    struct tcpiphdr *ti, int req);LOCAL void tcpDebugPrint (struct tcp_debug *td, BOOL verbose);LOCAL void tcp_report (int num, BOOL verbose);void tcpTraceInit (void)    {    tcpTraceRtn = (VOIDFUNCPTR) tcp_trace;    tcpReportRtn = (VOIDFUNCPTR) tcp_report;#ifdef VIRTUAL_STACK    /*     * Assign (former) global variables previously initialized by the compiler.     * Setting 0 is repeated for clarity - the vsLib.c setup zeroes all values.     */    tcpDebugCons = 0;    tcpDebugConsVerbose = TRUE;    tcp_debug_valid = 0;#endif    }LOCAL void tcp_trace    (    short act,    short ostate,    struct tcpcb *tp,    struct tcpiphdr *ti,    int req    )    {#ifdef VIRTUAL_STACK    /* Virtual stack requires different variable name from structure tag. */    struct tcp_debug *td = &tcp_tracelog[tcp_debx++];#else    struct tcp_debug *td = &tcp_debug[tcp_debx++];#endif    if (tcp_debug_valid < TCP_NDEBUG)        tcp_debug_valid++;    if (tcp_debx == TCP_NDEBUG)	tcp_debx = 0;    td->td_time = iptime();    td->td_act = act;    td->td_ostate = ostate;    td->td_req = req;    if (tp)	{	td->td_cb = *tp;	td->td_tcb = (caddr_t) tp;	}    else	td->td_tcb = NULL;    if (ti)	{	td->td_ti = *ti;	td->td_tiphdr = (caddr_t) ti;	}    else	td->td_tiphdr = NULL;    if (tcpDebugCons)        tcpDebugPrint (td, tcpDebugConsVerbose);    }LOCAL void tcpDebugPrint    (    struct tcp_debug *td,    BOOL verbose    )    {    struct tcpcb *tp;    struct tcpiphdr *ti;    tcp_seq seq, ack;    int len;    printf ("%lu  %s  %s", td->td_time, tanames [td->td_act],	pTcpstates [td->td_ostate]);    if (!verbose)        printf ("\n");    else	{        if (td->td_tcb != NULL)	    printf(" -> %s , &tcpcb=%x\n", pTcpstates[td->td_cb.t_state],		(UINT32) td->td_tcb);	switch (td->td_act)	    {	    case TA_INPUT:	    case TA_OUTPUT:	    case TA_DROP:		if (td->td_tiphdr == NULL)		    break;                ti = &td->td_ti;		if (td->td_act == TA_OUTPUT)		    {		    seq = ntohl(ti->ti_seq);		    ack = ntohl(ti->ti_ack);		    len = ntohs(ti->ti_len);		    }                else		    {		    seq = ti->ti_seq;		    ack = ti->ti_ack;		    len = ti->ti_len;		    }		if (td->td_act == TA_OUTPUT)		    len -= sizeof (struct tcphdr);		if (len)			printf("\tseq=[%lx..%lx]", seq, seq+len);		else			printf("\tseq=%lx", seq);		printf(" ack=%lx, urp=%x, ", ack, ti->ti_urp);		if (ti->ti_flags)		    {		    printf ("flags=<");		    if (ti->ti_flags & TH_FIN)			printf (" FIN");		    if (ti->ti_flags & TH_SYN)			printf (" SYN");		    if (ti->ti_flags & TH_RST)			printf (" RST");		    if (ti->ti_flags & TH_PUSH)			printf (" PUSH");		    if (ti->ti_flags & TH_ACK)			printf (" ACK");		    if (ti->ti_flags & TH_URG)			printf (" URG");		    printf (" >\n");		    }		break;	    case TA_USER:		printf("%s", prurequests[td->td_req&0xff]);		if ((td->td_req & 0xff) == PRU_SLOWTIMO)			printf("<%s>\n", tcptimers[td->td_req>>8]);                break;	    }	if (td->td_tcb == NULL)	    {	    printf ("\n\n");	    return;	    }        tp = &td->td_cb;	printf("\trcv_(nxt,wnd,up)  = (%lx,%lx,%lx)\n",	    tp->rcv_nxt, tp->rcv_wnd, tp->rcv_up);	printf("\tsnd_(una,nxt,max) = (%lx,%lx,%lx)\n",	    tp->snd_una, tp->snd_nxt, tp->snd_max);	printf("\tsnd_(wl1,wl2,wnd) = (%lx,%lx,%lx)\n\n",	    tp->snd_wl1, tp->snd_wl2, tp->snd_wnd);        }    }LOCAL void tcp_report     (    int num,		/* number of entries to print */    BOOL verbose    )    {    int s = splnet();	/* accessing structures that change async */    num = max (num, 0);    num = tcp_debx - min (num, tcp_debug_valid);    if (num < 0)		/* adjust for warap-around */	num += (TCP_NDEBUG + 1);    for (; num != tcp_debx; num++)	{	if (num >= TCP_NDEBUG)	/* start over at beginning of array */	    num = 0;#ifdef VIRTUAL_STACK    /* Virtual stack requires different variable name from structure tag. */        tcpDebugPrint (&tcp_tracelog [num], verbose);#else        tcpDebugPrint (&tcp_debug [num], verbose);#endif        }    splx (s);    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一二三| 美女网站一区二区| 国产日韩欧美精品综合| 日韩美女天天操| 91麻豆精品国产91久久久使用方法| 亚洲色图欧美激情| 69堂精品视频| 日韩一区二区三区在线| 欧美一区二区三区电影| 欧美第一区第二区| 26uuu亚洲综合色| 精品日韩欧美一区二区| 精品少妇一区二区三区免费观看 | 91黄视频在线观看| 一本一道波多野结衣一区二区| 一本色道久久综合亚洲91| 精品视频一区三区九区| 日韩欧美中文字幕制服| 久久久久久久久久久久久久久99 | 色又黄又爽网站www久久| 成人av电影免费在线播放| 91网上在线视频| 欧美日韩一区二区三区在线| 欧美一区二区三区免费大片| 久久婷婷色综合| 亚洲欧洲在线观看av| 国产成人综合在线播放| 午夜精品视频一区| 免费亚洲电影在线| 精品亚洲免费视频| 99精品久久99久久久久| 欧美日本韩国一区二区三区视频| 欧美一区二区三区四区五区| 国产日韩欧美精品综合| 亚洲一区二区三区视频在线| 蜜臀国产一区二区三区在线播放| 成人精品gif动图一区| 欧美三级乱人伦电影| 久久久久久久久97黄色工厂| 亚洲一线二线三线久久久| 久久精品国产亚洲a| 91玉足脚交白嫩脚丫在线播放| 欧美蜜桃一区二区三区| 国产精品少妇自拍| 麻豆精品视频在线观看视频| 成人禁用看黄a在线| 精品国产在天天线2019| 精品日韩欧美在线| 亚洲综合免费观看高清完整版在线| 捆绑调教一区二区三区| 在线一区二区观看| 国产精品天干天干在线综合| 奇米精品一区二区三区在线观看| 99久久99精品久久久久久 | 精品91自产拍在线观看一区| 亚洲人成影院在线观看| 国产一区二区伦理| 欧美一级二级在线观看| 一区二区久久久久久| 99精品视频在线播放观看| 久久久久久久久久久久久夜| 免费在线观看一区二区三区| 欧美在线观看一区二区| 综合久久久久久久| av在线免费不卡| 国产精品美女久久久久久| 国产一区二区三区视频在线播放| 欧美一级黄色录像| 五月天一区二区三区| 欧美性色aⅴ视频一区日韩精品| 国产精品理论片| 91性感美女视频| 亚洲欧美日韩国产成人精品影院 | 亚洲欧美日韩电影| 99久久久国产精品| 国产精品成人免费| 91免费在线看| 亚洲综合免费观看高清完整版在线 | 欧美在线free| 亚洲精品视频免费看| 精品av综合导航| 国产二区国产一区在线观看| 久久久久国色av免费看影院| 国产高清久久久| 国产精品看片你懂得| 精品国产乱码久久久久久免费 | 日韩免费一区二区| 极品少妇xxxx偷拍精品少妇| 日本高清视频一区二区| 亚洲高清视频的网址| 91福利社在线观看| 亚洲成精国产精品女| 日韩三级av在线播放| 国内不卡的二区三区中文字幕| 久久综合九色综合欧美亚洲| 国产成人一区在线| ㊣最新国产の精品bt伙计久久| 91久久精品网| 麻豆精品国产传媒mv男同| 日韩欧美一区二区三区在线| 国产99久久久国产精品免费看| 国产精品青草综合久久久久99| 97精品久久久久中文字幕 | 欧美一区二区福利在线| 国产一区视频在线看| 中文欧美字幕免费| 精品视频在线免费| 国产夫妻精品视频| 日韩激情一区二区| 国产清纯美女被跳蛋高潮一区二区久久w| youjizz国产精品| 免费不卡在线观看| 国产精品日韩成人| 精品成人在线观看| 欧美色区777第一页| 国产精品一区二区久久不卡| 亚洲欧美日韩人成在线播放| 日韩精品一区二区三区在线| 99vv1com这只有精品| 免费观看成人av| 青青青伊人色综合久久| 国产精品国模大尺度视频| 欧美高清hd18日本| 波多野结衣中文字幕一区二区三区 | 91免费在线播放| 激情综合色播五月| 亚洲国产成人av| 国产精品久久久久毛片软件| 精品久久久网站| 国产一区二区三区香蕉| 五月天亚洲婷婷| 欧美人xxxx| 国产91精品一区二区麻豆亚洲| 天天做天天摸天天爽国产一区| 国产三级精品三级| 日韩亚洲欧美高清| 欧美日韩国产大片| 色婷婷精品久久二区二区蜜臀av | 日韩亚洲国产中文字幕欧美| 在线精品国精品国产尤物884a| 看电影不卡的网站| 国产精品久久网站| 亚洲一区二区三区不卡国产欧美| 久久久久88色偷偷免费| 欧美精品一区二区三区在线播放| 9191久久久久久久久久久| 欧美性生活影院| 在线观看欧美黄色| 欧美性生活久久| 欧美日韩国产片| 欧美日韩国产欧美日美国产精品| 日本丰满少妇一区二区三区| 色香蕉久久蜜桃| 在线观看不卡一区| 欧美色欧美亚洲另类二区| 欧洲色大大久久| 欧美日韩精品专区| 欧美一级淫片007| 欧美成人video| 精品国产一区二区在线观看| 精品日韩99亚洲| 国产精品一区二区在线观看不卡 | 色综合av在线| 福利电影一区二区| 成人深夜在线观看| 成人午夜短视频| av电影在线观看一区| 99精品视频一区二区| 91网站最新网址| 欧美日韩精品电影| 日韩欧美国产系列| 国产片一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲男人天堂一区| 日韩不卡手机在线v区| 国产尤物一区二区| 色播五月激情综合网| 91精品麻豆日日躁夜夜躁| 久久天堂av综合合色蜜桃网| 国产精品伦一区| 日韩高清电影一区| 粗大黑人巨茎大战欧美成人| 欧美亚洲高清一区| 欧美va亚洲va在线观看蝴蝶网| 欧美韩日一区二区三区四区| 亚洲欧美日韩人成在线播放| 免费高清成人在线| 成人精品视频网站| 欧美一区二视频| 国产精品天美传媒沈樵| 日本美女视频一区二区| 成人高清视频在线观看| 制服丝袜亚洲网站| 久久蜜桃一区二区| 成人免费视频一区| 91福利在线播放| www精品美女久久久tv| 中文字幕制服丝袜成人av| 亚洲第一在线综合网站| 国产乱色国产精品免费视频|