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)










