plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

myetheraddr.c (449B)


      1 #include <u.h>
      2 #include <libc.h>
      3 #include <ip.h>
      4 
      5 static char zea[6];
      6 
      7 int
      8 myetheraddr(uchar *to, char *dev)
      9 {
     10 	Ipifc *ifclist, *ifc;
     11 
     12 	ifclist = readipifc(nil, nil, -1);
     13 	for(ifc=ifclist; ifc; ifc=ifc->next){
     14 		if(dev && strcmp(ifc->dev, dev) != 0)
     15 			continue;
     16 		if(memcmp(zea, ifc->ether, 6) == 0)
     17 			continue;
     18 		memmove(to, ifc->ether, 6);
     19 		freeipifc(ifclist);
     20 		return 0;
     21 	}
     22 	freeipifc(ifclist);
     23 	werrstr("no ethernet devices");
     24 	return -1;
     25 }