netsnmp_variable_list * nsModuleTable_get_first_data_point(void **my_loop_context, void **my_data_context, netsnmp_variable_list * put_index_data, netsnmp_iterator_info *otherstuff) { struct variable_list *vptr; u_long ultmp; context_tree_ptr *ctree; ctree = SNMP_MALLOC_TYPEDEF(context_tree_ptr); ctree->context_ptr = get_top_context_cache(); ctree->tree = ctree->context_ptr->first_subtree; *my_loop_context = ctree; *my_data_context = ctree->tree; vptr = put_index_data; snmp_set_var_value(vptr, (u_char *) ctree->context_ptr->context_name, strlen(ctree->context_ptr->context_name)); vptr = vptr->next_variable; snmp_set_var_value(vptr, (u_char *)ctree->context_ptr->first_subtree->name_a, ctree->context_ptr->first_subtree->namelen * sizeof(oid)); ultmp = ctree->context_ptr->first_subtree->priority; vptr = vptr->next_variable; snmp_set_var_value(vptr, (u_char *) & ultmp, sizeof(ultmp)); return put_index_data; }
/* * return the index data from the first node in the agent's * subtree_context_cache list. */ netsnmp_variable_list * get_first_context(void **my_loop_context, void **my_data_context, netsnmp_variable_list * put_data, netsnmp_iterator_info *iinfo) { subtree_context_cache *context_ptr; context_ptr = get_top_context_cache(); if (!context_ptr) return NULL; *my_loop_context = context_ptr; *my_data_context = context_ptr; snmp_set_var_value(put_data, context_ptr->context_name, strlen(context_ptr->context_name)); return put_data; }