SNMP Manager Programmer's Guide
Programming Examples
SNMP Manager Programmer’s Guide–134249
2-101
SNMPTRAP
   name = ptr + 1;
  } /* of while */
  /* if IP address contains invalid no. of dots exit */
  if ( dots < 3)
  {
  fprintf(stderr, "Invalid target host identifier %s\n", hostname);
  exit(0);
  }
  if ((host_addr = inet_addr(hostname)) == INVALID_HOST_ADDR)
  {
  fprintf(stderr, "Invalid target host identifier %s\n", hostname);
  exit(0);
  }
 } else
 {
  if ((host = gethostbyname(hostname)) == (struct hostent *)0)
  {
   fprintf(stderr, "Cannot locate host %s\n", hostname);
   exit(0);
  }
  host_addr = *(u_long *)(host->h_addr);
 }
 dest.sin_addr.s_addr =  host_addr;
 if ((sd = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
 {
  perror("Can't get socket");
  exit(0);
 }
 if (entstr) <--7
 {
  if (oidstr_to_oid(entstr, &base_oid) < 0)
  {
   fprintf(stderr, "Bad enterprise object identifier: %s\n", entstr);
   exit(0);
  }
 } else
 {
  base_oid.num_components = snmp_product_id_count;
  for (i = 0; i < snmp_product_id_count; i++)
   base_oid.component_list[i] = snmp_product_id[i];
 }
Example 2-13. Contents of snmptrpc (page 5 of 10)










