关闭

获得网卡的IP及广播地址

标签: structincludesocket
873人阅读 评论(0) 收藏 举报

 

 

#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));

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:170962次
    • 积分:2121
    • 等级:
    • 排名:第17952名
    • 原创:42篇
    • 转载:37篇
    • 译文:0篇
    • 评论:11条
    文章分类
    最新评论