#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;
}

