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

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

?? routed_if.c

?? rip路由在vxworks上的實現(xiàn)源代碼
?? C
字號:
/* routed_if.c -  RIP routines for handling available interfaces *//* Copyright 1984 - 2002 Wind River Systems, Inc. */#include "copyright_wrs.h"/* * Copyright (c) 1983, 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. * @(#)if.c	8.2 (Berkeley) 4/28/95"; *//*modification history--------------------01f,22mar02,niq  Merged from Synth view, tor3_x.synth branch, ver 01h01e,15oct01,rae  merge from truestack ver 01f, base 01c (SPR #69983 etc.)01d,10nov00,spm  merged from version 01d of tor3_x branch (namespace cleanup)01c,01sep98,spm  extended the interface search routines to handle                  supernets (SPR #22220)01b,24feb97,gnn  changed routine names to avoid conflicts.01a,26nov96,gnn  created from BSD4.4 routed if.c*//*DESCRIPTION*//* * Routing Table Management Daemon */#include "vxWorks.h"#include "rip/defs.h"#ifdef VIRTUAL_STACK#include "netinet/vsLib.h"#include "netinet/vsRip.h"#elseextern	struct interface *ripIfNet;#endif/* * Find the interface with address addr. */struct interface *ripIfWithAddr(addr)	struct sockaddr *addr;{	register struct interface *ifp;#define	same(a1, a2) \	(memcmp((a1)->sa_data, (a2)->sa_data, 14) == 0)	for (ifp = ripIfNet; ifp; ifp = ifp->int_next) {		if (ifp->int_flags & IFF_REMOTE)			continue;		if (ifp->int_addr.sa_family != addr->sa_family)			continue;		if (same(&ifp->int_addr, addr))			break;		if ((ifp->int_flags & IFF_BROADCAST) &&		    same(&ifp->int_broadaddr, addr))			break;	}	return (ifp);}/* * Find the interface with address addr. */struct interface *ripIfWithAddrAndIndex(addr, index)	struct sockaddr *addr;        int index;{	register struct interface *ifp;#define	same(a1, a2) \	(memcmp((a1)->sa_data, (a2)->sa_data, 14) == 0)	for (ifp = ripIfNet; ifp; ifp = ifp->int_next) {		if (ifp->int_flags & IFF_REMOTE)			continue;		if (ifp->int_addr.sa_family != addr->sa_family)			continue;		if (same(&ifp->int_addr, addr) && index == ifp->int_index)			break;		if ((ifp->int_flags & IFF_BROADCAST) &&		    same(&ifp->int_broadaddr, addr) && index == ifp->int_index)			break;	}	return (ifp);}/* * Find the point-to-point interface with destination address addr. */struct interface *ripIfWithDstAddr(addr, gateaddr)	struct sockaddr *addr;	struct sockaddr *gateaddr;{	register struct interface *ifp;	for (ifp = ripIfNet; ifp; ifp = ifp->int_next) {		if ((ifp->int_flags & IFF_POINTOPOINT) == 0)			continue;		if (same(&ifp->int_dstaddr, addr) ||                     (gateaddr && same(&ifp->int_dstaddr, gateaddr)))			break;	}	return (ifp);}/* * Find the point-to-point interface with destination address addr and index. */struct interface *ripIfWithDstAddrAndIndex(addr, gateaddr, index)	struct sockaddr *addr;	struct sockaddr *gateaddr;{	register struct interface *ifp;	for (ifp = ripIfNet; ifp; ifp = ifp->int_next) {		if ((ifp->int_flags & IFF_POINTOPOINT) == 0)			continue;		if ((same(&ifp->int_dstaddr, addr) ||                      (gateaddr && same(&ifp->int_dstaddr, gateaddr))) &&                    ifp->int_index == index)			break;	}	return (ifp);}/* * Find the interface on the network  * of the specified address. INTERNET SPECIFIC. */struct interface *ripIfWithNet(addr)	register struct sockaddr *addr;{	register struct interface *ifp;	register struct interface *pIfMax;	register int af = addr->sa_family;        register u_long dstaddr;	if (af >= AF_MAX)		return (0);        pIfMax = 0;        dstaddr = ntohl ( ((struct sockaddr_in *)addr)->sin_addr.s_addr);	for (ifp = ripIfNet; ifp; ifp = ifp->int_next) {		if (ifp->int_flags & IFF_REMOTE)			continue;		if (af != ifp->int_addr.sa_family)			continue;                if ( (dstaddr & ifp->int_subnetmask) == ifp->int_subnet)                    {                    if (pIfMax)                        {                        if ( (ifp->int_subnetmask | pIfMax->int_subnetmask)                             == ifp->int_subnetmask)                            pIfMax = ifp;                        }                    else                        pIfMax = ifp;                    }	}	return (pIfMax);}/* * Find an interface matching the specified source address. This routine * is used to select an interface for tracking errors in RIP responses * and verifying the source of RIP updates before altering the routing * table. */struct interface * ripIfLookup(addr)	struct sockaddr *addr;{	register struct interface *ifp, *maybe;	register int af = addr->sa_family;	register u_long dstaddr;	if (af >= AF_MAX)		return (0);	maybe = 0;        dstaddr = ntohl ( ((struct sockaddr_in *)addr)->sin_addr.s_addr);	for (ifp = ripIfNet; ifp; ifp = ifp->int_next) {		if (ifp->int_addr.sa_family != af)			continue;                /*                 * When this routine is called by inet_output() via the                 * toall() routine, one of the following comparisons is                  * always true and the results of the network number                  * tests are not used.                 */		if (same(&ifp->int_addr, addr))			break;		if ((ifp->int_flags & IFF_BROADCAST) &&		    same(&ifp->int_broadaddr, addr))			break;		if ((ifp->int_flags & IFF_POINTOPOINT) &&		    same(&ifp->int_dstaddr, addr))			break;                /*                 * If the given address does not match any of the                  * available interfaces directly, search for the                 * matching network number with the longest prefix.                 * The use of the if_subnetmask value instead of                 * if_netmask accounts for any classless routing                 * (supernets or subnets). The results of this test                 * are generally used when verifying the source of                 * a RIP message before accepting any route updates.                 */		if ( (dstaddr & ifp->int_subnetmask) == ifp->int_subnet)                    {                    if (maybe)                        {                        if ( (ifp->int_subnetmask | maybe->int_subnetmask)                            == ifp->int_subnetmask)                            maybe = ifp;                        }                    else                        maybe = ifp;                    }	}	if (ifp == 0)		ifp = maybe;	return (ifp);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.av精品| 日韩视频一区二区| 欧美绝品在线观看成人午夜影视| 欧美一卡在线观看| 亚洲欧洲精品一区二区精品久久久| 午夜精品久久久久久久| 国产另类ts人妖一区二区| 欧美三日本三级三级在线播放| 国产日韩av一区| 日本中文字幕不卡| 色老头久久综合| 国产精品女上位| 国产伦理精品不卡| 9191成人精品久久| 亚洲第一会所有码转帖| eeuss影院一区二区三区| 精品欧美乱码久久久久久| 亚洲影院免费观看| 一本一本久久a久久精品综合麻豆| www久久精品| 久久精品999| 欧美一区二区美女| 亚洲成人手机在线| 在线这里只有精品| 一区二区三区蜜桃| 一本久道久久综合中文字幕| 中文字幕欧美一| 丁香一区二区三区| 国产欧美日韩不卡| 成人综合婷婷国产精品久久 | 久久er99精品| 91精品国产麻豆| 日本中文在线一区| 日韩网站在线看片你懂的| 国产亚洲精品aa午夜观看| 国产精品视频你懂的| 在线亚洲免费视频| 国产成人8x视频一区二区| 盗摄精品av一区二区三区| 久久精品视频在线看| 久久99精品久久只有精品| 日韩欧美国产三级| 韩国三级在线一区| 久久久国产精品不卡| 欧美日韩中字一区| 亚洲综合清纯丝袜自拍| 欧美性欧美巨大黑白大战| 亚洲欧洲国产日本综合| 92精品国产成人观看免费 | 在线播放/欧美激情| 日韩电影一区二区三区| 日韩视频免费观看高清完整版在线观看| 舔着乳尖日韩一区| caoporm超碰国产精品| 亚洲丝袜另类动漫二区| 99精品视频在线免费观看| 一区二区三区在线播| 欧美日韩一区二区欧美激情| 青青草97国产精品免费观看| 久久蜜桃av一区精品变态类天堂| 白白色 亚洲乱淫| 亚洲自拍偷拍麻豆| 精品少妇一区二区三区在线播放 | 欧美日本一道本| 麻豆成人综合网| 国产精品毛片大码女人| 欧美色视频一区| 国产精品一区二区x88av| 亚洲欧美一区二区三区孕妇| 777欧美精品| 成人毛片视频在线观看| 91在线一区二区| 婷婷亚洲久悠悠色悠在线播放 | 久久成人18免费观看| 久久精品综合网| 欧美中文一区二区三区| 久久99久久99精品免视看婷婷| 中文字幕欧美一| 欧美成人vps| 在线观看网站黄不卡| 国产精品一卡二卡在线观看| 亚洲最新视频在线观看| 国产女主播一区| 欧美精品久久久久久久久老牛影院| 国产精品91一区二区| 香蕉乱码成人久久天堂爱免费| 国产女主播一区| 日韩视频中午一区| 日本精品一区二区三区高清 | 成人涩涩免费视频| 男人的天堂亚洲一区| 亚洲精品网站在线观看| 国产视频一区不卡| 欧美一区2区视频在线观看| 色综合久久综合网欧美综合网| 久久aⅴ国产欧美74aaa| 日韩av不卡一区二区| 自拍偷拍亚洲欧美日韩| 久久久精品人体av艺术| 欧美mv和日韩mv国产网站| 欧美日本乱大交xxxxx| 色婷婷精品久久二区二区蜜臂av| 国产成人鲁色资源国产91色综| 久久黄色级2电影| 天堂影院一区二区| 天天做天天摸天天爽国产一区| 亚洲美女视频在线观看| 亚洲欧美在线视频观看| 色综合中文字幕国产 | 亚洲自拍欧美精品| 久久综合色之久久综合| 欧美一区日本一区韩国一区| 色偷偷成人一区二区三区91| 顶级嫩模精品视频在线看| 国产一区二区精品在线观看| 日本va欧美va欧美va精品| 午夜成人免费视频| 午夜精品久久久久影视| 亚洲成人在线免费| 亚洲成人免费电影| 日韩av不卡在线观看| 琪琪一区二区三区| 精品人在线二区三区| 一区二区成人在线观看| 亚洲免费在线观看| 亚洲免费观看高清完整版在线| 精品一区二区三区影院在线午夜| 麻豆成人免费电影| 国产乱淫av一区二区三区| 国产成人综合在线| 99久久精品情趣| 欧美综合一区二区| 6080亚洲精品一区二区| 日韩一区二区三区免费观看| 欧美一区二区精美| 国产欧美久久久精品影院| 国产精品国产三级国产| 一区二区三区精密机械公司| 日本欧美一区二区三区乱码| 狠狠v欧美v日韩v亚洲ⅴ| 成人免费视频一区二区| 欧美亚洲自拍偷拍| 欧美tickle裸体挠脚心vk| 国产精品视频在线看| 一区二区免费看| 精品影视av免费| 99re热这里只有精品视频| 在线不卡一区二区| 亚洲国产精品ⅴa在线观看| 亚洲激情六月丁香| 捆绑调教一区二区三区| 成人午夜精品在线| 欧美日韩精品高清| 中文字幕精品—区二区四季| 亚洲午夜在线观看视频在线| 国产一区二区三区久久悠悠色av| 91香蕉视频污在线| 欧美xfplay| 亚洲一区二区中文在线| 国产一区二区三区观看| 欧洲av在线精品| 中文一区二区在线观看| 午夜婷婷国产麻豆精品| 国产成都精品91一区二区三| 欧美日韩电影在线| 国产精品久久久久久久久免费桃花 | 国产精品一区在线观看乱码| 91福利视频网站| 久久久噜噜噜久噜久久综合| 亚洲va国产va欧美va观看| av在线这里只有精品| 精品日产卡一卡二卡麻豆| 亚洲成人在线观看视频| 成人激情视频网站| 久久综合色鬼综合色| 秋霞国产午夜精品免费视频| 日本高清不卡视频| 亚洲欧美在线aaa| 国产成人一区在线| 精品国产一区二区三区久久久蜜月| 亚洲高清三级视频| 91视频精品在这里| 国产精品色呦呦| 国产精品91xxx| 欧美精品一区二区三区四区| 日韩国产精品久久| 欧美巨大另类极品videosbest | 久久精品国产免费看久久精品| 91福利精品视频| 亚洲欧美怡红院| 99在线精品观看| 中文字幕免费不卡在线| 黑人精品欧美一区二区蜜桃| 日韩欧美国产一区二区三区| 天堂久久一区二区三区| 欧美日韩一区二区不卡| 亚洲免费观看高清完整| 色综合天天综合网国产成人综合天| 国产精品午夜免费| 成人性视频免费网站|