.TH "netsnmp_iterator_info_s" 3 "24 Jun 2011" "Version 5.4.3.pre1" "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.
