On 24 Jun 2009, at 13:45, KK wrote:
- (NSString *)getHWEthernetMAC { NSString *deviceName = @"en0"; // Ethernet device is en0
Embedding a device name seems a bit odd to me - why not use getifaddrs() and walk the list of actual interfaces? Something like...
struct ifaddrs *ifp, *p; if (getifaddrs(&ifp) != 0) return 1; for (p = ifp; p != NULL; p = p->ifa_next) { if (p->ifa_addr && p->ifa_addr->sa_family == AF_LINK) { struct sockaddr_dl *e = (struct sockaddr_dl *)p->ifa_addr; /* Only look at ethernet addresses */ if (e->sdl_alen == ETHER_ADDR_LEN) { unsigned char *a = LLADDR(e); printf("%.2X%.2X%.2X%.2X%.2X%.2X\n", a[0], a[1], a[2], a[3], a[4], a[5]); } } } freeifaddrs(ifp); return 0; Cheers, Chris _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com