10 #define IF_NAMESIZE 16
13 unsigned int if_index
;
17 unsigned int if_nametoindex (const char *);
18 char *if_indextoname (unsigned int, char *);
19 struct if_nameindex
*if_nameindex (void);
20 void if_freenameindex (struct if_nameindex
*);
25 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
27 #include <sys/socket.h>
30 #define IFF_BROADCAST 0x2
32 #define IFF_LOOPBACK 0x8
33 #define IFF_POINTOPOINT 0x10
34 #define IFF_NOTRAILERS 0x20
35 #define IFF_RUNNING 0x40
36 #define IFF_NOARP 0x80
37 #define IFF_PROMISC 0x100
38 #define IFF_ALLMULTI 0x200
39 #define IFF_MASTER 0x400
40 #define IFF_SLAVE 0x800
41 #define IFF_MULTICAST 0x1000
42 #define IFF_PORTSEL 0x2000
43 #define IFF_AUTOMEDIA 0x4000
44 #define IFF_DYNAMIC 0x8000
45 #define IFF_LOWER_UP 0x10000
46 #define IFF_DORMANT 0x20000
47 #define IFF_ECHO 0x40000
48 #define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST| \
49 IFF_ECHO|IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT)
52 struct sockaddr ifa_addr
;
54 struct sockaddr ifu_broadaddr
;
55 struct sockaddr ifu_dstaddr
;
57 struct iface
*ifa_ifp
;
58 struct ifaddr
*ifa_next
;
61 #define ifa_broadaddr ifa_ifu.ifu_broadaddr
62 #define ifa_dstaddr ifa_ifu.ifu_dstaddr
65 unsigned long int mem_start
;
66 unsigned long int mem_end
;
67 unsigned short int base_addr
;
74 #define IFNAMSIZ IF_NAMESIZE
78 char ifrn_name
[IFNAMSIZ
];
81 struct sockaddr ifru_addr
;
82 struct sockaddr ifru_dstaddr
;
83 struct sockaddr ifru_broadaddr
;
84 struct sockaddr ifru_netmask
;
85 struct sockaddr ifru_hwaddr
;
89 struct ifmap ifru_map
;
90 char ifru_slave
[IFNAMSIZ
];
91 char ifru_newname
[IFNAMSIZ
];
96 #define ifr_name ifr_ifrn.ifrn_name
97 #define ifr_hwaddr ifr_ifru.ifru_hwaddr
98 #define ifr_addr ifr_ifru.ifru_addr
99 #define ifr_dstaddr ifr_ifru.ifru_dstaddr
100 #define ifr_broadaddr ifr_ifru.ifru_broadaddr
101 #define ifr_netmask ifr_ifru.ifru_netmask
102 #define ifr_flags ifr_ifru.ifru_flags
103 #define ifr_metric ifr_ifru.ifru_ivalue
104 #define ifr_mtu ifr_ifru.ifru_mtu
105 #define ifr_map ifr_ifru.ifru_map
106 #define ifr_slave ifr_ifru.ifru_slave
107 #define ifr_data ifr_ifru.ifru_data
108 #define ifr_ifindex ifr_ifru.ifru_ivalue
109 #define ifr_bandwidth ifr_ifru.ifru_ivalue
110 #define ifr_qlen ifr_ifru.ifru_ivalue
111 #define ifr_newname ifr_ifru.ifru_newname
112 #define _IOT_ifreq _IOT(_IOTS(char),IFNAMSIZ,_IOTS(char),16,0,0)
113 #define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0)
114 #define _IOT_ifreq_int _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0)
120 struct ifreq
*ifcu_req
;
124 #define ifc_buf ifc_ifcu.ifcu_buf
125 #define ifc_req ifc_ifcu.ifcu_req
126 #define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0)
128 #define __UAPI_DEF_IF_IFCONF 0
129 #define __UAPI_DEF_IF_IFMAP 0
130 #define __UAPI_DEF_IF_IFNAMSIZ 0
131 #define __UAPI_DEF_IF_IFREQ 0
132 #define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
133 #define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0