SNMP Manager Programmer's Guide

Programming Examples
SNMP Manager Programmer’s Guide–134249
2-23
Managers Supporting UDP and IPC
return_remote: <--26
host_int->dest.sin_family = AF_INET;
host_int->dest.sin_port = htons(SNMP_REQUEST_PORT);
host_int->dest.sin_addr.s_addr = host_int->host_addr;
return REMOTE_HOSTNAME;
case CK_REMOTE_IP_EXPAND: /* 6 */
/* remote IP address and name is defined in host file */
host_int->host_addr = inet_addr(in_name);
t2 = (char *) &host_int->host_addr;
host = host_file_gethostbyaddr(t2, 4, AF_INET);
strcpy(host_int->host_name, "\\");
strcat(host_int->host_name, host->h_name);
/* In case the local file open fails, set up the remote info. */
host_int->dest.sin_family = AF_INET;
host_int->dest.sin_port = htons(SNMP_REQUEST_PORT);
host_int->dest.sin_addr.s_addr = host_int->host_addr;
return_local: <--27
if ((val == CK_REMOTE_NAME_NOBSL_EXPAND) ||
(val == CK_REMOTE_NAME_BSL_EXPAND))
{
/* In case the local file open fails, set up the remote info. */
if((host = gethostbyname(in_name)) != NULL)
{
host_int->host_addr = *(u_long *)(host->h_addr);
host_int->dest.sin_family = AF_INET;
host_int->dest.sin_port = htons(SNMP_REQUEST_PORT);
host_int->dest.sin_addr.s_addr = host_int->host_addr;
}
}
strcpy(host_int->agent_name, "$ZSNMP");
host_int->local_flag = LOCAL_HOSTNAME;
return LOCAL_HOSTNAME;
default:
fprintf(stdout, "CHECK_HOST_NAME returned error %i.\n", val);
return val;
} /* switch */
} /* End SNMP_Init_ */
Example 2-2. Contents of snmpfsc (page 10 of 19)