10 #define IF_NAMESIZE 16
14 unsigned int if_index;
18 unsigned int if_nametoindex (const char *);
19 char *if_indextoname (unsigned int, char *);
20 struct if_nameindex *if_nameindex (void);
21 void if_freenameindex (struct if_nameindex *);
26 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
28 #include <sys/socket.h>
31 #define IFF_BROADCAST 0x2
33 #define IFF_LOOPBACK 0x8
34 #define IFF_POINTOPOINT 0x10
35 #define IFF_NOTRAILERS 0x20
36 #define IFF_RUNNING 0x40
37 #define IFF_NOARP 0x80
38 #define IFF_PROMISC 0x100
39 #define IFF_ALLMULTI 0x200
40 #define IFF_MASTER 0x400
41 #define IFF_SLAVE 0x800
42 #define IFF_MULTICAST 0x1000
43 #define IFF_PORTSEL 0x2000
44 #define IFF_AUTOMEDIA 0x4000
45 #define IFF_DYNAMIC 0x8000
48 struct sockaddr ifa_addr;
50 struct sockaddr ifu_broadaddr;
51 struct sockaddr ifu_dstaddr;
53 struct iface *ifa_ifp;
54 struct ifaddr *ifa_next;
57 #define ifa_broadaddr ifa_ifu.ifu_broadaddr
58 #define ifa_dstaddr ifa_ifu.ifu_dstaddr
61 unsigned long int mem_start;
62 unsigned long int mem_end;
63 unsigned short int base_addr;
70 #define IFNAMSIZ IF_NAMESIZE
74 char ifrn_name[IFNAMSIZ];
77 struct sockaddr ifru_addr;
78 struct sockaddr ifru_dstaddr;
79 struct sockaddr ifru_broadaddr;
80 struct sockaddr ifru_netmask;
81 struct sockaddr ifru_hwaddr;
85 struct ifmap ifru_map;
86 char ifru_slave[IFNAMSIZ];
87 char ifru_newname[IFNAMSIZ];
92 #define ifr_name ifr_ifrn.ifrn_name
93 #define ifr_hwaddr ifr_ifru.ifru_hwaddr
94 #define ifr_addr ifr_ifru.ifru_addr
95 #define ifr_dstaddr ifr_ifru.ifru_dstaddr
96 #define ifr_broadaddr ifr_ifru.ifru_broadaddr
97 #define ifr_netmask ifr_ifru.ifru_netmask
98 #define ifr_flags ifr_ifru.ifru_flags
99 #define ifr_metric ifr_ifru.ifru_ivalue
100 #define ifr_mtu ifr_ifru.ifru_mtu
101 #define ifr_map ifr_ifru.ifru_map
102 #define ifr_slave ifr_ifru.ifru_slave
103 #define ifr_data ifr_ifru.ifru_data
104 #define ifr_ifindex ifr_ifru.ifru_ivalue
105 #define ifr_bandwidth ifr_ifru.ifru_ivalue
106 #define ifr_qlen ifr_ifru.ifru_ivalue
107 #define ifr_newname ifr_ifru.ifru_newname
108 #define _IOT_ifreq _IOT(_IOTS(char),IFNAMSIZ,_IOTS(char),16,0,0)
109 #define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0)
110 #define _IOT_ifreq_int _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0)
116 struct ifreq *ifcu_req;
120 #define ifc_buf ifc_ifcu.ifcu_buf
121 #define ifc_req ifc_ifcu.ifcu_req
122 #define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0)