On Thu, Jul 3, 2008 at 11:13 AM, Dave Shield <[EMAIL PROTECTED]>
wrote:
> 2008/7/3 Victor Palacio <[EMAIL PROTECTED]>:
> >
> > I'm trying to use table iterator from code skeleton generated with
> > mib2c.iterate.conf.
> >
> > When I use snmptable on the agent, get_first_data_point function is
> > executed every time one column is consulted, so I suppose I must load
> > data for consulted row in data context.
> >
> > The problem is... How can I identify which row (index) is consulted
>
> You don't - that's the job of the iterator helper.
>
> You provide the get_{first,next}_data_point functions, which
> walk through the table in whatever order is most convenient.
>
> The iterator helper will identify the row(s) which are required for
> the current request. It then calls your handler routine, passing
> the data structure for that row, as suppied via the 'data_context'
> parameter of the two get_{first,next} routines.
>
>
> Dave
>
--
Thanks for your answer, Dave... but I still have problems with this.
My problem is that all rows are using the last data context, so I get same
information for all rows, although then number of rows is correct.
In _get_first_data_point, I ...
1)Create Loop and Data context,
2)set number of rows in loop context and,
3)call get_next_data_point
In get_next_data_point, I assume that I can use same data_context. Perhaps
must I allocate new data context in get_next_data_point?
Regards,
CODE:
myTable_get_next_data_point(void **my_loop_context, void **my_data_context,
netsnmp_variable_list *put_index_data,
netsnmp_iterator_info *mydata)
{
netsnmp_variable_list *vptr;
my_loop_info *loopctx = *my_loop_context;
my_data_info *datactx = *my_data_context;
if (!loopctx){
return NULL;
}
while (iter < loopctx->MAX_ROWS){
iter++;
/* OBTAIN VALUES A and B FOR ITER */
//...
datactx->index = iter;
datactx->A = A;
datactx->B = B;
vptr = put_index_data;
snmp_set_var_value(vptr, (u_char *) & datactx->index,
sizeof(datactx->index));
*my_loop_context = loopctx;
*my_data_context = datactx;
return put_index_data;
}
/* we're out of data */
*my_loop_context = NULL;
return NULL;
}
********************
Victor M. Palacio
********************
-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
_______________________________________________
Net-snmp-users mailing list
[email protected]
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users