version 1.6.4.1, 2013/07/08 01:11:34
|
version 1.7, 2013/07/09 00:18:19
|
Line 100 e_link_ntoa(const struct sockaddr_dl *sdl)
|
Line 100 e_link_ntoa(const struct sockaddr_dl *sdl)
|
* return: NULL error or !=NULL string a |
* return: NULL error or !=NULL string a |
*/ |
*/ |
char * |
char * |
e_ether_ntoa(const struct e_ether_addr *n, char * __restrict a, int len) | e_ether_ntoa(const ether_addr_t * __restrict n, char * __restrict a, int len) |
{ |
{ |
if (!n || !a) |
if (!n || !a) |
return NULL; |
return NULL; |
Line 122 e_ether_ntoa(const struct e_ether_addr *n, char * __re
|
Line 122 e_ether_ntoa(const struct e_ether_addr *n, char * __re
|
* @e = ethernet address structure, like struct ether_addr |
* @e = ethernet address structure, like struct ether_addr |
* return: NULL error or !=NULL ethernet address structure |
* return: NULL error or !=NULL ethernet address structure |
*/ |
*/ |
struct e_ether_addr * | ether_addr_t * |
e_ether_aton(const char *a, struct e_ether_addr *e) | e_ether_aton(const char *a, ether_addr_t * __restrict e) |
{ |
{ |
int i; |
int i; |
u_int o0, o1, o2, o3, o4, o5; |
u_int o0, o1, o2, o3, o4, o5; |
Line 462 e_ether_addr(const char *ifname, ether_addr_t * __rest
|
Line 462 e_ether_addr(const char *ifname, ether_addr_t * __rest
|
memset(a, 0, sizeof(ether_addr_t)); |
memset(a, 0, sizeof(ether_addr_t)); |
|
|
getifaddrs(&ifa); |
getifaddrs(&ifa); |
for (p = ifa; p; p++) | for (p = ifa; p && p->ifa_name; p++) |
if (!strcmp(p->ifa_name, ifname) && p->ifa_addr && | if (p->ifa_name && !strcmp(p->ifa_name, ifname) && p->ifa_addr && |
p->ifa_addr->sa_family == AF_LINK) { |
p->ifa_addr->sa_family == AF_LINK) { |
memcpy(a, LLADDR((struct sockaddr_dl*) p->ifa_addr), sizeof(ether_addr_t)); |
memcpy(a, LLADDR((struct sockaddr_dl*) p->ifa_addr), sizeof(ether_addr_t)); |
break; |
break; |