Lines Matching refs:ifreq
665 struct ifreq ifreq;
722 if (ifc.ifc_len + 2 * sizeof(u.ifreq) < bufsiz)
741 memcpy(&u.ifreq, cp, sizeof u.ifreq);
744 if (u.ifreq.ifr_addr.sa_len == 0)
745 u.ifreq.ifr_addr.sa_len = 16;
748 cpsize = sizeof u.ifreq;
749 if (u.ifreq.ifr_addr.sa_len > sizeof (struct sockaddr))
750 cpsize += (int)u.ifreq.ifr_addr.sa_len -
753 cpsize = sizeof u.ifreq.ifr_name + u.ifreq.ifr_addr.sa_len;
755 if (cpsize > sizeof u.ifreq && cpsize <= sizeof u)
756 memcpy(&u.ifreq, cp, cpsize);
758 cpsize = sizeof u.ifreq;
760 cpsize = sizeof u.ifreq.ifr_name;
762 if (ioctl(s, SIOCGIFADDR, (char *)&u.ifreq) < 0)
765 switch (u.ifreq.ifr_addr.sa_family) {
770 &u.ifreq.ifr_addr)->sin_addr,
774 n = ioctl(s, SIOCGIFFLAGS, (char *)&u.ifreq);
777 if ((u.ifreq.ifr_flags & IFF_UP) == 0)
786 &u.ifreq.ifr_addr)->sin6_addr,
790 n = ioctl(s, SIOCGIFFLAGS, (char *)&u.ifreq);
793 if ((u.ifreq.ifr_flags & IFF_UP) == 0)