SNMP Manager Programmer's Guide

Programming Examples
SNMP Manager Programmer’s Guide–134249
2-139
SNMPHOST Source Code
/* Send packet and receive response */
for (i = 0; i <= retrycnt; i++) <--43
{
if (i == 0)
{
firstid = requestid;
} else
{
fprintf(stdout, "\n---RESENDING PACKET---\n");
/* resetting request ID */
/*
* PDU request ID is reset to 1 by setting
* requestid to 0 and then incrementing it
*/
if (requestid == MAX_REQID_VALUE)
requestid = 0;
pkt1->pdu.std_pdu.request_id = ++requestid;
}
err1 = SNMP_WriteRead_ (host_int, pkt1, &recv_pkt1, &ebuffAux,
debug_level);
if (err1 != 0)
{
fprintf(stdout, "SNMP_WRITEREAD_ returned error %i (", err1);
fprintf(stdout, SNMP_FS_ErrMsg_ (err1, host_int->err_num));
fprintf(stdout, ")\n");
SNMP_Free(recv_pkt1);
} else break;
} /* for (i = 0; i <= retrycnt; i++) */
if (i > retrycnt) exit(0);
SNMP_Free(pkt1); <--44
EBufferReset(&ebuffAux);
pkt1 = recv_pkt1;
if (pkt1 == 0)
{
printf ("No data received when reading the aux table\n");
return 0;
}
Example 2-18. Contents of snmphosc (page 14 of 23)