4 #ifndef _TABLE_ITERATOR_HANDLER_H_
5 #define _TABLE_ITERATOR_HANDLER_H_
11 struct netsnmp_iterator_info_s;
13 typedef netsnmp_variable_list *(Netsnmp_First_Data_Point) (void
20 netsnmp_iterator_info_s
22 typedef netsnmp_variable_list *(Netsnmp_Next_Data_Point) (void
29 netsnmp_iterator_info_s
31 typedef void *(Netsnmp_Make_Data_Context) (void *loop_context,
33 netsnmp_iterator_info_s
35 typedef void (Netsnmp_Free_Loop_Context) (void *,
37 netsnmp_iterator_info_s
39 typedef void (Netsnmp_Free_Data_Context) (void *,
41 netsnmp_iterator_info_s
44 typedef struct netsnmp_iterator_info_s {
45 Netsnmp_First_Data_Point *get_first_data_point;
46 Netsnmp_Next_Data_Point *get_next_data_point;
47 Netsnmp_Make_Data_Context *make_data_context;
48 Netsnmp_Free_Loop_Context *free_loop_context;
49 Netsnmp_Free_Data_Context *free_data_context;
50 Netsnmp_Free_Loop_Context *free_loop_context_at_end;
54 netsnmp_table_registration_info *table_reginfo;
55 } netsnmp_iterator_info;
57 #define TABLE_ITERATOR_NAME "table_iterator"
60 *netsnmp_get_table_iterator_handler(netsnmp_iterator_info *iinfo);
62 netsnmp_register_table_iterator(netsnmp_handler_registration
64 netsnmp_iterator_info *iinfo);
66 void *netsnmp_extract_iterator_context(netsnmp_request_info
69 Netsnmp_Node_Handler netsnmp_table_iterator_helper_handler;
75 #endif /* _TABLE_ITERATOR_HANDLER_H_ */