Linux中ifreq 结构体分析和使用(转)
(2012-08-13 09:27:10)结构原型:
struct ifreq
{
#define IFHWADDRLEN
};
#define ifr_name
#define ifr_hwaddr
#define
#define
#define
#define
#define
#define
#define
#define ifr_map
#define ifr_slave
#define
#define ifr_ifindex
#define ifr_bandwidth
#define ifr_qlen
#define ifr_newname
#define ifr_settings
基本介绍:
ifreq结构定义在/usr/include/net/if.h,用来配置ip地址,激活接口,配置MTU等接口信息的。其中包含了一个接口的名 字和具体内容——(是个共用体,有可能是IP地址,广播地址,子网掩码,MAC号,MTU或其他内容)。ifreq包含在ifconf结构中。而 ifconf结构通常是用来保存所有接口的信息的。
举例说明:
在Linux系统中,ifconfig命令是通过ioctl接口与内核通信,例如,当系统管理员输入如下命令来改变接口eth0的MTU大小:
ifconfig命令首先打开一个socket,然后通过系统管理员输入的参数初始化一个数据结构,并通过ioctl调用将数据传送到内核。SIOCSIFMTU是命令标识符。
来源:http://blog.youkuaiyun.com/zhu114wei/article/details/6927513