This is a multi-part message in MIME format.

--===============0585076610==
Content-class: urn:content-classes:message
Content-Type: multipart/alternative;
boundary="----_=_NextPart_001_01C771FD.7254412B"

This is a multi-part message in MIME format.

------_=_NextPart_001_01C771FD.7254412B
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


Hi,
Greetings to everyone.

Regarding my project , i am using Net Snmp 5.3.0.1
I have generated the .c code by using mib2c tool with iterator conf =
option.
The Snmp agent implement like that i wont have the data directly,it will =
be getting by other lower layers.

In the get_first and get_next routines, i am using position coount as my =
loop context.
Here with i have given the sample code for you reference.

The issue, i have faced, During getBulk query ,i have retrieved all the =
rows from the table e.g 40 rows.
After that, it will call netsnmp next table handler api.

Any one of you, help me to resolve this issue, so that during getbulk, =
it wont start call another table api.

Here is the sample code...

netsnmp_variable_list *
ontEqpmtTable_get_first_data_point(void **my_loop_context,
void **my_data_context,
netsnmp_variable_list *put_index_data,
netsnmp_iterator_info *mydata)
{ =20
netsnmp_variable_list *vptr;
ontEqpmtTableEntry* myEntry;
=09
/* We use the positinonal count as our loop context */
int *position =3D (int*)malloc(sizeof(int));
*position =3D 0;


*my_loop_context =3D position /** XXX */ ;

myEntry =3D getEqpmtOntIndex();

*my_data_context =3D (void *)&myEntry[*position] /** XXX */ ;

vptr =3D put_index_data;

snmp_set_var_value(vptr, (u_char *)&myEntry[*position].ontID,
sizeof(&myEntry[*position].ontID));
=09
vptr =3D vptr->next_variable;

return put_index_data;
}


netsnmp_variable_list *
ontEqpmtTable_get_next_data_point(void **my_loop_context,
void **my_data_context,
netsnmp_variable_list *put_index_data,
netsnmp_iterator_info *mydata)
{
=20
netsnmp_variable_list *vptr;
ontEqpmtTableEntry *myEntry;

int *position =3D (int *) *my_loop_context;

/* make sure we were called correctly */
if (!position)
return NULL;

/* go to the next route in the list */
(*position)++;

printf("Value of position =3D %d\n",*position);
/* change for no of rows.....*/
/* Are we beyond the end? */
if (*position > 32 ) =20
{
=09
=09
/* End of routes. stop here by returning NULL */
SNMP_FREE(position);
*my_loop_context =3D NULL;
*my_data_context =3D NULL;
free(Eqpmtentry);
return NULL;
}

*my_loop_context =3D position /** XXX */ ;

myEntry =3D getEqpmtOntIndex();

*my_data_context =3D (void *)&myEntry[*position] /** XXX */ ;

vptr =3D put_index_data;

snmp_set_var_value(vptr, (u_char *)&myEntry[*position].ontID,
sizeof(&myEntry[*position].ontID));
=20
vptr =3D vptr->next_variable;

return put_index_data;
}








With thanks and Regards,
D.SenthilNathan




------_=_NextPart_001_01C771FD.7254412B
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable




charset=3Diso-8859-1">
6.5.7651.59">
During getBulk






Hi,

Greetings to everyone.



Regarding my project , i am using Net Snmp 5.3.0.1

I have generated the .c code by using mib2c tool with iterator =
conf  option.

The Snmp agent implement like that i wont have the data directly,it will =
be getting by other lower layers.



In the get_first and get_next routines, i am using position coount as my =
loop context.

Here with i have given the sample code for you reference.



The issue, i have faced, During getBulk query ,i have retrieved all the =
rows from the table e.g 40 rows.

After that, it will call netsnmp next table handler api.



Any one of you, help me to resolve this issue, so that during getbulk, =
it wont start call another table api.



Here is the sample code...



netsnmp_variable_list *

ontEqpmtTable_get_first_data_point(void **my_loop_context,

            &=
nbsp;           &n=
bsp; void **my_data_context,

            &=
nbsp;           &n=
bsp; netsnmp_variable_list *put_index_data,

            &=
nbsp;           &n=
bsp; netsnmp_iterator_info *mydata)

{    

    netsnmp_variable_list *vptr;

    ontEqpmtTableEntry* myEntry;

       

    /* We use the positinonal count as our loop context =
*/

    int *position =3D (int*)malloc(sizeof(int));

    *position =3D 0;





    *my_loop_context =3D position /** XXX */ ;



    myEntry =3D getEqpmtOntIndex();



    *my_data_context =3D (void *)&myEntry[*position] =
/** XXX */ ;



    vptr =3D put_index_data;



    snmp_set_var_value(vptr, (u_char =
*)&myEntry[*position].ontID,

            &=
nbsp;         =
sizeof(&myEntry[*position].ontID));

       

    vptr =3D vptr->next_variable;



    return put_index_data;

}





netsnmp_variable_list *

ontEqpmtTable_get_next_data_point(void **my_loop_context,

            &=
nbsp;           &n=
bsp; void **my_data_context,

            &=
nbsp;           &n=
bsp; netsnmp_variable_list *put_index_data,

            &=
nbsp;           &n=
bsp; netsnmp_iterator_info *mydata)

{

  

   netsnmp_variable_list *vptr;

   ontEqpmtTableEntry *myEntry;



    int *position =3D (int *) *my_loop_context;



    /* make sure we were called correctly */

    if (!position)

        return NULL;



    /* go to the next route in the list */

    (*position)++;



        printf("Value of =
position =3D %d\n",*position);

        /* change for no of =
rows.....*/

    /* Are we beyond the end? */

    if (*position > 32 ) 

    {

       

       

        /* End of routes.  stop =
here by returning NULL */

        SNMP_FREE(position);

        *my_loop_context =3D =
NULL;

        *my_data_context =3D =
NULL;

        free(Eqpmtentry);

        return NULL;

    }



    *my_loop_context =3D position /** XXX */ ;



      myEntry =3D getEqpmtOntIndex();



    *my_data_context =3D (void *)&myEntry[*position] =
/** XXX */ ;



      vptr =3D put_index_data;



      snmp_set_var_value(vptr, (u_char =
*)&myEntry[*position].ontID,

            &=
nbsp;         =
sizeof(&myEntry[*position].ontID));

         

    vptr =3D vptr->next_variable;



    return put_index_data;

}

















With thanks and Regards,

D.SenthilNathan












------_=_NextPart_001_01C771FD.7254412B--


--===============0585076610==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?p...rge&CID=DEVDEV
--===============0585076610==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Net-snmp-coders mailing list
Net-snmp-coders@lists.sourceforge.net
https://lists.sourceforge.net/lists/...et-snmp-coders

--===============0585076610==--