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

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

?? tables.c

?? rip路由在vxworks上的實現源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
                        rt->rt_subnets_cnt - 1, TRUE,                         rt->rt_ifp->int_subnetmask);            }        }    free ((char *)rt);        return (OK);    }void rtdeleteall (void)    {    register struct rthash *rh;    register struct rt_entry *rt;    struct rthash *base = hosthash;    int doinghost = 1;        char address[32];    struct sockaddr_in *pDsin;    struct sockaddr_in *pGsin;    struct sockaddr_in *pNsin;    again:    for (rh = base; rh < &base[ROUTEHASHSIZ]; rh++)        {        rt = rh->rt_forw;	for (; rt != (struct rt_entry *)rh;                  rt = ( (struct rt_entry *)rh)->rt_forw)            {            /* Remove the entry from the kernel routing table if present. */            if ( (rt->rt_state & (RTS_INTERNAL|RTS_EXTERNAL|RTS_OTHER)) == 0)                {                ripRouteToAddrs (rt, &pDsin, &pGsin, &pNsin);                inet_ntoa_b (pDsin->sin_addr, (char *)&address);                /*                 * Expired route entries were already removed from the kernel                 * routing table, but may remain in the RIP routing table                 * if the garbage collection interval has not passed.                  * These entries are usually detectable by their infinite                  * metric, but all metrics are infinite in this case.                 * However, the pointer to the kernel route will be                 * NULL, so the following call will not attempt to                 * delete a (non-existent) expired entry.                 */                if (rt->inKernel)                    {                    if (ripSystemRouteDelete (pDsin->sin_addr.s_addr,                                               pGsin->sin_addr.s_addr,                                               pNsin->sin_addr.s_addr,                                               0) == ERROR)                        {                        if (routedDebug)                             logMsg ("Error %x removing route from kernel table.\n",                                     errno, 0, 0, 0, 0, 0);                        }                    else                        {                        rt->inKernel = FALSE;                        ripState.ripGlobal.rip2GlobalRouteChanges++;                        }                    }                }            /* Remove the entry from the RIP routing table. */            ((struct rt_entry *)rh)->rt_forw = rt->rt_forw;            free ((char *)rt);            }        }    if (doinghost)        {        doinghost = 0;        base = nethash;        goto again;        }    return;    }/* * If we have an interface to the wide, wide world, * add an entry for an Internet default route (wildcard) to the internal * tables and advertise it.  This route is not added to the kernel routes, * but this entry prevents us from listening to other people's defaults * and installing them in the kernel here. */void rtdefault (void)    {    rtadd ( (struct sockaddr *)&inet_default, (struct sockaddr *)&inet_default,            1, RTS_CHANGED | RTS_PASSIVE | RTS_INTERNAL, NULL,            M2_ipRouteProto_rip, 0, 0, NULL);    }void routedTableInit (void)    {    register struct rthash *rh;        for (rh = nethash; rh < &nethash[ROUTEHASHSIZ]; rh++)        rh->rt_forw = rh->rt_back = (struct rt_entry *)rh;    for (rh = hosthash; rh < &hosthash[ROUTEHASHSIZ]; rh++)        rh->rt_forw = rh->rt_back = (struct rt_entry *)rh;    }/******************************************************************************** ripSystemRouteAdd - add a RIP route to the system routing database** This routine adds the route to the system routing database using the* method which the particular product supports.** RETURNS: ERROR or OK (return value from selected add method)** ERRNO: N/A** NOMANUAL*/LOCAL STATUS ripSystemRouteAdd     (    long             dstIp,    	/* destination address, network order */    long             gateIp,    	/* gateway address, network order */    long             mask,      	/* mask for destination, network order */    int              flags      	/* route flags */     )    {#ifdef ROUTER_STACK    ROUTE_DESC		routeDesc;    struct sockaddr_in	dstAddr;    struct sockaddr_in	netmask;    struct sockaddr_in	gateway;    /* Initialize the routeDesc structure and the sockaddr structures */    bzero ((char *)&routeDesc, sizeof (routeDesc));    routeDesc.pDstAddr = (struct sockaddr *)&dstAddr;    routeDesc.pNetmask = (struct sockaddr *)&netmask;    routeDesc.pGateway = (struct sockaddr *)&gateway;    bzero ((char *)&dstAddr, sizeof (struct sockaddr_in));    bzero ((char *)&netmask, sizeof (struct sockaddr_in));    bzero ((char *)&gateway, sizeof (struct sockaddr_in));    dstAddr.sin_len = sizeof (struct sockaddr_in);    netmask.sin_len = sizeof (struct sockaddr_in);    gateway.sin_len = sizeof (struct sockaddr_in);    dstAddr.sin_family = AF_INET;    netmask.sin_family = AF_INET;    gateway.sin_family = AF_INET;    dstAddr.sin_addr.s_addr = dstIp;    netmask.sin_addr.s_addr = mask;    gateway.sin_addr.s_addr = gateIp;    routeDesc.flags = flags;    routeDesc.protoId = M2_ipRouteProto_rip;    /*      * If it is a host route, set netmask to NULL. RIP internally     * assigns a host route the netmask of the interface. But the system     * expect a NULL or all zero's netmask.     */    if (flags & RTF_HOST)        routeDesc.pNetmask = NULL;    /* Now add the route */    return (routeEntryAdd (&routeDesc));#else    /*      * If it is a host route, set netmask to NULL. RIP internally     * assigns a host route the netmask of the interface. But the system     * expect a NULL netmask     */    if (flags & RTF_HOST)        mask = 0;    return (mRouteEntryAdd (dstIp, gateIp, mask, 0, flags,                             M2_ipRouteProto_rip));#endif /* ROUTER_STACK */    }/******************************************************************************** ripSystemRouteDelete - delete a RIP route from the system routing database** This routine deletes a route from the system routing database using the* method which the particular product supports.** RETURNS: ERROR or OK (return value from selected delete method)** ERRNO: N/A** NOMANUAL*/LOCAL STATUS ripSystemRouteDelete     (    long		dstIp,    	/* destination address, network order */    long		gateIp,    	/* gateway address, network order */    long		mask,      	/* mask for destination, network order */    int		flags      	/* route flags */     )    {#ifdef ROUTER_STACK    ROUTE_DESC		routeDesc;    struct sockaddr_in	dstAddr;    struct sockaddr_in	netmask;    struct sockaddr_in	gateway;    /* Initialize the routeDesc structure and the sockaddr structures */    bzero ((char *)&routeDesc, sizeof (routeDesc));    routeDesc.pDstAddr = (struct sockaddr *)&dstAddr;    routeDesc.pNetmask = (struct sockaddr *)&netmask;    routeDesc.pGateway = (struct sockaddr *)&gateway;    bzero ((char *)&dstAddr, sizeof (struct sockaddr_in));    bzero ((char *)&netmask, sizeof (struct sockaddr_in));    bzero ((char *)&gateway, sizeof (struct sockaddr_in));    dstAddr.sin_len = sizeof (struct sockaddr_in);    netmask.sin_len = sizeof (struct sockaddr_in);    gateway.sin_len = sizeof (struct sockaddr_in);    dstAddr.sin_family = AF_INET;    netmask.sin_family = AF_INET;    gateway.sin_family = AF_INET;    dstAddr.sin_addr.s_addr = dstIp;    netmask.sin_addr.s_addr = mask;    gateway.sin_addr.s_addr = gateIp;    routeDesc.flags = flags;    routeDesc.protoId = M2_ipRouteProto_rip;    /*      * If it is a host route, set netmask to NULL. RIP internally     * assigns a host route the netmask of the interface. But the system     * expect a NULL or all zero's netmask.     */    if (flags & RTF_HOST)        routeDesc.pNetmask = NULL;    /* Now delete the route */    return (routeEntryDelete (&routeDesc));#else    /*      * If it is a host route, set netmask to NULL. RIP internally     * assigns a host route the netmask of the interface. But the system     * expect a NULL or all zero's netmask.     */    if (flags & RTF_HOST)        mask = 0;    return (mRouteEntryDelete (dstIp, gateIp, mask, 0, flags,                                M2_ipRouteProto_rip));#endif /* ROUTER_STACK */    }/******************************************************************************** ripRouteMetricSet - Set the metric for the RIP route** This routine changes the metric of the RIP route that is kept in the* system Routing database.* The parameter <pRtEntry> describes the RIP route that is kept in RIP's* private database. It also contains the metric value that is to be set.** This routine calls the routing extensions function routeMetricSet() * to set the metric** RETURNS: N/A** ERRNO: N/A** NOMANUAL*/void ripRouteMetricSet     (    struct rt_entry *	pRtEntry	/* Route entry describing the */    					/* Kernel route to update */    )    {    struct sockaddr_in * pDsin;    struct sockaddr_in * pGsin;    struct sockaddr_in * pNsin;        /*     * Retrieve the destination and netmask values from the     * corresponding fields in the RIP route entry structure     */    ripRouteToAddrs (pRtEntry, &pDsin, &pGsin, &pNsin);    /*      * If it is a host route, set netmask to NULL. RIP internally     * assigns a host route the netmask of the interface. But the system     * overrides that and stores the route as a host route with a NULL mask.     * (which is the right thing to do). So we set the netmask field to     * NULL so that the route lookup happens fine.     */    if (pRtEntry->rt_flags & RTF_HOST)        pNsin = NULL;    if (routedDebug > 2)        {        logMsg ("ripRouteMetricSet: setting new metric = %d for\n",                 pRtEntry->rt_metric , 0, 0, 0, 0, 0);        ripSockaddrPrint ((struct sockaddr *)pDsin);        ripSockaddrPrint ((struct sockaddr *)pNsin);        ripSockaddrPrint ((struct sockaddr *)pGsin);        }    /* Now set the route metric */    if (routeMetricSet ((struct sockaddr *)pDsin, (struct sockaddr *)pNsin,                        M2_ipRouteProto_rip, pRtEntry->rt_metric) == ERROR)         {        if (routedDebug)             logMsg ("Couldn't set metric for rtEntry = %x.\n", (int)pRtEntry, 0,                     0, 0, 0, 0);        }    }/******************************************************************************* ripInsque - insert node in list after specified node.** Portable version of _insque ().** NOMANUAL*/ LOCAL void ripInsque    (    NODE *pNode,    NODE *pPrev    )    {    NODE *pNext;     pNext = pPrev->next;    pPrev->next = pNode;    pNext->previous = pNode;    pNode->next = pNext;    pNode->previous = pPrev;    } /******************************************************************************* ripRemque - remove specified node in list.** Portable version of _remque ().** NOMANUAL*/ LOCAL void ripRemque     (    NODE *	pNode	/* Node to remove */    )    {    pNode->previous->next = pNode->next;    pNode->next->previous = pNode->previous;    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品高潮呻吟久久| 丝袜美腿成人在线| 日本va欧美va欧美va精品| 国产成人亚洲综合色影视| 欧美日韩激情在线| 欧美国产一区在线| 日韩二区在线观看| 色88888久久久久久影院按摩| 日韩女优电影在线观看| 亚洲欧美综合另类在线卡通| 五月综合激情婷婷六月色窝| av在线不卡免费看| 欧美刺激午夜性久久久久久久| **性色生活片久久毛片| 激情深爱一区二区| 日韩一区二区三免费高清| 亚洲精品一二三区| av不卡在线观看| 国产欧美日韩视频在线观看| 久久国产人妖系列| 欧美精品视频www在线观看| 亚洲视频一区二区在线观看| 国产一区二区精品在线观看| 欧美刺激脚交jootjob| 日本亚洲三级在线| 欧美巨大另类极品videosbest | 欧美国产综合一区二区| 老司机午夜精品| 91精品国产综合久久精品 | 中文字幕乱码久久午夜不卡| 久久精品国产亚洲高清剧情介绍| 欧美亚洲精品一区| 亚洲第四色夜色| 在线视频一区二区三区| 一区二区三区蜜桃| 欧美中文字幕一二三区视频| 一级做a爱片久久| 91黄色在线观看| 亚洲线精品一区二区三区八戒| 97成人超碰视| 亚洲一区在线视频观看| 欧美日韩国产欧美日美国产精品| 亚洲另类一区二区| 欧美吻胸吃奶大尺度电影| 亚洲成人动漫在线免费观看| 欧美欧美午夜aⅴ在线观看| 日av在线不卡| 久久久国产精华| 成人少妇影院yyyy| 一区二区三区在线免费观看| 在线观看欧美日本| 日本不卡视频在线| 国产欧美一区二区三区鸳鸯浴| 福利一区二区在线观看| 亚洲精品国产品国语在线app| 91蜜桃视频在线| 五月综合激情婷婷六月色窝| 精品国产91乱码一区二区三区| 国产老妇另类xxxxx| 国产精品久久99| 欧美日韩高清一区| 国产原创一区二区| 亚洲视频图片小说| 911精品产国品一二三产区| 国内一区二区视频| 最新高清无码专区| 日韩三级电影网址| 成人app在线观看| 午夜影院在线观看欧美| 久久九九久久九九| 欧美在线观看禁18| 国产精品综合在线视频| 亚洲男帅同性gay1069| 911精品国产一区二区在线| 成人激情视频网站| 日本免费在线视频不卡一不卡二| 欧美激情综合五月色丁香 | 欧美精品一区二区三区蜜桃| 99久久99久久精品免费看蜜桃 | 国产美女一区二区三区| 亚洲精品国产高清久久伦理二区| 欧美一区二区久久久| 99久久综合狠狠综合久久| 蜜臀久久99精品久久久久宅男| 国产精品久久久久影院色老大| 欧美一卡二卡在线| 日本二三区不卡| 国产精品一区二区无线| 三级久久三级久久久| 亚洲欧洲成人精品av97| 欧美精品一区二区不卡| 欧美久久久久久久久久| 99精品视频在线观看免费| 麻豆91在线播放免费| 亚洲一区二区三区激情| 中文字幕第一区综合| 精品日韩一区二区三区免费视频| 日本高清免费不卡视频| 97久久超碰精品国产| 成人做爰69片免费看网站| 激情综合网天天干| 日韩av高清在线观看| 一区二区激情小说| 亚洲三级电影全部在线观看高清| 久久久精品国产免费观看同学| 欧美一级片在线| 欧美三日本三级三级在线播放| 91蜜桃在线观看| 91在线观看一区二区| 风间由美一区二区av101| 国产久卡久卡久卡久卡视频精品| 美日韩一区二区| 三级精品在线观看| 喷水一区二区三区| 久久爱www久久做| 蜜臀av亚洲一区中文字幕| 免费日本视频一区| 激情综合亚洲精品| 国产高清久久久久| 国产大陆a不卡| 国产高清亚洲一区| 99久久99久久精品国产片果冻| aaa欧美日韩| 99精品一区二区三区| 色狠狠色狠狠综合| 欧美色视频一区| 欧美一二区视频| 久久品道一品道久久精品| 久久久午夜电影| 国产精品天美传媒沈樵| 18成人在线视频| 亚洲成人一区二区| 精品一区二区av| 成人激情免费视频| 欧美伊人精品成人久久综合97| 欧美日韩午夜在线| 2024国产精品视频| 亚洲欧美综合在线精品| 亚洲午夜日本在线观看| 日本不卡视频在线观看| 狠狠色丁香久久婷婷综| 国产 欧美在线| 欧美日韩一区二区三区四区五区| 欧美久久久久久蜜桃| 国产色爱av资源综合区| 亚洲精品国产一区二区三区四区在线 | 91麻豆精品91久久久久久清纯| 日韩欧美成人激情| 中文字幕日韩一区| 日韩中文字幕1| 国产91精品久久久久久久网曝门 | 国产乱对白刺激视频不卡| 91原创在线视频| 日韩视频永久免费| 中文字幕一区二区三区在线不卡 | 亚洲丰满少妇videoshd| 韩日欧美一区二区三区| 91丨九色丨蝌蚪丨老版| 欧美一区在线视频| 亚洲视频在线观看三级| 精品亚洲国产成人av制服丝袜 | 在线电影欧美成精品| 中文久久乱码一区二区| 亚洲成人动漫在线免费观看| 国产高清在线观看免费不卡| 欧美精品欧美精品系列| 国产精品夫妻自拍| 国产在线精品不卡| 欧美日韩卡一卡二| 中文字幕中文字幕一区二区| 美女视频一区二区三区| 一本大道久久a久久精二百| 欧美精品一区二区三区视频| 亚洲成a人v欧美综合天堂 | 欧美日韩一区二区三区免费看| 久久久久久久久久久99999| 日韩精品国产欧美| 在线观看日韩av先锋影音电影院| 国产亚洲精品久| 开心九九激情九九欧美日韩精美视频电影 | 免费人成在线不卡| 在线视频一区二区三| 成人免费一区二区三区视频| 国产一区二区三区四区五区美女| 欧美老人xxxx18| 一级中文字幕一区二区| 99re视频这里只有精品| 国产欧美视频一区二区三区| 久色婷婷小香蕉久久| 91麻豆精品国产综合久久久久久| 亚洲激情校园春色| 一本大道久久a久久综合| 成人欧美一区二区三区1314 | 欧美亚一区二区| 亚洲免费观看高清完整版在线观看熊| 粉嫩av一区二区三区| 国产喷白浆一区二区三区| 国产成人免费视频网站 | 亚洲福利国产精品| 欧美丝袜丝交足nylons|