version 1.12.4.4, 2016/05/14 19:55:52
|
version 1.13, 2016/05/18 12:47:42
|
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 529 e_ether_addr(const char *ifname, ether_addr_t * __rest
|
Line 529 e_ether_addr(const char *ifname, ether_addr_t * __rest
|
a = e_malloc(sizeof(ether_addr_t)); |
a = e_malloc(sizeof(ether_addr_t)); |
if (a) |
if (a) |
memcpy(a, req.ifr_addr.sa_data, sizeof(ether_addr_t)); |
memcpy(a, req.ifr_addr.sa_data, sizeof(ether_addr_t)); |
|
|
|
/* should set mac address */ |
|
if (addr) { |
|
memset(&req, 0, sizeof req); |
|
strlcpy(req.ifr_name, ifname, sizeof req.ifr_name); |
|
sa.sa.sa_family = ARPHRD_ETHER; |
|
memcpy(sa.sa.sa_data, addr, sizeof(ether_addr_t)); |
|
req.ifr_hwaddr = sa.sa; |
|
ioctl(s, SIOCSIFHWADDR, &req); |
|
} |
} |
} |
close(s); |
close(s); |
break; |
break; |