在linux下 获取,修改子网掩码NETMASK的两个函数
来源:互联网 发布:linux exec命令 编辑:程序博客网 时间:2024/06/09 17:09
//获取子网掩码的函数QString GetLocalNetMask()
{
int sock_netmask;
char netmask_addr[50];
struct ifreq ifr_mask;
struct sockaddr_in *net_mask;
sock_netmask = socket( AF_INET, SOCK_STREAM, 0 );
if( sock_netmask == -1)
{
perror("create socket failture...GetLocalNetMask/n");
return "";
}
memset(&ifr_mask, 0, sizeof(ifr_mask));
strncpy(ifr_mask.ifr_name, ifname, sizeof(ifr_mask.ifr_name )-1);
if( (ioctl( sock_netmask, SIOCGIFNETMASK, &ifr_mask ) ) < 0 )
{
printf("mac ioctl error/n");
return "";
}
net_mask = ( struct sockaddr_in * )&( ifr_mask.ifr_netmask );
strcpy( netmask_addr, inet_ntoa( net_mask -> sin_addr ) );
printf("local netmask:%s/n",netmask_addr);
close( sock_netmask );
return QString( netmask_addr );
}
//修改子NETMASK的函数
QString SetLocalNetMask(const char *szNetMask)
{
int sock_netmask;
char netmask_addr[32];
struct ifreq ifr_mask;
struct sockaddr_in *sin_net_mask;
sock_netmask = socket( AF_INET, SOCK_STREAM, 0 );
if( sock_netmask == -1)
{
perror("Not create network socket connect/n");
return "";
}
memset(&ifr_mask, 0, sizeof(ifr_mask));
strncpy(ifr_mask.ifr_name, "eth0", sizeof(ifr_mask.ifr_name )-1);
sin_net_mask = (struct sockaddr_in *)&ifr_mask.ifr_addr;
sin_net_mask -> sin_family = AF_INET;
inet_pton(AF_INET, szNetMask, &sin_net_mask ->sin_addr);
if(ioctl(sock_netmask, SIOCSIFNETMASK, &ifr_mask ) < 0)
{
printf("sock_netmask ioctl error/n");
return "";
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/davidge333/archive/2010/01/24/5250690.aspx
- 在linux下 获取,修改子网掩码NETMASK的两个函数
- 在linux下 获取,修改子网掩码NETMASK的两个函数
- 在linux下 获取,修改网关GateWay的两个函数
- 在Linux下获取修改网关GateWay的两个函数
- 在linux下 获取,修改本机IP地址的两个函数
- 在linux下 获取,修改本机IP地址的两个函数
- linux下程序设计-netmask的获取与设置
- Linux下获取系统的IP,子网掩码,网关,MAC和配置文件的修改
- Linux下获取系统的IP,子网掩码,网关,MAC和配置文件的修改
- linux下修改IP、netmask、gateway等网络参数的方法
- linux下修改IP、MAC、netmask、gateway等网络参数的方法(2)
- linux下修改IP、netmask、gateway等网络参数的方法
- linux下修改IP、netmask、gateway等网络参数的方法
- linux下获取本机ip、netmask、broadcast、mac
- linux 利用ioctl函数获取IP地址、子网掩码、MAC地址和修改本机IP地址、子网掩码、网关
- 关于子网掩码(Netmask)
- Netmask (子网掩码 )的用途与子网络的切分
- Linux 修改 IP , DNS, NETMASK, GETEWAY
- 转-ogre字体生成(中文显示)
- MVVM模式实现主从数据显示
- GHOST安装
- 使用GDB调试RB-tree的几个问题(更正)
- js clone
- 在linux下 获取,修改子网掩码NETMASK的两个函数
- Maya hardware buffer render的buffer scale不能选择100%的解决办法
- 工作第一天——2011年4月6日
- tcp要点学习-断开连接
- 听你说
- 给自己扫盲之URL
- JPEG-2000静止图像压缩标准(翻译自Adams的经典文章)
- Android GPS架构分析(gps启动过程图)
- 当excel 总是crash的时候