⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ospf_container_functions.h

📁 vxworks下ospf协议栈
💻 H
字号:
/* ospf_container_functions.h - OSPF container functions header file *//* Copyright 2003 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history-------------------01a,30may03,agi created (ported from RWOS)*/#if !defined (ospf_container_functions_h)#define ospf_container_functions_h#include "ospf_container.h"typedef OSPF_CONTAINER_ITERATOR (*FP_OSPF_CONTAINER_CREATE_ITERATOR) (OSPF_CONTAINER* p_rw_container);typedef void (*FP_OSPF_CONTAINER_FREE_ITERATOR) (OSPF_CONTAINER_ITERATOR* p_iterator);typedef OSPF_CONTAINER_ITERATOR (*FP_OSPF_CONTAINER_CREATE_COPY_OF_ITERATOR) (OSPF_CONTAINER_ITERATOR* p_iterator);typedef void (*FP_OSPF_CONTAINER_FREE) (OSPF_CONTAINER* p_rw_container);typedef bool (*FP_OSPF_CONTAINER_ADD_FRONT) (OSPF_CONTAINER* p_rw_container, const OSPF_CONTAINER_ITEM* p_item);typedef void (*FP_OSPF_CONTAINER_REMOVE_FRONT) (OSPF_CONTAINER* p_rw_container);typedef bool (*FP_OSPF_CONTAINER_ADD_BACK) (OSPF_CONTAINER* p_rw_container, const OSPF_CONTAINER_ITEM* p_item);typedef void (*FP_OSPF_CONTAINER_REMOVE_BACK) (OSPF_CONTAINER* p_rw_container);typedef bool (*FP_OSPF_CONTAINER_INSERT) (OSPF_CONTAINER_ITERATOR* p_iterator, const OSPF_CONTAINER_ITEM* p_item);typedef bool (*FP_OSPF_CONTAINER_REMOVE) (OSPF_CONTAINER_ITERATOR* p_iterator);typedef UINT (*FP_OSPF_CONTAINER_SIZE) (const OSPF_CONTAINER* p_rw_container);typedef OSPF_CONTAINER_ITEM* (*FP_OSPF_CONTAINER_FRONT) (const OSPF_CONTAINER* p_rw_container);typedef OSPF_CONTAINER_ITEM* (*FP_OSPF_CONTAINER_BACK) (const OSPF_CONTAINER* p_rw_container);typedef bool (*FP_OSPF_CONTAINER_IS_AT_FRONT) (OSPF_CONTAINER_ITERATOR* p_iterator);typedef bool (*FP_OSPF_CONTAINER_IS_AT_END) (OSPF_CONTAINER_ITERATOR* p_iterator);typedef void (*FP_OSPF_CONTAINER_GOTO_FRONT) (OSPF_CONTAINER_ITERATOR* p_iterator);typedef void (*FP_OSPF_CONTAINER_GOTO_END) (OSPF_CONTAINER_ITERATOR* p_iterator);   /* end == last + 1 */typedef bool (*FP_OSPF_CONTAINER_FIND_BY_CONTENT) (OSPF_CONTAINER_ITEM* p_item, OSPF_CONTAINER_ITERATOR* p_iterator_matched_item);typedef bool (*FP_OSPF_CONTAINER_FIND) (FP_OSPF_CONTAINER_ITEM_CRITERIA_MATCHER fp_criteria_matcher, OSPF_CONTAINER_CRITERIA* p_criteria,                        OSPF_CONTAINER_ITERATOR* p_iterator_matched_item);typedef bool (*FP_OSPF_CONTAINER_FIND_IN_RANGE) (OSPF_CONTAINER_ITERATOR* p_iterator_first, OSPF_CONTAINER_ITERATOR* p_iterator_last,                        FP_OSPF_CONTAINER_ITEM_CRITERIA_MATCHER fp_criteria_matcher, OSPF_CONTAINER_CRITERIA* p_criteria,                        OSPF_CONTAINER_ITERATOR* p_iterator_matched_item);typedef bool (*FP_OSPF_CONTAINER_NEXT) (OSPF_CONTAINER_ITERATOR* p_iterator);   /* return false if reaches the back. */typedef bool (*FP_OSPF_CONTAINER_PREVIOUS) (OSPF_CONTAINER_ITERATOR* p_iterator);   /* return false if reaches the front */typedef OSPF_CONTAINER_ITEM* (*FP_OSPF_CONTAINER_AT) (OSPF_CONTAINER_ITERATOR* p_iterator);typedef bool (*FP_OSPF_CONTAINER_SET_AT) (OSPF_CONTAINER_ITERATOR* p_iterator, const OSPF_CONTAINER_ITEM* p_item);typedef struct OSPF_CONTAINER_FUNCTIONS{    FP_OSPF_CONTAINER_CREATE_ITERATOR create_iterator;    FP_OSPF_CONTAINER_FREE free_container;    FP_OSPF_CONTAINER_ADD_FRONT add_at_front;    FP_OSPF_CONTAINER_REMOVE_FRONT remove_from_front;    FP_OSPF_CONTAINER_ADD_BACK add_at_back;    FP_OSPF_CONTAINER_REMOVE_BACK remove_from_back;    FP_OSPF_CONTAINER_SIZE get_container_size;    FP_OSPF_CONTAINER_FRONT get_item_at_front;    FP_OSPF_CONTAINER_BACK get_item_at_back;} OSPF_CONTAINER_FUNCTIONS;typedef struct RW_ITERATOR_FUNCTIONS{    FP_OSPF_CONTAINER_FREE_ITERATOR free_iterator;    FP_OSPF_CONTAINER_CREATE_COPY_OF_ITERATOR create_copy_of_iterator;    FP_OSPF_CONTAINER_INSERT insert_at_iterator;    FP_OSPF_CONTAINER_REMOVE remove_from_iterator;    FP_OSPF_CONTAINER_IS_AT_FRONT iterator_is_at_front;    FP_OSPF_CONTAINER_IS_AT_END iterator_is_at_end;    FP_OSPF_CONTAINER_GOTO_FRONT iterator_set_at_front;    FP_OSPF_CONTAINER_GOTO_END iterator_set_at_end; /* end == last + 1 */    FP_OSPF_CONTAINER_FIND_BY_CONTENT iterator_find_by_content;    FP_OSPF_CONTAINER_FIND iterator_find;    FP_OSPF_CONTAINER_FIND_IN_RANGE iterator_find_in_range;    FP_OSPF_CONTAINER_NEXT set_iterator_to_next_item;   /* return false if reaches the back. */    FP_OSPF_CONTAINER_PREVIOUS set_iterator_to_previous_item;   /* return false if reaches the front */    FP_OSPF_CONTAINER_AT get_item_at_iterator;    FP_OSPF_CONTAINER_SET_AT set_item_at_iterator;} RW_ITERATOR_FUNCTIONS;#endif /* ospf_container_functions_h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -