Lines Matching refs:ifr

160 static void ifc_init_ifr(const char *name, struct ifreq *ifr)
162 memset(ifr, 0, sizeof(struct ifreq));
163 strncpy(ifr->ifr_name, name, IFNAMSIZ);
164 ifr->ifr_name[IFNAMSIZ - 1] = 0;
170 struct ifreq ifr;
171 ifc_init_ifr(name, &ifr);
173 r = ioctl(ifc_ctl_sock, SIOCGIFHWADDR, &ifr);
176 memcpy(ptr, &ifr.ifr_hwaddr.sa_data, ETH_ALEN);
183 struct ifreq ifr;
184 ifc_init_ifr(name, &ifr);
186 r = ioctl(ifc_ctl_sock, SIOCGIFINDEX, &ifr);
189 *if_indexp = ifr.ifr_ifindex;
195 struct ifreq ifr;
196 ifc_init_ifr(name, &ifr);
198 if(ioctl(ifc_ctl_sock, SIOCGIFFLAGS, &ifr) < 0) return -1;
199 ifr.ifr_flags = (ifr.ifr_flags & (~clr)) | set;
200 return ioctl(ifc_ctl_sock, SIOCSIFFLAGS, &ifr);
227 struct ifreq ifr;
230 ifc_init_ifr(name, &ifr);
231 init_sockaddr_in(&ifr.ifr_addr, addr);
233 ret = ioctl(ifc_ctl_sock, SIOCSIFADDR, &ifr);
420 struct ifreq ifr;
421 ifc_init_ifr(name, &ifr);
423 ifr.ifr_hwaddr.sa_family = ARPHRD_ETHER;
424 memcpy(&ifr.ifr_hwaddr.sa_data, ptr, ETH_ALEN);
425 return ioctl(ifc_ctl_sock, SIOCSIFHWADDR, &ifr);
430 struct ifreq ifr;
433 ifc_init_ifr(name, &ifr);
434 init_sockaddr_in(&ifr.ifr_addr, mask);
436 ret = ioctl(ifc_ctl_sock, SIOCSIFNETMASK, &ifr);
443 struct ifreq ifr;
448 ifc_init_ifr(name, &ifr);
449 init_sockaddr_in(&ifr.ifr_addr, mask);
451 return ioctl(ifc_ctl_sock, SIOCSIFNETMASK, &ifr);
456 struct ifreq ifr;
459 ifc_init_ifr(name, &ifr);
461 ret = ioctl(ifc_ctl_sock, SIOCGIFADDR, &ifr);
465 *addr = ((struct sockaddr_in*) &ifr.ifr_addr)->sin_addr.s_addr;
473 struct ifreq ifr;
474 ifc_init_ifr(name, &ifr);
477 if(ioctl(ifc_ctl_sock, SIOCGIFADDR, &ifr) < 0) {
480 *addr = ((struct sockaddr_in*) &ifr.ifr_addr)->sin_addr.s_addr;
485 if(ioctl(ifc_ctl_sock, SIOCGIFNETMASK, &ifr) < 0) {
489 ((struct sockaddr_in*) &ifr.ifr_addr)->sin_addr.s_addr);
494 if(ioctl(ifc_ctl_sock, SIOCGIFFLAGS, &ifr) < 0) {
497 *flags = ifr.ifr_flags;
607 struct ifreq ifr;
614 ifc_init_ifr(ifname, &ifr);
615 init_sockaddr_in(&ifr.ifr_addr, myaddr);
616 result = ioctl(ifc_ctl_sock, SIOCKILLADDR, &ifr);