Lines Matching defs:ifre

103   struct ifreq ifre;
104 struct sockaddr_in *si = (void *)&ifre.ifr_addr;
118 xstrncpy(ifre.ifr_name, name, IFNAMSIZ);
119 if (ioctl(TT.sockfd, SIOCGIFFLAGS, &ifre)<0) perror_exit_raw(name);
120 flags = ifre.ifr_flags;
127 ioctl(TT.sockfd, SIOCGIFADDR, &ifre);
129 if (!ioctl(TT.sockfd, SIOCGIFNETMASK, &ifre))
138 ioctl(TT.sockfd, SIOCGIFHWADDR, &ifre);
141 for (i=0; i<6; i++) printf(":%02x"+!i, ifre.ifr_hwaddr.sa_data[i]);
144 if (ifre.ifr_hwaddr.sa_family == types[i].type) break;
146 if(ifre.ifr_hwaddr.sa_family == ARPHRD_ETHER) {
148 for (i=0; i<6; i++) xprintf(":%02x"+!i, ifre.ifr_hwaddr.sa_data[i]);
158 ifre.ifr_addr.sa_family = AF_INET;
159 memset(&ifre.ifr_addr, 0, sizeof(ifre.ifr_addr));
160 ioctl(TT.sockfd, SIOCGIFADDR, &ifre);
161 pp = (char *)&ifre.ifr_addr;
162 for (i = 0; i<sizeof(ifre.ifr_addr); i++) if (pp[i]) break;
164 if (!(toys.optflags&FLAG_S) && i != sizeof(ifre.ifr_addr)) {
165 struct sockaddr_in *si = (struct sockaddr_in *)&ifre.ifr_addr;
182 if (addr[i].ioctl && ioctl(TT.sockfd, addr[i].ioctl, &ifre))
255 if (ioctl(TT.sockfd, SIOCGIFMTU, &ifre) < 0) ifre.ifr_mtu = 0;
256 xprintf(" MTU:%d", ifre.ifr_mtu);
257 if (ioctl(TT.sockfd, SIOCGIFMETRIC, &ifre) < 0) ifre.ifr_metric = 0;
258 if (!ifre.ifr_metric) ifre.ifr_metric = 1;
259 xprintf(" Metric:%d", ifre.ifr_metric);
272 if (ioctl(TT.sockfd, SIOCGIFTXQLEN, &ifre) >= 0) val[16] = ifre.ifr_qlen;
284 if(!ioctl(TT.sockfd, SIOCGIFMAP, &ifre) && (ifre.ifr_map.irq ||
285 ifre.ifr_map.mem_start || ifre.ifr_map.dma || ifre.ifr_map.base_addr))
288 if(ifre.ifr_map.irq) xprintf("Interrupt:%d ", ifre.ifr_map.irq);
289 if(ifre.ifr_map.base_addr >= 0x100) // IO_MAP_INDEX
290 xprintf("Base address:0x%x ", ifre.ifr_map.base_addr);
291 if(ifre.ifr_map.mem_start)
292 xprintf("Memory:%lx-%lx ", ifre.ifr_map.mem_start, ifre.ifr_map.mem_end);
293 if(ifre.ifr_map.dma) xprintf("DMA chan:%x ", ifre.ifr_map.dma);
342 struct ifreq *ifre;
354 ifre = ifcon.ifc_req;
355 for(num = 0; num < ifcon.ifc_len && ifre; num += sizeof(struct ifreq), ifre++)
359 if(!strcmp(sl->str, ifre->ifr_name)) break;
361 if(!sl) display_ifconfig(ifre->ifr_name, toys.optflags & FLAG_a, 0);
371 #define IFREQ_OFFSZ(x) -(int)((offsetof(struct ifreq, x)<<16) + sizeof(ifre.x))
376 struct ifreq ifre;
386 memset(&ifre, 0, sizeof(struct ifreq));
387 xstrncpy(ifre.ifr_name, *argv, IFNAMSIZ);
426 struct sockaddr *sock = &ifre.ifr_hwaddr;
460 if (sock->sa_family == ARPHRD_INFINIBAND && !strchr(ifre.ifr_name, '/')) {
463 sprintf(toybuf, "/sys/class/net/%s/address", ifre.ifr_name);
467 } else xioctl(TT.sockfd, SIOCSIFHWADDR, &ifre);
484 xioctl(fd6, SIOCGIFINDEX, &ifre);
485 ifre6.index = ifre.ifr_ifindex;
506 // Assign value to ifre field and call ioctl? (via IFREQ_OFFSZ.)
510 if (off == SIOCSIFMAP) xioctl(TT.sockfd, SIOCGIFMAP, &ifre);
512 poke((on>>16) + (char *)&ifre, l, on&15);
513 xioctl(TT.sockfd, off, &ifre);
516 struct sockaddr_in *si = (struct sockaddr_in *)&ifre.ifr_addr;
523 xioctl(TT.sockfd, off, &ifre);
530 xioctl(TT.sockfd, SIOCSIFNETMASK, &ifre);
539 xioctl(TT.sockfd, SIOCGIFFLAGS, &ifre);
540 ifre.ifr_flags &= ~(rev ? on : off);
541 ifre.ifr_flags |= (rev ? off : on);
542 xioctl(TT.sockfd, SIOCSIFFLAGS, &ifre);