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

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

?? ospf_opaque_lsa.c

?? vxworks下ospf協議棧
?? C
?? 第 1 頁 / 共 5 頁
字號:
            }        }    semGive (ospf_global_mutex );    return 0;    }/***********************************************************************************************************************************//*	Function: ospfRemoveAllType11	Input: None	RETURNS: int - 0|-1	Description: This function removes all the type 11 opaque lsas from the opaque lsdb.*/int ospfRemoveAllType11()    {	OSPF_LS_DATABASE_HEAD *sptr_ls_database_head = NULL ;	OSPF_LS_DATABASE_ENTRY *sptr_database_entry = NULL;	OSPF_LS_DATABASE_ENTRY *sptr_next_database_entry = NULL;	USHORT age =0;	enum TEST test_return_type;	ULONG index;	ULONG advertising_router;	ULONG lsid;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospfRemoveAllType11 \r\n");	semTake (ospf_global_mutex , WAIT_FOREVER);	    /* Check type 11 lsdb */	for (index = 0x00000000L, sptr_ls_database_head = &(ospf.type_11_database_hash_table[LS_TYPE_11_LSA][index]);	/* for each hash list */		index < OSPF_HASH_TABLE_SIZE; ++index, sptr_ls_database_head = &(ospf.type_11_database_hash_table[LS_TYPE_11_LSA][index]))		{		if (sptr_ls_database_head == NULL)			{			continue;			}		/* SPR#76812 */        /* SPR#76812 */       	for (sptr_database_entry = sptr_ls_database_head->sptr_linear_database_entry;       		sptr_database_entry != NULL;       	    sptr_database_entry = sptr_next_database_entry)			{			sptr_next_database_entry = sptr_database_entry->sptr_forward_link;			advertising_router = sptr_database_entry->advertisement.sptr_router->ls_header.advertising_router;			advertising_router = net_to_host_long (advertising_router);			age = sptr_database_entry->advertisement.sptr_router->ls_header.age = OSPF_MAXIMUM_AGE;			age = net_to_host_short (age);			lsid = sptr_database_entry->advertisement.sptr_router->ls_header.id;			lsid = net_to_host_long(lsid);			test_return_type = ospf_check_if_advertisements_link_state_id_is_equal_to_one_of_the_routers_own_IP_interface_addresses (				sptr_database_entry->advertisement.sptr_router);			if ((sptr_database_entry->ls_database_freeme == FALSE) && ((advertising_router == ospf.router_id) ||				((sptr_database_entry->advertisement.sptr_router->ls_header.type == OSPF_LS_NETWORK) && (test_return_type == PASS)) ) )				{				(void) ospf_flood_advertisement_out_some_subset_of_the_routers_interfaces (sptr_database_entry->advertisement.sptr_router,					ospf.sptr_area_list, NULL, NULL, TRUE);				sptr_database_entry->ls_database_freeme = TRUE;				ospf_clean_up_retransmit_lists_affiliated_with_this_advertisement (sptr_database_entry);				(void) ospf_free_database_entry (sptr_database_entry);				sptr_database_entry = NULL;				}			else if ((sptr_database_entry->sptr_ls_database_retrans == NULL) &&				(ospf.number_of_neighbors_in_exchange_state == ospf.number_of_neighbors_in_full_state))				{				ospf_clean_up_retransmit_lists_affiliated_with_this_advertisement (sptr_database_entry);				(void) ospf_free_database_entry (sptr_database_entry);				sptr_database_entry = NULL;				}			}		}	semGive (ospf_global_mutex );	return 0;}/***********************************************************************************************************************************//*	Function: ospfRemoveAllTypes	Input: None	RETURNS: int - 0|-1	Description: This function removes all the type opaque lsas from the opaque lsdb.*/int ospfRemoveAllTypes(){	ospfRemoveAllType9();	ospfRemoveAllType10();	ospfRemoveAllType11();	return 0;}/***********************************************************************************************************************************//*	Function: ospfRegisterOpaqueCallback	Input: BYTE - lsa_type		   BYTE  - opaque_type		   int (* new_interface_hook)(struct OSPF_INTERFACE *interface) - Function pointer to new interface		   int (* delete_interface_hook)(struct OSPF_INTERFACE *interface) - Function pointer to delete interface		   void (* interface_state_machine_change_hook)(enum OSPF_INTERFACE_EVENT event,enum OSPF_INTERFACE_STATE state,struct OSPF_INTERFACE *interface) - Function pointer to interface state machine change		   void (* neighbor_state_machine_change_hook)(enum OSPF_NEIGHBOR_EVENT event,enum OSPF_NEIGHBOR_STATE state,struct OSPF_INTERFACE *sptr_interface, struct OSPF_NEIGHBOR *neighbor) - Function pointer to neighbor state machine change		   int (* opaque_lsa_originate_hook)(void *arg, BYTE lsa_type, BYTE opaque_type, USHORT age) - Function pointer to originate an opaque lsa		   void (* opaque_lsa_refresh_hook)(void *arg, BYTE lsa_type, ULONG opaque_lsid, USHORT age) - Function pointer to refresh an opaque lsa		   void (* opaque_lsa_received_hook)(UNION_OSPF_LINK_STATE_ADVERTISEMENT *sptr_advertisement) - - Function pointer to receive an opaque lsa	RETURNS: int - 0|-1	Description: This function registers the callback functions to traffic engineering extensions.*/int ospfRegisterOpaqueCallback(BYTE lsa_type, BYTE opaque_type, int (* new_interface_hook)(struct OSPF_INTERFACE *interface),											int (* delete_interface_hook)(struct OSPF_INTERFACE *interface),											void (* interface_state_machine_change_hook)(enum OSPF_INTERFACE_EVENT event,enum OSPF_INTERFACE_STATE state,struct OSPF_INTERFACE *interface),											void (* neighbor_state_machine_change_hook)(enum OSPF_NEIGHBOR_EVENT event,enum OSPF_NEIGHBOR_STATE state,struct OSPF_INTERFACE *sptr_interface, struct OSPF_NEIGHBOR *neighbor),											int (* opaque_lsa_originate_hook)(void *arg, BYTE lsa_type, BYTE opaque_type, USHORT age),											void (* opaque_lsa_refresh_hook)(void *arg, BYTE lsa_type, ULONG opaque_lsid, USHORT age),											void (* opaque_lsa_received_hook)(UNION_OSPF_LINK_STATE_ADVERTISEMENT *sptr_advertisement)){	OSPF_OPAQUE_CALLBACK	*sptr_opaque_callback;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospfRegisterOpaqueCallback\r\n");	semTake (ospf_global_mutex , WAIT_FOREVER);	if (ospf.opaque_capability == TRUE)		{		sptr_opaque_callback = (OSPF_OPAQUE_CALLBACK *)table_malloc(1, sizeof(OSPF_OPAQUE_CALLBACK));		if (sptr_opaque_callback == NULL)			{			semGive (ospf_global_mutex );			return -1;			}		sptr_opaque_callback->lsa_type = lsa_type;		sptr_opaque_callback->opaque_type = opaque_type;		sptr_opaque_callback->new_interface_hook = new_interface_hook;		sptr_opaque_callback->delete_interface_hook = delete_interface_hook;		sptr_opaque_callback->interface_state_machine_change_hook = interface_state_machine_change_hook;		sptr_opaque_callback->neighbor_state_machine_change_hook = neighbor_state_machine_change_hook;		sptr_opaque_callback->opaque_lsa_originate_hook = opaque_lsa_originate_hook;		sptr_opaque_callback->opaque_lsa_refresh_hook = opaque_lsa_refresh_hook;		sptr_opaque_callback->opaque_lsa_received_hook = opaque_lsa_received_hook;		switch (lsa_type)			{			case OSPF_LS_TYPE_9:				if (ospf.sptr_type_9_callback_list_head == NULL)					{					ospf.sptr_type_9_callback_list_head = sptr_opaque_callback;					}				else					{					ospf_add_node_to_end_of_list ((OSPF_GENERIC_NODE *) sptr_opaque_callback,						(OSPF_GENERIC_NODE *) ospf.sptr_type_9_callback_list_head);					}				break;			case OSPF_LS_TYPE_10:				if (ospf.sptr_type_10_callback_list_head == NULL)					{					ospf.sptr_type_10_callback_list_head = sptr_opaque_callback;					}				else					{					ospf_add_node_to_end_of_list ((OSPF_GENERIC_NODE *) sptr_opaque_callback,						(OSPF_GENERIC_NODE *) ospf.sptr_type_10_callback_list_head);					}				break;			case OSPF_LS_TYPE_11:				if (ospf.sptr_type_11_callback_list_head == NULL)					{					ospf.sptr_type_11_callback_list_head = sptr_opaque_callback;					}				else					{					ospf_add_node_to_end_of_list ((OSPF_GENERIC_NODE *) sptr_opaque_callback,						(OSPF_GENERIC_NODE *) ospf.sptr_type_11_callback_list_head);					}				break;			default:				semGive (ospf_global_mutex );				return -1;			}		semGive (ospf_global_mutex );		return 0;		}	else		{		semGive (ospf_global_mutex );		return -1;		}}/***********************************************************************************************************************************//*	Function: ospfDeregisterOpaqueCallback	Input: BYTE - lsa_type		   BYTE  - opaque_type	RETURNS: int - 0|-1	Description: This function deregisters the callback functions to traffic engineering extensions.*/int ospfDeregisterOpaqueCallback(BYTE lsa_type, BYTE opaque_type){	OSPF_OPAQUE_CALLBACK	*sptr_opaque_callback;	OSPF_OPAQUE_CALLBACK	*sptr_next_node;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospfDeregisterOpaqueCallback\r\n");	semTake (ospf_global_mutex , WAIT_FOREVER);	if (ospf.opaque_capability == TRUE)		{		switch (lsa_type)			{			case OSPF_LS_TYPE_9:				for (sptr_opaque_callback = ospf.sptr_type_9_callback_list_head; sptr_opaque_callback != NULL; sptr_opaque_callback = sptr_next_node)					{					sptr_next_node = sptr_opaque_callback->sptr_forward_link;					if ((sptr_opaque_callback->lsa_type == lsa_type) && (sptr_opaque_callback->opaque_type == opaque_type))						{						ospf_remove_node_from_list ((OSPF_GENERIC_NODE **) &ospf.sptr_type_9_callback_list_head, (OSPF_GENERIC_NODE *)sptr_opaque_callback);						table_free ((void *) sptr_opaque_callback);						sptr_opaque_callback = NULL;						semGive (ospf_global_mutex );						return 0;						}					}				break;			case OSPF_LS_TYPE_10:				for (sptr_opaque_callback = ospf.sptr_type_10_callback_list_head; sptr_opaque_callback != NULL; sptr_opaque_callback = sptr_next_node)					{					sptr_next_node = sptr_opaque_callback->sptr_forward_link;					if ((sptr_opaque_callback->lsa_type == lsa_type) && (sptr_opaque_callback->opaque_type == opaque_type))						{						ospf_remove_node_from_list ((OSPF_GENERIC_NODE **) &ospf.sptr_type_10_callback_list_head, (OSPF_GENERIC_NODE *)sptr_opaque_callback);						table_free ((void *) sptr_opaque_callback);						sptr_opaque_callback = NULL;						semGive (ospf_global_mutex );						return 0;						}					}				break;			case OSPF_LS_TYPE_11:				for (sptr_opaque_callback = ospf.sptr_type_11_callback_list_head; sptr_opaque_callback != NULL; sptr_opaque_callback = sptr_next_node)					{					sptr_next_node = sptr_opaque_callback->sptr_forward_link;					if ((sptr_opaque_callback->lsa_type == lsa_type) && (sptr_opaque_callback->opaque_type == opaque_type))						{						ospf_remove_node_from_list ((OSPF_GENERIC_NODE **) &ospf.sptr_type_11_callback_list_head, (OSPF_GENERIC_NODE *)sptr_opaque_callback);						table_free ((void *) sptr_opaque_callback);						sptr_opaque_callback = NULL;						semGive (ospf_global_mutex );						return 0;						}					}				break;			default:				semGive (ospf_global_mutex );				return -1;			}		semGive (ospf_global_mutex );		return -1;		}	else		{		semGive (ospf_global_mutex );		return -1;		}}/***********************************************************************************************************************************//*	Function: ospfDeregAllOpqCallback	Input: None	RETURNS: int - 0|-1	Description: This function deregisters all the callback functions to traffic engineering extensions.*/int ospfDeregAllOpqCallback(){	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospfDeregAllOpqCallback\r\n");	semTake (ospf_global_mutex , WAIT_FOREVER);	if (ospf.opaque_capability == TRUE)		{		if (ospf.sptr_type_9_callback_list_head != NULL)			{			ospf_free_entire_list ((OSPF_GENERIC_NODE*) ospf.sptr_type_9_callback_list_head);			}		ospf.sptr_type_9_callback_list_head = NULL;		if (ospf.sptr_type_10_callback_list_head != NULL)			{			ospf_free_entire_list ((OSPF_GENERIC_NODE*) ospf.sptr_type_10_callback_list_head);			}		ospf.sptr_type_10_callback_list_head = NULL;		if (ospf.sptr_type_11_callback_list_head != NULL)			{			ospf_free_entire_list ((OSPF_GENERIC_NODE*) ospf.sptr_type_11_callback_list_head);			}		ospf.sptr_type_11_callback_list_head = NULL;		semGive (ospf_global_mutex );		return 0;		}	else		{		semGive (ospf_global_mutex );		return -1;		}}/***********************************************************************************************************************************//*	Function: ospfRetrieveOpaqueCallback	Input: BYTE - lsa_type		   BYTE - opaque_type	RETURNS: int - 0|-1	Description: This function retrieves the callback functions to traffic engineering extensions.*/OSPF_OPAQUE_CALLBACK *ospfRetrieveOpaqueCallback(BYTE lsa_type, BYTE opaque_type){	OSPF_OPAQUE_CALLBACK	*sptr_opaque_callback;	OSPF_OPAQUE_CALLBACK	*sptr_next_node;	OSPF_PRINTF_DEBUG (OSPF_DEBUG_PRINTF, "OSPF: Entering ospfRetrieveOpaqueCallback\r\n");	semTake (ospf_global_mutex , WAIT_FOREVER);	if (ospf.opaque_capability == TRUE)		{		switch (lsa_type)			{			case OSPF_LS_TYPE_9:				for (sptr_opaque_callback = ospf.sptr_type_9_callback_list_head; sptr_opaque_callback != NULL; sptr_opaque_callback = sptr_next_node)					{					sptr_next_node = sptr_opaque_callback->sptr_forward_link;					if ((sptr_opaque_callback->lsa_type == lsa_type) && (sptr_opaque_callback->opaque_type == opaque_type))						{						semGive (ospf_global_mutex );						return sptr_opaque_callback;						}					}				break;			case OSPF_LS_TYPE_10:				for (sptr_opaque_callback = ospf.sptr

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码国产乱码精品精小说| 国产调教视频一区| 欧美日韩国产bt| 精品国产免费人成在线观看| 国产精品午夜久久| 亚洲一二三四区不卡| 日韩精品一级中文字幕精品视频免费观看| 日韩和的一区二区| 国产剧情一区在线| 色哟哟一区二区在线观看| 91精品国产全国免费观看| 久久中文娱乐网| 一区二区三区在线视频观看58| 午夜天堂影视香蕉久久| 国内国产精品久久| 一本一本大道香蕉久在线精品| 国产欧美日韩另类一区| 麻豆视频观看网址久久| 欧洲亚洲精品在线| 中文字幕在线观看一区| 激情深爱一区二区| 91麻豆精品国产自产在线| 一区二区三区在线看| 国产成人8x视频一区二区 | 精品国产乱码久久久久久图片| 国产肉丝袜一区二区| 久久国内精品自在自线400部| 91国在线观看| 亚洲最大色网站| 色呦呦国产精品| 欧美国产一区在线| 亚洲欧洲国产日本综合| 蜜臀av性久久久久蜜臀aⅴ四虎 | 精品福利视频一区二区三区| 国产精品福利av| 亚洲成人综合在线| av在线不卡观看免费观看| 26uuu色噜噜精品一区| 一区二区三区 在线观看视频| 国产一区二区三区| 久久久午夜电影| 国产一区二区三区在线观看免费 | 亚洲国产精品一区二区久久恐怖片 | 成人性生交大片免费看中文| 国产精品人成在线观看免费| 国模娜娜一区二区三区| 久久久久久久网| 成a人片亚洲日本久久| 精品久久久久久最新网址| 日韩av中文字幕一区二区 | 一区二区三区四区不卡在线| 在线观看日韩高清av| 亚洲成在人线免费| 日韩精品一区二区三区在线播放 | 精品国产乱码久久久久久久| 国产一区二区毛片| 国产精品拍天天在线| 日本精品免费观看高清观看| 精品一区二区免费在线观看| 中文字幕亚洲视频| 在线不卡免费欧美| 成人丝袜高跟foot| 亚洲一区二区三区不卡国产欧美| 国产欧美日韩三级| 欧美一区二区三区在线观看| www.性欧美| 国产一区二区三区最好精华液| 亚洲一区二区三区四区在线观看 | 夜夜嗨av一区二区三区四季av| 777久久久精品| 99精品在线免费| 日韩激情视频在线观看| 亚洲女与黑人做爰| 26uuu国产一区二区三区| 91丨九色丨蝌蚪丨老版| 丝袜a∨在线一区二区三区不卡| 久久亚洲一区二区三区明星换脸| 欧美性xxxxxx少妇| 国产精品白丝jk黑袜喷水| 麻豆国产一区二区| 美国三级日本三级久久99| 亚洲国产成人av| 亚洲成a人v欧美综合天堂| 亚洲欧美日韩电影| 一区二区三区自拍| 亚洲欧美另类小说| 亚洲色图欧美激情| 亚洲色图欧洲色图| 亚洲精品日韩综合观看成人91| 亚洲色图在线看| 亚洲精品写真福利| 一区二区三区高清不卡| 五月天婷婷综合| 美女性感视频久久| 国产成人av一区二区| 99在线精品免费| 精品第一国产综合精品aⅴ| 国产精品天干天干在观线| 欧美aa在线视频| 懂色av中文一区二区三区| 51久久夜色精品国产麻豆| 久久先锋影音av鲁色资源网| 亚洲欧洲成人av每日更新| 天天操天天色综合| 91久久精品一区二区| 日韩一区国产二区欧美三区| 亚洲一区在线免费观看| 北岛玲一区二区三区四区| 制服丝袜在线91| 一片黄亚洲嫩模| 高清免费成人av| 久久精品一区八戒影视| 日韩精彩视频在线观看| 色综合久久久久综合体桃花网| 精品国产亚洲一区二区三区在线观看| 一区二区成人在线| 99久久综合精品| 欧美国产欧美综合| 国产一区二区影院| 久久亚洲一级片| 国产成人免费在线观看不卡| www激情久久| 国产风韵犹存在线视精品| 精品少妇一区二区三区在线视频| 一区二区三区丝袜| 欧美亚洲综合色| 亚洲欧美乱综合| 91久久精品日日躁夜夜躁欧美| **性色生活片久久毛片| 一本久久a久久免费精品不卡| 亚洲一卡二卡三卡四卡五卡| 成人av网站免费观看| 综合久久久久久久| 色婷婷av一区二区| 精品无人码麻豆乱码1区2区| 中文字幕精品—区二区四季| 91天堂素人约啪| 国产美女视频一区| 亚洲黄色小说网站| 色先锋aa成人| 理论片日本一区| 亚洲线精品一区二区三区八戒| 精品欧美一区二区久久| 欧美色综合天天久久综合精品| 成人性生交大合| 美腿丝袜一区二区三区| 欧美日韩在线一区二区| 国产中文字幕一区| 亚洲动漫第一页| 久久夜色精品国产噜噜av| 色悠悠亚洲一区二区| 九九精品一区二区| 日韩av中文字幕一区二区三区| 国产日韩欧美a| 欧美福利视频导航| 欧美日韩国产美女| 色婷婷久久一区二区三区麻豆| 国产精品一区二区在线观看不卡 | 欧美96一区二区免费视频| 国产亚洲欧洲997久久综合| 欧美日韩成人综合| 91豆麻精品91久久久久久| 成人免费的视频| 成人激情动漫在线观看| 国产乱妇无码大片在线观看| 午夜影视日本亚洲欧洲精品| 亚洲一级二级三级| 亚洲最大成人网4388xx| 国产精品成人免费精品自在线观看| 精品国产乱码久久久久久久久| 日韩欧美一区二区在线视频| 欧美人与性动xxxx| 成人毛片老司机大片| 91麻豆产精品久久久久久| 成人视屏免费看| 91久久精品网| 51午夜精品国产| 欧美videos大乳护士334| 精品国产乱码久久久久久牛牛| 精品国内二区三区| 国产亲近乱来精品视频| 亚洲精品中文字幕乱码三区| 亚洲图片有声小说| 国产精品白丝av| 日本国产一区二区| 日韩欧美一二三区| 自拍偷拍国产精品| 国产乱子轮精品视频| 美女www一区二区| 国产一区二区成人久久免费影院| 欧美日韩高清一区| 亚洲日本青草视频在线怡红院| 狠狠色丁香久久婷婷综合_中| 欧美电影一区二区| 午夜成人免费电影| 色综合亚洲欧洲| 亚洲少妇中出一区| 99re66热这里只有精品3直播| 中文字幕乱码久久午夜不卡 | 国产欧美日产一区|