Reply:
# include
# Include
# Include
# Include
# Include
# Include
char * getMacAddress (char * macAddress, char * ifName) {
int success;
struct ifaddrs * addrs;
struct ifaddrs * cursor;
const struct sockaddr_dl * dlAddr;
const unsigned char * base;
int i;
success = getifaddrs (& addrs) == 0;
if (success) {
cursor = addrs;
while (cursor! = 0) {
if ((cursor-> ifa_addr-> sa_family == AF_LINK)
&& (((Const struct sockaddr_dl *) cursor-> ifa_addr) -> sdl_type == IFT_ETHER) && strcmp (ifName, cursor-> ifa_name) == 0) {
dlAddr = (const struct sockaddr_dl *) cursor-> ifa_addr;
base = (const unsigned char *) & dlAddr-> sdl_data [dlAddr-> sdl_nlen];
strcpy (macAddress, "");
for (i = 0; isdl_alen; i + +) {
if (i! = 0) {
strcat (macAddress, ":");
}
char partialAddr [3];
sprintf (partialAddr, "% 02X", base [i]);
strcat (macAddress, partialAddr);
}
}
cursor = cursor-> ifa_next;
}
freeifaddrs (addrs);
}
return macAddress;
}
char * macAddressString = (char *) malloc (18);
NSString * macAddress = [[NSString alloc] initWithCString: getMacAddress (macAddressString, "en0")
encoding: NSMacOSRomanStringEncoding];
You should be asking how to write code to obtain it? ?
Did not ask how to find from the set
Reply:
getMacAddress second argument ifName What does this mean
No comments:
Post a Comment