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

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

?? ospf_list_utilities.c

?? vxworks下ospf協議棧
?? C
?? 第 1 頁 / 共 4 頁
字號:
/* ospf_list_utilities.c - ospf list utilities *//* Copyright 2000-2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02o,17jul03,agi    made ospf_delete_entry_from_list() global02n,03jul03,agi    Fixed SPR#89187 - OSPF stack in exchange start problem02m,29may03,agi    Added ospf_add_entry_to_list(), ospf_delete_entry_from_list()02l,23may03,agi    Changed RWOS semaphores to vxWorks semaphores02k,22apr03,ram	   SPR#76812 Modifications for OSPF performance enhancements02j,19nov02,mwv    Merge TMS code SPR 8428402i,10oct02,hme    Fix TSR# 28703702h,19apr02,jkw    Fix memory leak for external lsas.02g,16apr02,jkw    One copy of external and type 11 lsa02f,04apr02,kc     Fixed ospf_free_all_the_associated_area_pointers() - set                   sptr_address_range for area to NULL. Also fixed                   ospf_free_areas_link_state_database() - set                   sptr_database_entry pointer for lsdb head to NULL.02e,09apr02,jkw    Sequence number wrap.02d,25mar02,kc     Fixed ospf_free_all_the_associated_area_pointers() again -                    explicitly set the forward pointer for the                   shortest_path_first_tree to NULL after freeing the memory                   pointed to by the given pointer.02c,23mar02,kc     Fixed ospf_free_all_the_associated_area_pointers() - explicitly set                    the pointer pointed to the sptr_candidate and                   sptr_summary_advertisement_list_head to NULL after freeing the                    memory pointed to by the given pointer.02b,09jan02,jkw    Add null pointer check for removing advertisement from retransmission                    list.02a,20dec01,jkw    Removed sptr_area->sptr_interfaces structure.01z,13oct01,kc     Dynamic configuration changes.01y,26sep01,kc     Modified ospf_free_areas_interfaces() to de-register multicast and                   to send empty hello to neighbors.01x,03sep01,jkw    Added Mistral updates for NULL pointer fix01w,23aug01,jkw    Fixed compiler warnings.01v,18jul01,jkw    Added opaque lsa request for ospf_free_neighbor_ls_request_list01u,19june01,aos   Calling to ospf_clean_up_retransmit_lists_affiliated_with_this_advertisement () function before freeing the LS database entry.01t,03may01,jkw    Added checks for NULL pointers and alarm messages01s,26sep00,reshma Added WindRiver CopyRight01r,25sep00,reshma RFC-1587 implementation for OSPF NSSA Option, also tested against ANVL.                   Also added ospf_mib_delete_xxx_entry functions.01q,07jul00,reshma Unix compatibility related changes.01p,04apr00,reshma Added some MIB support (Read only).Passed all important ANVL OSPF tests.01o,23dec99,reshma Compatibility with VxWorks-IP and VxWorks RTM-interface01n,28dec98,jack   Compiled and added some comments01m,11nov98,jack   Config changes, linted and big endian changes01l,30oct98,jack   Incorporate changes for compilation on Vxworks01k,23aug98,jack   ANVL tested OSPF with PATRICIA tree route table and no recursion01j,10aug98,jack   PATRICIA Route Table Based OSPF Code Base01i,19jun98,jack   listroutine changes. OSPF add and delete list routines, eventually call                   the rwutils list routines.01h,16jun98,jack   The ospf_add_to_list routine changed.01g,05jun98,jack   Fix in fn ospf_remove_current_database_copy_from_all_neigh_.....; NULL                   pointer check01f,04jun98,jack   Integration with RTM and BGP01e,24apr98,jack   RTM changes01d,10jul97,cindy  Pre-release v1.52b01c,02oct97,cindy  Release Version 1.5201b,22oct96,cindy  Release Version 1.5001a,05jun96,cindy  First Beta Release*//*DESCRIPTIONospf_list_utilities.c is used for creating and deleting lists.  These lists include: neighbor lists, neighbor retransmission lists, neighbor retransmit queues, database summary lists, area lists.This file is used for retrieving link state advertisements.This file is used when creating and deleting lists.*/#include "ospf.h"#if defined (__OSPF_VIRTUAL_STACK__)#include "ospf_vs_lib.h"#endif /* __OSPF_VIRTUAL_STACK__ */static void ospf_neighbors_remove_all_advertisement_from_transmit_list (OSPF_NEIGHBOR *sptr_neighbor, OSPF_LS_DATABASE_ENTRY *sptr_advertisement);/******************************************************************************/void ospf_insert_node_in_list (OSPF_GENERIC_NODE *sptr_node,OSPF_GENERIC_NODE *sptr_previous_node){	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_insert_node_in_list\r\n");	/*	 * This fn is always called from add_node_to_end at this point in time so comment out if condition	 */	sptr_node->sptr_backward_link = sptr_previous_node;	sptr_node->sptr_forward_link = NULL;  /* always added at end */	sptr_previous_node->sptr_forward_link = sptr_node;	return;}/*************************************************************************/void ospf_add_entry_to_list (LINK *sptr_link, LINK *sptr_link_to_add){        if (sptr_link == NULL)                {                printf ("LSL: Illegal List\r\n");                return;                }        if (sptr_link_to_add == NULL)                {                printf ("LSL: Illegal Element to Add\r\n");                return;                }        sptr_link_to_add->sptr_backward_link = sptr_link->sptr_backward_link;        if (sptr_link->sptr_backward_link != NULL)                sptr_link->sptr_backward_link->sptr_forward_link = sptr_link_to_add;        else                sptr_link->sptr_forward_link = sptr_link_to_add;        sptr_link->sptr_backward_link = sptr_link_to_add;        sptr_link_to_add->sptr_forward_link = NULL;}/************************************************************************/void ospf_delete_entry_from_list     (    LINK *sptr_list_link,     LINK *sptr_link_to_delete    )    {        if (sptr_list_link == NULL)                {                printf ("LSL: Illegal List\r\n");                return;                }        if (sptr_link_to_delete == NULL)                {                printf ("LSL: Illegal Element to Delete\r\n");                return;                }        if (sptr_link_to_delete->sptr_forward_link == NULL && sptr_link_to_delete->sptr_backward_link == NULL) /* 1 entry in list */                {                sptr_list_link->sptr_forward_link = NULL;                sptr_list_link->sptr_backward_link = NULL;                return;                }        if (sptr_link_to_delete->sptr_backward_link == NULL) /* First entry in N (N >= 2) entry list  */                sptr_list_link->sptr_forward_link = sptr_link_to_delete->sptr_forward_link; /* new first entry in list have list point to it */        else                sptr_link_to_delete->sptr_backward_link->sptr_forward_link = sptr_link_to_delete->sptr_forward_link;        if (sptr_link_to_delete->sptr_forward_link == NULL) /* Last entry in N (N >= 2) entry list */                sptr_list_link->sptr_backward_link = sptr_link_to_delete->sptr_backward_link; /* new last entry in list because we're deleting the end*/        else                sptr_link_to_delete->sptr_forward_link->sptr_backward_link = sptr_link_to_delete->sptr_backward_link;        sptr_link_to_delete->sptr_forward_link = NULL;        sptr_link_to_delete->sptr_backward_link = NULL;    }/******************************************************************************/void ospf_add_node_to_end_of_list (OSPF_GENERIC_NODE *sptr_node,OSPF_GENERIC_NODE *sptr_first_node_in_list){	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_add_node_to_end_of_list\r\n");	if (sptr_first_node_in_list->sptr_forward_link == NULL)		{		sptr_first_node_in_list->sptr_forward_link = sptr_node;		sptr_first_node_in_list->sptr_backward_link = sptr_node;		sptr_node->sptr_backward_link = sptr_first_node_in_list;		sptr_node->sptr_forward_link = NULL;		return;		}	ospf_add_entry_to_list ((LINK *) sptr_first_node_in_list, (LINK *) sptr_node);	return;}/******************************************************************************/OSPF_GENERIC_NODE *ospf_free_entire_list (OSPF_GENERIC_NODE *sptr_first_node_in_list){	OSPF_GENERIC_NODE *sptr_node;	OSPF_GENERIC_NODE *sptr_next_node;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_free_entire_list\r\n");	for (sptr_node = sptr_first_node_in_list; sptr_node != NULL; sptr_node = sptr_next_node)		{		sptr_next_node = sptr_node->sptr_forward_link;		ospf_remove_node_from_list ((OSPF_GENERIC_NODE **) &sptr_first_node_in_list, sptr_node);		table_free ((void *) sptr_node);		sptr_node = NULL;		}	return (NULL);}/******************************************************************************/void ospf_remove_node_from_list (OSPF_GENERIC_NODE **ptr_sptr_first_node, OSPF_GENERIC_NODE *sptr_node){    OSPF_GENERIC_NODE *sptr_previous_node;    OSPF_GENERIC_NODE *sptr_next_node;    OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_remove_node_from_list\r\n");    sptr_previous_node = NULL;    sptr_next_node = NULL;    if ( (*ptr_sptr_first_node == NULL) || (sptr_node == NULL) )        return;    if (*ptr_sptr_first_node == sptr_node)        {        if (sptr_node->sptr_forward_link != NULL)            {            *ptr_sptr_first_node = sptr_node->sptr_forward_link;			/* Mistral Added on July 25th */	  		if(*ptr_sptr_first_node)                 {                (*ptr_sptr_first_node)->sptr_backward_link =                     sptr_node->sptr_backward_link;                }            }        else            {            *ptr_sptr_first_node = NULL;            }        sptr_node->sptr_forward_link = NULL;        sptr_node->sptr_backward_link = NULL;        return;        }    if ( *ptr_sptr_first_node != NULL )        {        ospf_delete_entry_from_list             ((LINK *) *ptr_sptr_first_node, (LINK *) sptr_node);        }    return;    }/******************************************************************************/void ospf_add_neighbor (OSPF_INTERFACE *sptr_interface,OSPF_NEIGHBOR *sptr_neighbor_to_add){	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_add_neighbor\r\n");    /* SPR#76812 */    semTake (ospf_config_mutex, WAIT_FOREVER);	if (sptr_interface->sptr_neighbor == NULL)		{		sptr_interface->sptr_neighbor = sptr_neighbor_to_add;		}	else		{		ospf_add_node_to_end_of_list ((OSPF_GENERIC_NODE *) sptr_neighbor_to_add, (OSPF_GENERIC_NODE *) sptr_interface->sptr_neighbor);		}	++ospf.number_of_neighbors;    semGive (ospf_config_mutex);	if (sptr_neighbor_to_add->sptr_interface->type == OSPF_VIRTUAL_LINK)		{        /* REVISIT(patch): obtained the proper transit area id */        sptr_neighbor_to_add->mib_area_id = sptr_neighbor_to_add->sptr_interface->sptr_transit_area->area_id;#if defined(__OSPF_MIB__)		/* tell MIB API to add this virtual neighbor to ospfVirtNbrTable */		ospf2Mapi_request( (void *)sptr_neighbor_to_add, ospfVirtNbrUpdateReqType );#endif /*__OSPF_MIB__*/		}	else		{#if defined(__OSPF_MIB__)		/* tell MIB API to add this virtual neighbor to ospfVirtNbrTable */		ospf2Mapi_request( (void *)sptr_neighbor_to_add, ospfNbrUpdateReqType );#endif /*__OSPF_MIB__*/		}	return;}/******************************************************************************/OSPF_LS_DATABASE_NODE *ospf_find_advertisement_on_neighbors_retransmit_list (OSPF_NEIGHBOR *sptr_neighbor,OSPF_LS_DATABASE_ENTRY *sptr_advertisement){	OSPF_LS_DATABASE_NODE *sptr_retransmission_node;	USHORT old_age;	USHORT length;	int result;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospf_find_advertisement_on_neighbors_retransmit_list\r\n");	for (sptr_retransmission_node = sptr_neighbor->sptr_retransmit; sptr_retransmission_node != NULL;		sptr_retransmission_node = sptr_retransmission_node->sptr_forward_link)		{		old_age = sptr_retransmission_node->sptr_ls_database_entry->advertisement.sptr_router->ls_header.age;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区亚洲人成毛片 | 日本欧美在线看| 亚洲国产成人一区二区三区| 日韩一区二区三| 欧美精品自拍偷拍动漫精品| 色婷婷av一区二区三区大白胸 | 中文字幕视频一区| 国产午夜精品福利| 精品少妇一区二区三区日产乱码| 成人午夜视频福利| 国产精品18久久久久| 蜜桃视频第一区免费观看| 亚洲午夜久久久久久久久久久 | 久久久亚洲精华液精华液精华液 | 中文字幕乱码久久午夜不卡| 国产a久久麻豆| 日韩高清在线不卡| 亚洲成人免费影院| 一区二区不卡在线播放| 最新不卡av在线| 国产精品美女一区二区三区| 久久精品免费在线观看| 欧美一区二区三区视频免费| 日韩三级电影网址| 日韩精品一区二区三区在线| 精品日韩99亚洲| 26uuu亚洲综合色欧美| 久久久久久久网| 久久影院电视剧免费观看| 亚洲日本一区二区| 亚洲激情网站免费观看| 亚洲午夜在线电影| 日韩高清电影一区| 美日韩一区二区三区| 裸体歌舞表演一区二区| 国产综合色在线| 国产精品正在播放| 成人h动漫精品一区二区| 成人av在线网| 欧美亚州韩日在线看免费版国语版| 色偷偷88欧美精品久久久| 欧美性猛交xxxx乱大交退制版 | 99视频精品在线| 91在线视频18| 欧美视频在线一区| 日韩一二在线观看| 国产亚洲欧美一级| 亚洲欧美一区二区三区孕妇| 国产日韩成人精品| 亚洲福中文字幕伊人影院| 精品一区二区三区av| 色综合久久久久久久久| 91精品国产高清一区二区三区蜜臀| 久久精品这里都是精品| 亚洲成人一区在线| 成人午夜av电影| 91精品国产色综合久久不卡电影| 国产精品视频一二三| 日本在线播放一区二区三区| 不卡一区中文字幕| 精品国产制服丝袜高跟| 亚洲一区成人在线| 国产成人精品影院| 欧美一区二区三区四区视频| 亚洲精品少妇30p| 国产超碰在线一区| 日韩三区在线观看| 亚洲精品国产一区二区精华液 | 国产乱码精品1区2区3区| 欧美亚洲国产一区二区三区va | 亚洲欧洲精品一区二区三区不卡| 91免费看`日韩一区二区| 日韩精品一区二| 一区2区3区在线看| 国产乱子伦视频一区二区三区| 欧美性做爰猛烈叫床潮| 国产精品黄色在线观看| 国产一区二区在线观看免费| 欧美一区二区高清| 国产精品久久久久久久久图文区 | 在线播放日韩导航| 一区二区三区四区激情| 成人黄动漫网站免费app| 久久久99久久| 首页国产欧美久久| 在线观看视频欧美| 一区二区三区日韩在线观看| 成a人片亚洲日本久久| 国产欧美va欧美不卡在线| 国产一区二三区好的| 精品久久久久久亚洲综合网| 麻豆91免费观看| 欧美一区二区精品在线| 五月婷婷综合网| 欧美日韩在线精品一区二区三区激情| ...xxx性欧美| 91在线视频播放地址| 最新国产成人在线观看| 91一区二区在线| 亚洲色图.com| 色噜噜狠狠色综合中国| 亚洲精品日韩专区silk| 日本高清视频一区二区| 亚洲精品成人少妇| 在线免费亚洲电影| 亚洲日本欧美天堂| 91高清在线观看| 亚洲国产综合在线| 7777精品伊人久久久大香线蕉的| 午夜精品免费在线| 在线播放中文一区| 男女性色大片免费观看一区二区| 91精品国产综合久久福利软件| 视频一区视频二区中文| 日韩欧美国产一二三区| 国产麻豆精品在线| 欧美激情在线一区二区三区| 99国产精品视频免费观看| 亚洲一区二区三区在线播放| 欧美少妇bbb| 玖玖九九国产精品| 欧美激情一区二区三区在线| 91啪亚洲精品| 日本视频在线一区| 久久综合九色综合久久久精品综合| 国产成人精品免费视频网站| 最新不卡av在线| 制服丝袜中文字幕一区| 国产伦精品一区二区三区免费| 国产精品久久久一本精品| 欧美午夜精品久久久久久超碰| 婷婷夜色潮精品综合在线| 精品电影一区二区| 91在线国产福利| 日韩精品亚洲一区| 亚洲国产成人午夜在线一区| 欧美最猛黑人xxxxx猛交| 蜜桃在线一区二区三区| 日本一区二区视频在线| 欧美在线综合视频| 国产一区二区剧情av在线| 中文字幕在线播放不卡一区| 欧美日韩小视频| 国产a久久麻豆| 午夜免费久久看| 久久精品综合网| 欧美视频一区二| 国产精品 欧美精品| 亚洲最大的成人av| 欧美精品一区二区三区在线| 成人av网站在线| 青青青伊人色综合久久| 国产精品理伦片| 日韩欧美在线观看一区二区三区| 国产91综合一区在线观看| 亚洲二区在线观看| 国产精品久久综合| 欧美大尺度电影在线| 色一情一伦一子一伦一区| 激情伊人五月天久久综合| 亚洲一区在线电影| 欧美—级在线免费片| 欧美一二三在线| 91黄色小视频| 成人午夜激情在线| 久久国产精品一区二区| 一区二区免费看| 国产日韩精品久久久| 日韩一区二区精品葵司在线| 在线亚洲一区二区| 成人福利视频在线看| 激情另类小说区图片区视频区| 亚洲一区二区美女| 国产精品久久久久久久久动漫 | 日韩欧美在线影院| 欧美色视频在线观看| 成人黄色国产精品网站大全在线免费观看| 午夜电影一区二区| 亚洲精品一二三| 欧美激情一区二区在线| 精品99久久久久久| 日韩欧美国产综合一区 | 亚洲成在人线免费| 亚洲靠逼com| 亚洲视频一区在线| 中文字幕在线播放不卡一区| 国产午夜精品一区二区| xnxx国产精品| 欧美精品一区二区蜜臀亚洲| 欧美喷水一区二区| 国产网站一区二区| 精品福利一二区| 日韩欧美一级二级三级久久久| 在线不卡一区二区| 欧美伦理电影网| 欧美精品tushy高清| 欧美日韩一区二区三区高清| 欧美艳星brazzers| 欧美日韩五月天| 欧美男人的天堂一二区|