现在的位置: 首页 > 综合 > 正文

获得网卡的IP及广播地址

2013年11月08日 ⁄ 综合 ⁄ 共 580字 ⁄ 字号 评论关闭

 

 

#include <net/if.h>

#include <sys/ioctl.h>

 

uint32 get_broadcast(char * interfacename )

{

struct sockaddr_in *addr;

struct ifreq ifr;

int sockfd;

 

sockfd = socket(AF_INET,SOCK_DGRAM,0);

strncpy(ifr.ifr_name,interfacename,IFNAMSIZ-1);

 

if(ioctl(sockfd,SIOCGIFADDR,&ifr) == -1)

{

printf("get IP address error!/n");

return false;

}

addr = (struct sockaddr_in *)&(ifr.ifr_addr);

printf("inet addr:%s/n",inet_ntoa(addr->sin_addr));

 

if(ioctl(sockfd,SIOCGIFBRDADDR,&ifr) == -1)

{

printf("get broadcast address error!/n");

return false;

}

addr = (struct sockaddr_in *)&(ifr.ifr_addr);

printf("broadcast addr:%s/n",inet_ntoa(addr->sin_addr));

}

抱歉!评论已关闭.