VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1418|回复: 5

struct ifreq是什么结构

[复制链接]

2

主题

3

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-2-1 02:40:01 | 显示全部楼层 |阅读模式
struct ifreq是什么结构
有详细信息的请给我帖以下
回复

使用道具 举报

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-3-12 22:15:01 | 显示全部楼层
struct ifreq {
    char    ifr_name[IFNAMSIZ];  /* interface name, e.g., "le0" */
    union {
        struct  sockaddr ifru_addr;
        struct  sockaddr ifru_dstaddr;
        struct  sockaddr ifru_broadaddr;
        short   ifru_flags;
        int     ifru_metric;
        caddr_t ifru_data;
    } ifr_ifru;
};
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-28 00:15:01 | 显示全部楼层
我也在找,哈哈
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-1 14:45:01 | 显示全部楼层
/* Interface request structure used for socket ioctl's.  All interface
   ioctl's must have parameter definitions which begin with ifr_name.
   The remainder may be interface specific.  */

struct ifreq
  {
# define IFHWADDRLEN        6
# define IFNAMSIZ        IF_NAMESIZE
    union
      {
        char ifrn_name[IFNAMSIZ];        /* Interface name, e.g. "en0".  */
      } ifr_ifrn;

    union
      {
        struct sockaddr ifru_addr;
        struct sockaddr ifru_dstaddr;
        struct sockaddr ifru_broadaddr;
        struct sockaddr ifru_netmask;
        struct sockaddr ifru_hwaddr;
        short int ifru_flags;
        int ifru_ivalue;
        int ifru_mtu;
        struct ifmap ifru_map;
        char ifru_slave[IFNAMSIZ];        /* Just fits the size */
        char ifru_newname[IFNAMSIZ];
        __caddr_t ifru_data;
      } ifr_ifru;
  };
# define ifr_name        ifr_ifrn.ifrn_name        /* interface name         */
# define ifr_hwaddr        ifr_ifru.ifru_hwaddr        /* MAC address                 */
# define ifr_addr        ifr_ifru.ifru_addr        /* address                */
# define ifr_dstaddr        ifr_ifru.ifru_dstaddr        /* other end of p-p lnk        */
# define ifr_broadaddr        ifr_ifru.ifru_broadaddr        /* broadcast address        */
# define ifr_netmask        ifr_ifru.ifru_netmask        /* interface net mask        */
# define ifr_flags        ifr_ifru.ifru_flags        /* flags                */
# define ifr_metric        ifr_ifru.ifru_ivalue        /* metric                */
# define ifr_mtu        ifr_ifru.ifru_mtu        /* mtu                        */
# define ifr_map        ifr_ifru.ifru_map        /* device map                */
# define ifr_slave        ifr_ifru.ifru_slave        /* slave device                */
# define ifr_data        ifr_ifru.ifru_data        /* for use by interface        */
# define ifr_ifindex        ifr_ifru.ifru_ivalue    /* interface index      */
# define ifr_bandwidth        ifr_ifru.ifru_ivalue        /* link bandwidth        */
# define ifr_qlen        ifr_ifru.ifru_ivalue        /* queue length                */
# define ifr_newname        ifr_ifru.ifru_newname        /* New name                */
# define _IOT_ifreq        _IOT(_IOTS(char),IFNAMSIZ,_IOTS(char),16,0,0)
# define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0)
# define _IOT_ifreq_int        _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0)

回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-2 23:45:01 | 显示全部楼层
ifreq结构定义在/usr/include/net/if.h,用来配置ip地址,激活接口,配置MTU等接口信息的。
其中包含了一个接口的名字和具体内容——(是个共用体,有可能是IP地址,广播地址,子网掩码,MAC号,MTU或其他内容)。
ifreq包含在ifconf结构中。而ifconf结构通常是用来保存所有接口的信息的。

如果想深入了解,推荐下面这个网址,讲解的非常详细:
http://tech.sunplusedu.com/space/post-4064.aspx
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-9-3 09:45:01 | 显示全部楼层
谢楼上的。。我好好看看。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表