version 1.12.4.5, 2016/05/14 20:02:04
|
version 1.12.4.6, 2016/05/18 12:38:16
|
Line 521 e_ether_addr(const char *ifname, ether_addr_t * __rest
|
Line 521 e_ether_addr(const char *ifname, ether_addr_t * __rest
|
} |
} |
#else |
#else |
if (p->ifa_name && !strcmp(p->ifa_name, ifname)) { |
if (p->ifa_name && !strcmp(p->ifa_name, ifname)) { |
s = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP); | s = socket(AF_INET, SOCK_DGRAM, 0); |
if (s == -1) |
if (s == -1) |
break; |
break; |
strlcpy(req.ifr_name, ifname, sizeof req.ifr_name); |
strlcpy(req.ifr_name, ifname, sizeof req.ifr_name); |
Line 534 e_ether_addr(const char *ifname, ether_addr_t * __rest
|
Line 534 e_ether_addr(const char *ifname, ether_addr_t * __rest
|
if (addr) { |
if (addr) { |
memset(&req, 0, sizeof req); |
memset(&req, 0, sizeof req); |
strlcpy(req.ifr_name, ifname, sizeof req.ifr_name); |
strlcpy(req.ifr_name, ifname, sizeof req.ifr_name); |
/* TODO: sa */ | sa.sa.sa_family = ARPHRD_ETHER; |
req.ifr_ifru.ifru_addr = sa.sa; | memcpy(sa.sa.sa_data, addr, sizeof(ether_addr_t)); |
ioctl(s, SIOCSIFLLADDR, &req); | req.ifr_hwaddr = sa.sa; |
| ioctl(s, SIOCSIFHWADDR, &req); |
} |
} |
} |
} |
close(s); |
close(s); |