📄 ospf_container_functions.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 + -