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

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

?? iflib.c

?? vxwork源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
     * delete all duplicate routes, before we delete the primary route.     * So walk through all the duplicate routes if any, and delete them     * if the interface matches.     */    pHead = (ROUTE_ENTRY *)pRoute;    pNext = pHead->sameNode.pFrwd;    if (pNext == NULL)        {        pHead = pNext = pHead->diffNode.pFrwd;        }    while (pHead)        {         pDiffSave = pHead->diffNode.pFrwd;        while (pNext)            {            /* Save the next pointer in case we delete this node */            pSameSave = pNext->sameNode.pFrwd;            /* If this route passes through the interface, delete it */            if (pNext->rtEntry.rt_ifp == ifp)                 _routeNodeDelete ((struct rtentry *)pNext, pDeleted);            pNext = pSameSave;            }        pHead = pNext = pDiffSave;        }#endif /* ROUTER_STACK */    /* Now delete the primary route if it passes through the interface */    if (pRt->rt_ifp == ifp)         _routeNodeDelete (pRt, pDeleted);    return OK;    }/********************************************************************************* _routeNodeDelete - delete the route associated with the network interface** This routine deletes the route that has been associated with the* specified interface. Only the following route is deleted:** \ml* \m -* the network route added by us when the interface address is initialized* \m -* the static route added by the administrator that passes through the interface* \me** Routes added by routing protocols are not deleted.** INTERNAL* This function only works for address families AF_INET.** RETURNS:* 0*/LOCAL int _routeNodeDelete    (    struct rtentry *	pRt,		/* pointer to the rtentry structure */    int *		pDeleted	/* counts # of deleted routes */    )    {    FAST struct sockaddr *	destAddr = NULL;    FAST struct sockaddr *	gateAddr;    int proto;    long mask;#ifdef DEBUG    char 			aStr [INET_ADDR_LEN];    char 			bStr [INET_ADDR_LEN];    char 			cStr [INET_ADDR_LEN];#endif /* DEBUG */    destAddr = rt_key(pRt);		/* get the destination address */    gateAddr = pRt->rt_gateway;		/* get the gateway address */#ifdef DEBUG    inet_ntoa_b (((struct sockaddr_in *)destAddr)->sin_addr, aStr);    logMsg ("_routeNodeDelete: Called for %s, if=%s%d, proto=%d, type = %s\n",             (int)aStr, (int)(pRt->rt_ifp->if_name), pRt->rt_ifp->if_unit,            RT_PROTO_GET (destAddr), (int)"NON_ARP", 0); #endif /* DEBUG */    /*     * We delete only statically added routes, interface routes and ICMP     * routes. All other routes belong to the respective routing protocols     * that should be deleting them     */    if ((proto = RT_PROTO_GET (destAddr)) != M2_ipRouteProto_other &&        proto != M2_ipRouteProto_local &&        proto != M2_ipRouteProto_icmp)        return (0);    /* If it is an interface route, get the interface address */    if (gateAddr->sa_family == AF_LINK)        gateAddr = pRt->rt_ifa->ifa_addr;     if (rt_mask (pRt) == NULL)        {       	mask = 0;        }    else        {        mask = ((struct sockaddr_in *) rt_mask (pRt))->sin_addr.s_addr;        }#ifdef DEBUG    inet_ntoa_b (((struct sockaddr_in *)destAddr)->sin_addr, aStr);    if (mask)        inet_ntoa_b (((struct sockaddr_in *) rt_mask (pRt))->sin_addr, bStr);    else        bStr[0] = 0;    inet_ntoa_b (((struct sockaddr_in *)gateAddr)->sin_addr, cStr);    logMsg ("_routeNodeDelete: Deleting following route: dest = %s, nmask = %s,"            "gate = %s\n", (int)aStr, (int)bStr, (int)cStr, 0, 0, 0);#endif /* DEBUG */    /* Now delete the route */    mRouteEntryDelete (((struct sockaddr_in*)destAddr)->sin_addr.s_addr,                        ((struct sockaddr_in*)gateAddr)->sin_addr.s_addr,                        mask, TOS_GET (destAddr), pRt->rt_flags, proto);    /* Increment the deletion counter */    ++(*pDeleted);    return 0;    }/******************************************************************************** ifAllRoutesDelete - delete all routes associated with a network interface** This routine deletes all routes that have been associated with the* specified interface. The routes deleted are:* \ml* \m - * the network route added when the interface address is initialized* \m - * the static routes added by the administrator* \m - * ARP routes passing through the interface* \me* Routes added by routing protocols are not deleted.** INTERNAL* This function only works for address families AF_INET.** RETURNS:* The number of routes deleted, or ERROR if an interface is not specified.*/int ifAllRoutesDelete    (    char *ifName,               /* name of the interface */    int   unit                  /* unit number for this interface */    )    {    FAST struct ifnet 		*ifp;    FAST struct ifaddr 		*ifa;    FAST struct in_ifaddr 	*ia = 0;    int 			 	deleted;    int 				args[3];    struct radix_node_head *  	rnh;    if (ifName == NULL)        return (ERROR);    deleted = 0;#ifdef VIRTUAL_STACK    for (ifp = _ifnet; ifp; ifp = ifp->if_next)#else    for (ifp = ifnet; ifp; ifp = ifp->if_next)#endif /* VIRTUAL_STACK */        {            if (ifp->if_unit != unit || strcmp(ifName, ifp->if_name))                continue;	/*	 * Find address for this interface, if it exists.	 */#ifdef VIRTUAL_STACK	for (ia = _in_ifaddr; ia; ia = ia->ia_next)#else	for (ia = in_ifaddr; ia; ia = ia->ia_next)#endif /* VIRTUAL_STACK */	    if (ia->ia_ifp == ifp)		break;	for (ifa = ifp->if_addrlist; ifa; ifa = ifa->ifa_next)            {            /* skip if address family does not belong to AF_INET */                        if (ifa->ifa_addr->sa_family != AF_INET)                continue;            /*             * Walk through the entire table and delete routes associated             * with the interface.             */            /* First delete the ARP entries */            args[0] = (int)ifp;            args[1] = RT_ARP;            args[2] = (int)&deleted;            rnh = rt_tables[AF_INET];            if (rnh)                 rn_walktree(rnh, routeNodeDelete, (void *)args);                        /* Next delete the non-ARP routes */            args[0] = (int)ifp;            args[1] = ~RT_ARP;            args[2] = (int)&deleted;            if (rnh)                 rn_walktree(rnh, routeNodeDelete, (void *)args);                        break;            }        }    return (deleted);    }/********************************************************************************* ifunit - map an interface name to an interface structure pointer** This routine returns a pointer to a network interface structure for <name> or* NULL if no such interface exists.  For example:* .CS*     struct ifnet *pIf;*     ...*     pIf = ifunit ("ln0");* .CE* `pIf' points to the data structure that describes the first network interface* device if ln0 is mapped successfully.** RETURNS:* A pointer to the interface structure, or NULL if an interface is not* found.**/struct ifnet *ifunit    (    register char *ifname    /* name of the interface */    )    {    register char *cp;    register struct ifnet *ifp;    int unit;    unsigned len;    char *ep, c;    char name [IFNAMSIZ];    if (ifname == NULL)	return ((struct ifnet *)0);    strncpy (name, ifname, IFNAMSIZ);    for (cp = name; cp < name + IFNAMSIZ && *cp; cp++)	if (*cp >= '0' && *cp <= '9')	    break;    if (*cp == '\0' || cp == name + IFNAMSIZ)	return ((struct ifnet *)0);    /*     * Save first char of unit, and pointer to it,     * so we can put a null there to avoid matching     * initial substrings of interface names.     */    len = cp - name + 1;    c = *cp;    ep = cp;    for (unit = 0; *cp >= '0' && *cp <= '9'; )        unit = unit * 10 + *cp++ - '0';    *ep = 0;#ifdef VIRTUAL_STACK    for (ifp = _ifnet; ifp; ifp = ifp->if_next)#else    for (ifp = ifnet; ifp; ifp = ifp->if_next)#endif /* VIRTUAL_STACK */	{	if (bcmp(ifp->if_name, name, len))	    continue;        if (unit == ifp->if_unit)	    break;	}    *ep = c;    return (ifp);    }/****************************************************************************** ifNameToIfIndex - returns the interface index given the interface name** This routine returns the interface index for the interface named by the * <ifName> parameter, which proviedes a string describing the full interface * name. For example, "fei0".** RETURNS: The interface index, if the interface could be located,  * 0, otherwise.  0 is not a valid value for interface index.*/unsigned short ifNameToIfIndex     (    char *	ifName	/* a string describing the full interface name. */    			/* e.g., "fei0"	*/    )    {    FAST struct ifnet *		ifp;    int				s;    int				ifIndex;    /* Call ifunit under splnet protection as it is not protected */    s = splnet ();    ifp = ifunit (ifName);    ifIndex = (ifp != NULL) ? ifp->if_index : 0;    splx (s);    return (ifIndex);    }/****************************************************************************** ifIndexToIfName - returns the interface name given the interface index** This routine returns the interface name for the interface referenced* by the <ifIndex> parameter. ** \is* \i <ifIndex>*    The index for the interface.* \i <ifName>*    The location where the interface name is copied* \ie** RETURNS: OK on success, ERROR otherwise.*/STATUS ifIndexToIfName     (    unsigned short	ifIndex,/* Interface index */    char *		ifName	/* Where the name is to be stored */    )    {    FAST struct ifnet *		ifp;    int				s;    if (ifName == NULL)        return (ERROR);    s = splnet ();    if ((ifp = ifIndexToIfp (ifIndex)) == NULL)        {        splx (s);        return (ERROR);        }    sprintf (ifName, "%s%d", ifp->if_name, ifp->if_unit);    splx (s);    return (OK);    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品国产更新| 国产精品国产三级国产普通话99 | 成人av在线一区二区三区| 亚洲一卡二卡三卡四卡无卡久久 | 欧美一级免费大片| 精一区二区三区| 亚洲一区视频在线| 国产sm精品调教视频网站| 激情伊人五月天久久综合| 日韩av中文字幕一区二区 | 日本aⅴ精品一区二区三区 | 国产精品久久久久久久久免费桃花 | 国产亚洲成年网址在线观看| 91精品国产综合久久久蜜臀粉嫩 | 成人污污视频在线观看| 精品一区二区免费看| 色系网站成人免费| 91在线视频观看| 91麻豆福利精品推荐| 91国内精品野花午夜精品| 欧美人妇做爰xxxⅹ性高电影 | 日韩一级成人av| 五月综合激情日本mⅴ| 成人av电影免费在线播放| 国产欧美中文在线| 中文字幕亚洲综合久久菠萝蜜| 国产精品高潮呻吟| 成人高清免费在线播放| 久久人人爽爽爽人久久久| 国产精品午夜免费| 天涯成人国产亚洲精品一区av| 欧美在线视频日韩| 日韩一二三区视频| 九九视频精品免费| 精品成人在线观看| 中文字幕视频一区| 99这里只有久久精品视频| 欧美日本免费一区二区三区| 婷婷丁香激情综合| 欧美一级国产精品| 久久电影国产免费久久电影| 99精品视频一区| 亚洲免费在线视频| 久久99精品久久久久久动态图 | 国产女人18毛片水真多成人如厕| 国产传媒日韩欧美成人| 欧洲视频一区二区| 亚洲一二三专区| 欧美日韩在线三级| 国产亚洲精品久| 国产电影精品久久禁18| 国产精品免费丝袜| 色哟哟在线观看一区二区三区| 一区二区三区四区中文字幕| 国产一区二区三区观看| 欧美色成人综合| 麻豆传媒一区二区三区| 欧美性xxxxxxxx| 中文字幕在线不卡| 欧美无乱码久久久免费午夜一区| 亚洲成人av免费| 99久久精品99国产精品| 亚洲综合一区二区三区| 日韩一区二区在线看| 国产成人精品aa毛片| 亚洲一区国产视频| 久久久久久久久99精品| 色狠狠一区二区三区香蕉| 奇米色777欧美一区二区| 国产无一区二区| 色哟哟国产精品| 精品一区二区三区在线视频| 亚洲欧洲av另类| 日韩一区二区三区视频在线观看| 国产.欧美.日韩| 偷拍一区二区三区| 国产精品久久国产精麻豆99网站| 欧美日韩一区 二区 三区 久久精品| 国内成+人亚洲+欧美+综合在线| 亚洲欧洲另类国产综合| 欧美一区日韩一区| 99re视频精品| 国产在线播放一区| 亚洲va在线va天堂| 国产精品福利影院| 久久久亚洲精品一区二区三区| 在线视频一区二区三| 国产成人在线免费观看| 天堂蜜桃91精品| 久久综合久久鬼色| 久久国产精品露脸对白| 亚洲精品国产a久久久久久| 色一区在线观看| 国产91精品一区二区麻豆网站 | 亚洲乱码国产乱码精品精的特点| 欧美一区二区私人影院日本| 91免费国产在线| 国产91在线|亚洲| 免费成人在线视频观看| 婷婷综合久久一区二区三区| 亚洲精品福利视频网站| 中文字幕在线观看不卡视频| 久久影院视频免费| 日韩精品一区二区三区在线观看| 国产经典欧美精品| 美女视频免费一区| 老司机精品视频在线| 日韩av一区二区三区四区| 夜夜嗨av一区二区三区中文字幕| 日本一区二区高清| 91免费精品国自产拍在线不卡| 岛国精品在线观看| 黄色成人免费在线| 国产综合久久久久久鬼色| 精品一区精品二区高清| 久久精品久久99精品久久| 日韩中文欧美在线| 日本大胆欧美人术艺术动态| 三级欧美在线一区| 日本不卡视频一二三区| 亚洲五码中文字幕| 国产女主播一区| 国产精品久久久久久久久免费樱桃 | 波多野结衣在线一区| 成人激情动漫在线观看| av不卡在线观看| 91亚洲永久精品| 欧美视频日韩视频在线观看| 欧美日韩在线观看一区二区| 欧美精品v国产精品v日韩精品| 国产凹凸在线观看一区二区| 成人app在线观看| 91福利视频在线| 日韩一区二区三区视频在线| 精品国产一区二区三区不卡| 国产欧美一区二区三区网站 | 免费在线观看成人| 精品亚洲成a人在线观看| 国产一区二区三区日韩| 成人一区二区三区视频在线观看| 99精品视频中文字幕| 欧美日韩成人高清| 精品噜噜噜噜久久久久久久久试看| av在线综合网| 欧美性大战xxxxx久久久| 日韩免费在线观看| 中文字幕一区二区三区在线不卡 | 国产精品一区三区| 男男成人高潮片免费网站| 国产乱人伦偷精品视频不卡 | 一区二区成人在线视频| 日本伊人色综合网| 不卡的av中国片| 91精品国产91综合久久蜜臀| 国产日韩亚洲欧美综合| 香蕉乱码成人久久天堂爱免费| 国产一区二区三区视频在线播放| 色综合网色综合| 粉嫩一区二区三区在线看| 91国产免费看| 久久综合狠狠综合久久综合88| 亚洲精品免费播放| 国产精品资源在线观看| 欧美色图片你懂的| 国产精品免费观看视频| 美女一区二区在线观看| 色综合欧美在线视频区| 久久这里都是精品| 日精品一区二区| 色偷偷88欧美精品久久久| 久久人人爽爽爽人久久久| 日韩1区2区3区| 91浏览器入口在线观看| 久久网这里都是精品| 亚洲va国产天堂va久久en| av中文字幕亚洲| 国产日产精品1区| 蜜桃av一区二区三区电影| 91国产福利在线| 亚洲美女偷拍久久| 国产不卡视频在线播放| 欧美精品一区二区三区四区| 亚洲444eee在线观看| 91久久精品一区二区三| 国产精品理论片| 成人国产精品免费网站| 国产日产精品一区| 国产成人超碰人人澡人人澡| 久久网站最新地址| 蜜臀av国产精品久久久久| 欧美精品aⅴ在线视频| 亚洲一二三四在线| 色综合中文字幕国产| 国产日韩一级二级三级| 国产成人免费高清| 国产偷国产偷精品高清尤物| 国产精品99久久久久久有的能看| 欧美岛国在线观看| 久久99精品国产.久久久久| 欧美一区二区视频在线观看2022|