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