27 lines
451 B
C
27 lines
451 B
C
#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;
|
|
}
|
|
|