SNMP Subagent Programmer's Guide

Programming Tutorials
SNMP Subagent Programmer’s Guide—119728 2-77
System Time Manager
/* Let the agent know information what we're responsible for. */
if ((mgmt_systime_handle = mgmt_new_instance(mgmt_env,
<-- 4
&SMI_GROUP_systime,
(void *)NULL)) == NULL)
{
(void) fprintf(stderr, "%s: mgmt_new_instance failure\n", argv[0], stderr);
mgmt_term_env(mgmt_env);
mgmt_env = NULL;
return(3);
}
for (;;)
<-- 5
{ /* Wait for something to happen, either alarm or
* some kind of management operation */
if (mgmt_poll(mgmt_env, (struct timeval *) NULL,&dummy) < 0 )
<-- 6
{
(void) fprintf(stderr, "%s: agent unavailable\n",
argv[0], stderr);
break;
}
}
/* We encountered an unrecoverable condition. Clean
* up and go away. */
if (mgmt_env)
{
if (mgmt_systime_handle)
{
mgmt_del_instance(mgmt_env, mgmt_systime_handle);
<-- 7
mgmt_systime_handle = NULL;
}
mgmt_term_env(mgmt_env);
<-- 8
mgmt_env = NULL;
}
return(0);
}
Example 2-15. System Time Manager Main Program (page 2 of 2)