Chinaunix首页 | 论坛 | 博客
  • 博客访问: 454274
  • 博文数量: 293
  • 博客积分: 4204
  • 博客等级: 上校
  • 技术积分: 3060
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-21 10:27
个人简介

nobody

文章分类

全部博文(293)

文章存档

2014年(27)

2013年(105)

2012年(41)

2011年(109)

2010年(11)

分类:

2011-02-23 11:17:24


int get_mac_ip (const char *ifc, unsigned char mac[6],unsigned char ip[15])
{
register int fd;
struct ifreq ifr;
unsigned char *p = NULL;
int i;
int err = 0;
if ((fd = socket (AF_INET, SOCK_DGRAM, 0)) >= 0) 
{
memset(&ifr, 0, sizeof(struct ifreq));
sprintf(ifr.ifr_name, "%s", ifc);

if((ioctl (fd, SIOCGIFADDR, &ifr))>=0)
{
strcpy( ip, (char*)inet_ntoa(((struct sockaddr_in*)(&ifr.ifr_addr))->sin_addr));
}
else
{
err = 1;
}

if((ioctl (fd, SIOCGIFHWADDR, &ifr))>=0)
{
p = ifr.ifr_hwaddr.sa_data;
for(i=0;i<6;i++)
mac[i] = p[i];
}
else
{
err = 2;
}
close(fd);
return err;
}

阅读(754) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~