container_iterator.h
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:2k
- /**
- * @file container_iterator.h
- * @addtogroup container_iterator
- * @{
- */
- #ifndef _CONTAINER_ITERATOR_HANDLER_H_
- #define _CONTAINER_ITERATOR_HANDLER_H_
- #include "container.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef int (Netsnmp_Iterator_Loop_Key) (void *iterator_ctx,
- netsnmp_ref_void* loop_ctx,
- netsnmp_ref_void* key);
- typedef int (Netsnmp_Iterator_Loop_Data)(void *iterator_ctx,
- netsnmp_ref_void* loop_ctx,
- netsnmp_ref_void* data);
- typedef int (Netsnmp_Iterator_Ctx) (void *iterator_ctx,
- netsnmp_ref_void* loop_ctx);
- typedef int (Netsnmp_Iterator_Ctx_Dup) (void *iterator_ctx,
- netsnmp_ref_void* loop_ctx,
- netsnmp_ref_void* dup_ctx,
- int reuse);
- typedef int (Netsnmp_Iterator_Op) (void *iterator_ctx);
- typedef int (Netsnmp_Iterator_Data) (void *iterator_ctx,
- const void *data);
- void netsnmp_container_iterator_init(void);
- netsnmp_container* netsnmp_container_iterator_get(
- void *iterator_user_ctx,
- netsnmp_container_compare * compare,
- Netsnmp_Iterator_Loop_Key * get_first,
- Netsnmp_Iterator_Loop_Key * get_next,
- Netsnmp_Iterator_Loop_Data * get_data,
- Netsnmp_Iterator_Ctx_Dup * save_pos, /* iff returning static data */
- Netsnmp_Iterator_Ctx * init_loop_ctx,
- Netsnmp_Iterator_Ctx * cleanup_loop_ctx,
- Netsnmp_Iterator_Data * free_user_ctx,
- int sorted);
-
- /*
- * set up optional callbacks/
- * NOTE: even though the first parameter is a generic netsnmp_container,
- * this function should only be called for a container created
- * by netsnmp_container_iterator_get.
- */
- void
- netsnmp_container_iterator_set_data_cb(netsnmp_container *c,
- Netsnmp_Iterator_Data * insert_data,
- Netsnmp_Iterator_Data * remove_data,
- Netsnmp_Iterator_Op * get_size);
- #ifdef __cplusplus
- }
- #endif
- #endif /* _CONTAINER_ITERATOR_HANDLER_H_ */
- /** @} */