.TH "netsnmp_iterator_info_s" 3 "31 May 2012" "Version 5.5.2.rc2" "net-snmp" \" -*- nroff -*-
.ad l
.nh
.SH NAME
netsnmp_iterator_info_s \- 
.PP
Holds iterator information containing functions which should be called by the iterator_handler to loop over your data set and sort it in a SNMP specific manner.  

.SH SYNOPSIS
.br
.PP
.PP
\fC#include <table_iterator.h>\fP
.SS "Data Fields"

.in +1c
.ti -1c
.RI "Netsnmp_First_Data_Point * \fBget_first_data_point\fP"
.br
.RI "\fIResponsible for: returning the first set of 'index' data, a loop-context pointer, and optionally a data context pointer. \fP"
.ti -1c
.RI "Netsnmp_Next_Data_Point * \fBget_next_data_point\fP"
.br
.RI "\fIGiven the previous loop context, this should return the next loop context, associated index set and optionally a data context. \fP"
.ti -1c
.RI "Netsnmp_Make_Data_Context * \fBmake_data_context\fP"
.br
.RI "\fIIf a data context wasn't supplied by the get_first_data_point or get_next_data_point functions and the make_data_context pointer is defined, it will be called to convert a loop context into a data context. \fP"
.ti -1c
.RI "Netsnmp_Free_Loop_Context * \fBfree_loop_context\fP"
.br
.RI "\fIA function which should free the loop context. \fP"
.ti -1c
.RI "Netsnmp_Free_Data_Context * \fBfree_data_context\fP"
.br
.RI "\fIFrees a data context. \fP"
.ti -1c
.RI "Netsnmp_Free_Loop_Context * \fBfree_loop_context_at_end\fP"
.br
.RI "\fIFrees a loop context at the end of the entire iteration sequence. \fP"
.ti -1c
.RI "void * \fBmyvoid\fP"
.br
.RI "\fIThis can be used by client handlers to store any information they need. \fP"
.ti -1c
.RI "int \fBflags\fP"
.br
.ti -1c
.RI "\fBnetsnmp_table_registration_info\fP * \fBtable_reginfo\fP"
.br
.RI "\fIA pointer to the netsnmp_table_registration_info object this iterator is registered along with. \fP"
.ti -1c
.RI "Netsnmp_First_Data_Point * \fBget_row_indexes\fP"
.br
.ti -1c
.RI "\fBnetsnmp_variable_list\fP * \fBindexes\fP"
.br
.in -1c
.SH "Detailed Description"
.PP 
Holds iterator information containing functions which should be called by the iterator_handler to loop over your data set and sort it in a SNMP specific manner. 

The netsnmp_iterator_info typedef can be used instead of directly calling this struct if you would prefer. 
.PP
Definition at line 53 of file table_iterator.h.
.SH "Field Documentation"
.PP 
.SS "Netsnmp_Free_Data_Context* \fBnetsnmp_iterator_info_s::free_data_context\fP"
.PP
Frees a data context. This will be called at any time a data context needs to be freed. This may be at the same time as a correspondng loop context is freed, or much much later. Multiple data contexts may be kept in existence at any time. 
.PP
Definition at line 82 of file table_iterator.h.
.SS "Netsnmp_Free_Loop_Context* \fBnetsnmp_iterator_info_s::free_loop_context\fP"
.PP
A function which should free the loop context. This function is called at *each* iteration step, which is not-optimal for speed purposes. The use of free_loop_context_at_end instead is strongly encouraged. This can be set to NULL to avoid its usage. 
.PP
Definition at line 75 of file table_iterator.h.
.SS "Netsnmp_Free_Loop_Context* \fBnetsnmp_iterator_info_s::free_loop_context_at_end\fP"
.PP
Frees a loop context at the end of the entire iteration sequence. Generally, this would free the loop context allocated by the get_first_data_point function (which would then be updated by each call to the get_next_data_point function). It is not called until the get_next_data_point function returns a NULL 
.PP
Definition at line 90 of file table_iterator.h.
.SS "Netsnmp_First_Data_Point* \fBnetsnmp_iterator_info_s::get_first_data_point\fP"
.PP
Responsible for: returning the first set of 'index' data, a loop-context pointer, and optionally a data context pointer. 
.PP
Definition at line 57 of file table_iterator.h.
.SS "Netsnmp_Next_Data_Point* \fBnetsnmp_iterator_info_s::get_next_data_point\fP"
.PP
Given the previous loop context, this should return the next loop context, associated index set and optionally a data context. 
.PP
Definition at line 62 of file table_iterator.h.
.SS "Netsnmp_Make_Data_Context* \fBnetsnmp_iterator_info_s::make_data_context\fP"
.PP
If a data context wasn't supplied by the get_first_data_point or get_next_data_point functions and the make_data_context pointer is defined, it will be called to convert a loop context into a data context. 
.PP
Definition at line 68 of file table_iterator.h.
.SS "void* \fBnetsnmp_iterator_info_s::myvoid\fP"
.PP
This can be used by client handlers to store any information they need. 
.PP
Definition at line 94 of file table_iterator.h.
.SS "\fBnetsnmp_table_registration_info\fP* \fBnetsnmp_iterator_info_s::table_reginfo\fP"
.PP
A pointer to the netsnmp_table_registration_info object this iterator is registered along with. 
.PP
Definition at line 100 of file table_iterator.h.

.SH "Author"
.PP 
Generated automatically by Doxygen for net-snmp from the source code.
