/* * bad_ip_adrs - return 1 if the IP address is one we don't want * to use, such as an address in the loopback net or a multicast address. * addr is in network byte order. */ int bad_ip_adrs(u32_t addr) { addr = ntohl(addr); return (addr >> IN_CLASSA_NSHIFT) == IN_LOOPBACKNET || IN_MULTICAST(addr) || IN_BADCLASS(addr); }
/* * Verify that a given IP address is credible as a host address. * (Without a mask, cannot detect addresses of the form {subnet,0} or * {subnet,-1}.) */ int inet_valid_host(u_int32 naddr) { u_int32 addr; addr = ntohl(naddr); return (!(IN_MULTICAST(addr) || IN_BADCLASS (addr) || (addr & 0xff000000) == 0)); }