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

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

?? netshow.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
/****************************************************************************** routeNodeShow - print all route entries attached to a node in the tree** This routine displays every route entry with a particular destination* and netmask. Only the initial entry attached to the tree is visible to* the IP forwarding process. The remaining entries are duplicates.** The return value of 0 continues the tree traversal to access the next* element.** RETURNS: OK on success and ERROR on failure*/LOCAL int routeNodeShow    (    struct radix_node * pRoute,    void* w    )    {    ROUTE_ENTRY * pHead;    /* Start of route list for a protocol. */    ROUTE_ENTRY * pNext;    BOOL printFlag;    /* Available route actually displayed? */    struct sockaddr * pAddress;    char   addressString [INET_ADDR_LEN];    int    len;    pHead = (ROUTE_ENTRY *)pRoute;    /* Print the route entry which is visible to IP. */    printFlag = routeEntryPrint ( (struct rtentry *)pHead, w, TRUE);    if (printFlag == FALSE)        {        /*         * The primary route entry did not match the requested type. Ignore         * any duplicate routes, which also will not meet the criteria.         */        return (OK);        }    /* Get the next entry to display, if any. */    pNext = pHead->sameNode.pFrwd;    if (pNext == NULL)        {        pHead = pNext = pHead->diffNode.pFrwd;        }    if (pNext != NULL)        {        /* Additional entries exist. Print the appropriate subheading. */        pAddress = rt_key ( (struct rtentry *)pRoute);        inet_ntoa_b ( ((struct sockaddr_in *)pAddress)->sin_addr,                     addressString);	if (!bufferedRtShow)            printf ("  Additional routes to %s:\n", addressString);	else	    {	    len = sprintf (routeBuf + bufIndex, "  Additional routes to %s:\n", 			   addressString);	    bufIndex += len;	    }        }    /* Print any duplicate routes for the visible node. */    while (pHead)        {        while (pNext)            {	    /* check for buffer space */            if (bufferedRtShow && (rtMem - bufIndex < RT_ENTRY_LEN))	        return (ERROR);            routeEntryPrint ( (struct rtentry *)pNext, w, FALSE);            pNext = pNext->sameNode.pFrwd;            }        pHead = pNext = pHead->diffNode.pFrwd;        }    /* check for buffer space */    if (bufferedRtShow && (rtMem - bufIndex < RT_ENTRY_LEN))	return (ERROR);    return OK;    }/********************************************************************************* routeEntryPrint - print one route entry** This function executes (when walking the route tree) for each route entry,* including duplicate routes not visible to the IP forwarding process.* The public routines set the <type> argument to RT_NET, RT_HST, or RT_ARP* to select categories of route information from the routing table. The* RT_NET value only displays IP routes which can reach multiple hosts.* The RT_HST value only displays IP routes which can reach a specific host,* and the RT_ARP value displays host-specific routes which contain link-level* information in the gateway field.** Older show routines only select one of the available route types. The* newer alternative sets both RT_NET and RT_HST to display all IP routes.* That routine supports classless routing, so it includes the netmask value* in the output. It also prints the new type-of-service field and the* protocol number which indicates the route's creator.** RETURNS: TRUE if entry printed, or FALSE for mismatched type*/LOCAL BOOL routeEntryPrint    (    struct rtentry *	pRt,		/* pointer to the route entry */    void *		pRtType, 	/* pointer to the route type */    BOOL 		ipRouteFlag 	/* visible to IP forwarding? */    )    {    FAST struct sockaddr *	destAddr = NULL;    FAST struct sockaddr *	gateAddr;    FAST UCHAR * 		pChr;    FAST int			rtType;     char 			aStr [INET_ADDR_LEN];    ULONG 			mask;    char                        buf [RT_ENTRY_LEN];    int                         index = 0;    int                         len;    rtType = *((int *)pRtType);         /*     * Ignore host routes (including ARP entries) if only     * network routes should be printed.     */    if ( (rtType == RT_NET) && (pRt->rt_flags & RTF_HOST))	return (FALSE);     destAddr = rt_key(pRt);		/* get the destination address */    gateAddr = pRt->rt_gateway;		/* get the gateway address */    /* if what we want is a host route and not an arp entry then return */    if ((rtType & RT_HST) && (gateAddr->sa_family == AF_LINK) &&                              (pRt->rt_flags & RTF_HOST))	return (FALSE);    /* If only host routes are desired, skip any network route. */    if ((rtType == RT_HST) && (!(pRt->rt_flags & RTF_HOST)))	return (FALSE);     /* if what we want is an arp entry and if it is not then return */    if ((rtType & RT_ARP) && ((gateAddr->sa_family != AF_LINK) ||			      (((struct sockaddr_dl *)gateAddr)->sdl_alen == 0)			      ))	return (FALSE);     /* if what we want is a network route and the gateway family is AF_LINK */    if ((rtType & RT_NET) && (gateAddr->sa_family == AF_LINK))	gateAddr = pRt->rt_ifa->ifa_addr;     /*     * Print destination address for visible entries and whitespace     * for duplicate routes.     */    if (ipRouteFlag)        {        inet_ntoa_b (((struct sockaddr_in *)destAddr)->sin_addr, aStr);	if (!bufferedRtShow)            printf ("%-16s ", (destAddr->sa_family == AF_INET) ?		              aStr : "not AF_INET");	else	    {	    len = sprintf (buf, "%-16s ", (destAddr->sa_family == AF_INET) ? 					   aStr : "not AF_INET");	    index += len;	    }        }    else        {	if (!bufferedRtShow)            printf ("                 ");	else	    {	    len = sprintf (buf, "                 ");	    index += len;	    }        }    /*     * When displaying all IP routes, print the netmask for the visible     * route entry. Show the new TOS values and the value of the routing     * protocol which created the entry for the primary routes and any     * duplicates. Only one of these type flags is set when using the     * older class-based show routines.     */    if ( (rtType & RT_NET) && (rtType & RT_HST))        {        /* Print the (common) netmask value with the primary route entry. */        if (ipRouteFlag)            {            if (rt_mask (pRt) == NULL)                {                mask = 0;                }            else                {                mask = ((struct sockaddr_in *) rt_mask (pRt))->sin_addr.s_addr;                mask = ntohl (mask);                }        	    if (!bufferedRtShow)                printf ("%#-10lx ", mask);	    else		{		len = sprintf (buf + index, "%#-10lx ", mask);		index += len;		}            }        else            {            /* Print whitespace when displaying duplicate routes. */	    if (!bufferedRtShow)                printf ("           ");    /* 11 spaces: empty netmask field */	    else		{		len = sprintf (buf + index, "           ");		index += len;		}            }	if (!bufferedRtShow)	    {            /* print routing protocol value */            printf ("%-4d  ", RT_PROTO_GET (destAddr));            /* print type of service */            printf ("%#-4x ", TOS_GET (destAddr));            }        else	    {	    len = sprintf (buf + index, "%-4d  %#-4x ", RT_PROTO_GET (destAddr),	                   TOS_GET (destAddr));	    index += len;	    }        }    /* print the gateway address which internet or linklevel */    if (gateAddr->sa_family == AF_LINK)	{	pChr = (UCHAR *)(LLADDR((struct sockaddr_dl *)gateAddr));	if (!bufferedRtShow)	    printf ("%02x:%02x:%02x:%02x:%02x:%02x ",		    pChr[0], pChr[1], pChr[2], pChr[3], pChr[4], pChr[5]); 	else	    {	    len = sprintf (buf + index, "%02x:%02x:%02x:%02x:%02x:%02x ",			   pChr[0], pChr[1], pChr[2], pChr[3], pChr[4], pChr[5]);            index += len;	    }	}    else	{	inet_ntoa_b (((struct sockaddr_in *)gateAddr)->sin_addr, aStr);	if (!bufferedRtShow)	    printf ("%-16s ", (gateAddr->sa_family == AF_INET) ?		    aStr :"not AF_INET"); 	else	    {	    len = sprintf (buf + index, "%-16s ", 			   (gateAddr->sa_family == AF_INET) ? aStr :			   "not AF_INET");	    index += len;	    }	}    if (!bufferedRtShow)	{        printf ("%#-6hx ",	pRt->rt_flags);        printf ("%-5d  ",	pRt->rt_refcnt);        printf ("%-10ld ",	pRt->rt_use);        printf ("%s%d\n",  pRt->rt_ifp->if_name, pRt->rt_ifp->if_unit);	}    else	{	len = sprintf (buf + index, "%#-6hx %-5d  %-10ld %s%d\n", pRt->rt_flags,		       pRt->rt_refcnt, pRt->rt_use, pRt->rt_ifp->if_name,		       pRt->rt_ifp->if_unit);        index += len;	bcopy (buf, (char *) (routeBuf + bufIndex), index);	bufIndex += index;	}    return (TRUE);     }/********************************************************************************* routeTableShow - print a subset of entries in the routing table** This routine uses internal interfaces to walk the internal tree which* contains all route information and display particular types of route* entries. It provides a common entry point for three individual routines* which print the ARP information, route entries assuming class-based* netmasks (further separated into network and host categories), and routes* which can use arbitrary netmasks.** RETURNS: N/A*/LOCAL void routeTableShow    (    int 	rtType		/* route type network, host or arp */    )    {    int                         s;    struct radix_node_head *	rnh;    int				type;    type = rtType;    rnh = rt_tables[AF_INET];    if (rnh)        {	if (bufferedRtShow)	    {	    if (routeBuf == NULL)		return;	    bufIndex = 0;            }	s = splnet ();	rn_walktree(rnh, routeNodeShow, &type);        splx (s);	if (bufferedRtShow)	    {	    routeBuf [bufIndex] = '\0';	    printf ("%s", routeBuf);	    }        }    return;    }/********************************************************************************* hostShow - display the host table** This routine prints a list of remote hosts, along with their Internet* addresses and aliases.** RETURNS: N/A** SEE ALSO: hostAdd()** INTERNAL* When using the Tornado shell, this routine is only available if an* "@" sign is prepended to the routine name. Otherwise, it is preempted* by a built-in version.** This just calls arpShow.  It is provided for compatablity.* Migrating to arpShow to be more compliant with WRS naming.*/void hostShow (void)    {    char inetBuf [INET_ADDR_LEN];    FAST HOSTNAME *pHostName;    FAST HOSTENTRY *pHostEntry;#ifdef VIRTUAL_STACK    virtualStackIdCheck();    printf("stack number %d\n", myStackNum);#endif /* VIRTUAL_STACK */    printf ("hostname         inet address       aliases\n");    printf ("--------         ------------       -------\n");    semTake (hostListSem, WAIT_FOREVER);    for (pHostEntry = (HOSTENTRY *)lstFirst (&hostList);	 pHostEntry != NULL;	 pHostEntry = (HOSTENTRY *)lstNext (&pHostEntry->node))	{	inet_ntoa_b (pHostEntry->netAddr, inetBuf);	printf ("%-16s %-18s", pHostEntry->hostName.name, inetBuf);	for (pHostName = pHostEntry->hostName.link;	     pHostName != NULL;	     pHostName = pHostName->link)	    {	    printf ("%s ", pHostName->name);	    }	printf ("\n");	}    semGive (hostListSem);    }/********************************************************************************* mRouteShow - display all IP routes (verbose information)** This routine displays the list of destinations in the routing table* along with the next-hop gateway and associated interface. It also* displays the netmask for a route (to handle classless routes which* use arbitrary values for that field) and the value which indicates* the route's creator, as well as any type-of-service information.** When multiple routes exist to the same destination with the same netmask,* the IP forwarding process only uses the first route entry with the lowest* administrative weight. The remaining entries (listed as additional routes)* use the same address and netmask. One of those entries will replace the* primary route if it is deleted.** Some configuration is required when this routine is to be used remotely over* the network eg. through a telnet session or through the host shell using * WDB_COMM_NETWORK. If more than 5 routes are expected in the table the * parameter RT_BUFFERED_DISPLAY should be set to TRUE to prevent a possible* deadlock. This requires a buffer whose size can be set with RT_DISPLAY_MEMORY.* It will limit the number of routes that can be displayed (each route requires* approx. 90 bytes).** RETURNS: N/A*/void mRouteShow (void)    {    int type = RT_HST | RT_NET;    /* print all IP route entries */#ifdef VIRTUAL_STACK    virtualStackIdCheck();    printf("stack number %d\n", myStackNum);#endif /* VIRTUAL_STACK */    printf ("%-16s %-10s %-6s%-4s", "Destination", "Mask", "Proto", "TOS");    printf ("%-16s %-6s %-7s%-11s", "Gateway", "Flags", "RefCnt", "Use");    printf ("%s\n", "Interface");    printf ("-------------------------------------------------------------");    printf ("----------------------------\n");    routeTableShow (type);    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合小说图片| 亚洲美女偷拍久久| 欧美日韩一级黄| 蜜桃av一区二区在线观看| 日韩情涩欧美日韩视频| 精品一区免费av| 日韩一区二区免费高清| 婷婷中文字幕一区三区| 欧美三级电影在线观看| 亚洲与欧洲av电影| 欧美视频一区二区三区四区| 亚洲精品国产成人久久av盗摄| 丁香啪啪综合成人亚洲小说 | 成人精品视频一区二区三区 | 欧美群妇大交群的观看方式| 高清在线不卡av| 日韩精品乱码免费| 一区二区三区四区蜜桃| 中文字幕一区二区三区精华液| 欧美一区二区黄色| 欧美视频一二三区| 91国产精品成人| 成人av免费在线观看| 国产很黄免费观看久久| 久久精品国产亚洲5555| 亚洲国产裸拍裸体视频在线观看乱了| 国产人妖乱国产精品人妖| 日韩欧美视频在线| 欧美视频一区二区在线观看| 在线中文字幕一区| av亚洲精华国产精华| 国产aⅴ综合色| 国产很黄免费观看久久| 韩国视频一区二区| 久久av资源网| 国内久久精品视频| 六月丁香综合在线视频| 蜜桃视频第一区免费观看| 日本午夜精品视频在线观看 | 美女被吸乳得到大胸91| 国产午夜精品久久久久久免费视| 欧美天天综合网| 国产精品一区二区在线看| 肉丝袜脚交视频一区二区| 久久久久久97三级| 日韩丝袜情趣美女图片| 中文字幕在线观看不卡| 国产亚洲欧美激情| 国产午夜精品一区二区三区嫩草| 精品久久五月天| 欧美成人性福生活免费看| 久久综合久久99| 欧美激情一区二区三区| 国产精品国产三级国产aⅴ中文 | 亚洲一区在线观看视频| 一区二区成人在线观看| 亚洲国产三级在线| 美女爽到高潮91| 国产一区二区美女| www.66久久| 欧美亚日韩国产aⅴ精品中极品| 欧美日韩一级大片网址| 欧美成人一区二区三区片免费| 国产香蕉久久精品综合网| 国产精品剧情在线亚洲| 亚洲一二三区不卡| 日产国产欧美视频一区精品| 国产成人午夜精品影院观看视频 | 美女一区二区三区在线观看| 韩国三级电影一区二区| 成人av在线影院| 欧美性一二三区| 欧美一级国产精品| 国产精品女主播av| 亚洲一区二区在线免费观看视频| 麻豆精品一区二区| 成人a免费在线看| 51精品国自产在线| 亚洲国产精品国自产拍av| 一区二区三区欧美在线观看| 久久精品999| 91一区二区三区在线观看| 91精品国产综合久久蜜臀| 中文字幕的久久| 日韩精品一区第一页| 成人免费毛片片v| 91精品国模一区二区三区| 欧美国产精品久久| 七七婷婷婷婷精品国产| eeuss鲁片一区二区三区| 91精品黄色片免费大全| 亚洲日本护士毛茸茸| 蜜臀av性久久久久蜜臀aⅴ| 99久久久国产精品免费蜜臀| 日韩亚洲国产中文字幕欧美| 亚洲精品国产无天堂网2021| 激情综合一区二区三区| 欧美羞羞免费网站| 国产精品国产三级国产三级人妇 | 免费欧美日韩国产三级电影| fc2成人免费人成在线观看播放| 欧美一二三区在线观看| 亚洲欧美另类综合偷拍| 国产成人丝袜美腿| 91麻豆精品国产91久久久久久| 一色桃子久久精品亚洲| 国产在线视频精品一区| 911国产精品| 一区二区三区日本| 成人app软件下载大全免费| 日韩欧美高清dvd碟片| 亚洲不卡av一区二区三区| 成人高清免费在线播放| 久久久精品中文字幕麻豆发布| 天堂一区二区在线免费观看| 91久久精品午夜一区二区| 国产欧美日韩综合精品一区二区| 精品一区二区三区在线观看| 欧美肥胖老妇做爰| 亚洲一区二区三区小说| 91麻豆国产香蕉久久精品| 国产欧美精品国产国产专区| 久久99久久99精品免视看婷婷| 欧美日韩大陆一区二区| 亚洲精品成人a在线观看| 97se亚洲国产综合自在线不卡| 久久伊99综合婷婷久久伊| 蜜桃视频一区二区三区| 欧美一区二区视频在线观看2020| 亚洲成在人线免费| 欧美视频完全免费看| 亚洲大型综合色站| 欧美色图片你懂的| 亚洲国产美国国产综合一区二区| 91久久国产综合久久| 一级日本不卡的影视| 91视频.com| 亚洲一区在线观看视频| 欧美日韩精品电影| 亚洲一区二区三区四区五区黄| 欧美在线观看一区| 亚洲超碰精品一区二区| 91精品国产麻豆| 麻豆一区二区在线| 亚洲精品在线三区| 国产精品1区2区3区在线观看| 欧美极品xxx| 91欧美一区二区| 亚洲精品一卡二卡| 欧美日韩国产一级片| 五月天中文字幕一区二区| 欧美男同性恋视频网站| 日本视频免费一区| 久久久久9999亚洲精品| 不卡视频在线看| 亚洲国产精品视频| 精品久久人人做人人爱| 国产福利电影一区二区三区| 亚洲欧洲国产日本综合| 在线一区二区三区| 奇米影视7777精品一区二区| 久久精品人人做人人爽97| 99久久综合99久久综合网站| 亚洲二区视频在线| 精品国产1区2区3区| 成人va在线观看| 午夜成人在线视频| 久久综合狠狠综合| 91免费小视频| 亚洲成人手机在线| 久久久亚洲欧洲日产国码αv| 99久久综合99久久综合网站| 视频在线观看91| 国产农村妇女毛片精品久久麻豆| 色婷婷亚洲一区二区三区| 日韩成人精品在线| 国产精品久久网站| 6080yy午夜一二三区久久| 丁香一区二区三区| 视频一区二区三区中文字幕| 国产亚洲一二三区| 欧美美女激情18p| 成人黄动漫网站免费app| 日韩中文欧美在线| 国产欧美一区二区在线观看| 欧美图区在线视频| 成人免费视频免费观看| 免费高清在线一区| 亚洲免费av在线| 精品国产3级a| 777亚洲妇女| 91啪亚洲精品| 国产成人福利片| 亚洲综合网站在线观看| 日本一区二区三区国色天香| 日韩一卡二卡三卡| 色吊一区二区三区| 成人丝袜18视频在线观看| 奇米影视在线99精品| 亚洲一区在线看|