#include
#include
#include
#include
#include
#include
#define mgmt_log_err(portid, args...) printf(args)
int GetGlobalMacAddr(char *pstHwAddr)
{
int sock, ret;
struct ifreq ifr;
sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if (sock < 0) {
mgmt_log_err(0, "GetGlobalIpAddr, socket() error ");
return 0;
}
strncpy(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name));
// Get HW Adress
ret = ioctl(sock, SIOCGIFHWADDR, &ifr);
if (ret < 0) {
mgmt_log_err(0, "Get IP Address Error ");
close(sock);
return 0;
}
memcpy(pstHwAddr, &ifr.ifr_hwaddr.sa_data, 6);
close(sock);
return 0;
}
main ()
{
int i;
unsigned char HwAddr[6];
GetGlobalMacAddr(HwAddr);
for(i=0;i<6;i++)
{
printf("%02x:", HwAddr[i]);
}
printf("\n");
}
No comments :
Post a Comment