#include <u.h> | |
#include <libc.h> | |
#include <ip.h> | |
static char zea[6]; | |
int | |
myetheraddr(uchar *to, char *dev) | |
{ | |
Ipifc *ifclist, *ifc; | |
ifclist = readipifc(nil, nil, -1); | |
for(ifc=ifclist; ifc; ifc=ifc->next){ | |
if(dev && strcmp(ifc->dev, dev) != 0) | |
continue; | |
if(memcmp(zea, ifc->ether, 6) == 0) | |
continue; | |
memmove(to, ifc->ether, 6); | |
freeipifc(ifclist); | |
return 0; | |
} | |
freeipifc(ifclist); | |
werrstr("no ethernet devices"); | |
return -1; | |
} | |