+ if (ifs.int_addr.sa_family != AF_INET)
+ continue;
+ if (ifs.int_flags & IFF_POINTOPOINT) {
+ if (ioctl(s, SIOCGIFDSTADDR, (char *)&ifreq) < 0) {
+ syslog(LOG_ERR, "ioctl (get dstaddr)");
+ continue;
+ }
+ ifs.int_dstaddr = ifreq.ifr_dstaddr;
+ }
+ if (ifs.int_flags & IFF_BROADCAST) {
+ if (ioctl(s, SIOCGIFBRDADDR, (char *)&ifreq) < 0) {
+ syslog(LOG_ERR, "ioctl (get broadaddr)");
+ continue;
+ }
+ ifs.int_broadaddr = ifreq.ifr_broadaddr;
+ }
+ if (ioctl(s, SIOCGIFNETMASK, (char *)&ifreq) < 0) {
+ syslog(LOG_ERR, "ioctl (get netmask)");