| OLD | NEW |
| 1 #ifndef _NET_IF_H | 1 #ifndef _NET_IF_H |
| 2 #define _NET_IF_H | 2 #define _NET_IF_H |
| 3 | 3 |
| 4 #ifdef __cplusplus | 4 #ifdef __cplusplus |
| 5 extern "C" { | 5 extern "C" { |
| 6 #endif | 6 #endif |
| 7 | 7 |
| 8 #include <features.h> | 8 #include <features.h> |
| 9 | 9 |
| 10 #define IF_NAMESIZE 16 | 10 #define IF_NAMESIZE 16 |
| 11 | 11 |
| 12 struct if_nameindex | 12 struct if_nameindex { |
| 13 { | 13 unsigned int if_index; |
| 14 » unsigned int if_index; | 14 char* if_name; |
| 15 » char *if_name; | |
| 16 }; | 15 }; |
| 17 | 16 |
| 18 unsigned int if_nametoindex (const char *); | 17 unsigned int if_nametoindex(const char*); |
| 19 char *if_indextoname (unsigned int, char *); | 18 char* if_indextoname(unsigned int, char*); |
| 20 struct if_nameindex *if_nameindex (void); | 19 struct if_nameindex* if_nameindex(void); |
| 21 void if_freenameindex (struct if_nameindex *); | 20 void if_freenameindex(struct if_nameindex*); |
| 22 | |
| 23 | |
| 24 | |
| 25 | 21 |
| 26 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) | 22 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| 27 | 23 |
| 28 #include <sys/socket.h> | 24 #include <sys/socket.h> |
| 29 | 25 |
| 30 #define IFF_UP» 0x1 | 26 #define IFF_UP 0x1 |
| 31 #define IFF_BROADCAST 0x2 | 27 #define IFF_BROADCAST 0x2 |
| 32 #define IFF_DEBUG 0x4 | 28 #define IFF_DEBUG 0x4 |
| 33 #define IFF_LOOPBACK 0x8 | 29 #define IFF_LOOPBACK 0x8 |
| 34 #define IFF_POINTOPOINT 0x10 | 30 #define IFF_POINTOPOINT 0x10 |
| 35 #define IFF_NOTRAILERS 0x20 | 31 #define IFF_NOTRAILERS 0x20 |
| 36 #define IFF_RUNNING 0x40 | 32 #define IFF_RUNNING 0x40 |
| 37 #define IFF_NOARP 0x80 | 33 #define IFF_NOARP 0x80 |
| 38 #define IFF_PROMISC 0x100 | 34 #define IFF_PROMISC 0x100 |
| 39 #define IFF_ALLMULTI 0x200 | 35 #define IFF_ALLMULTI 0x200 |
| 40 #define IFF_MASTER 0x400 | 36 #define IFF_MASTER 0x400 |
| 41 #define IFF_SLAVE 0x800 | 37 #define IFF_SLAVE 0x800 |
| 42 #define IFF_MULTICAST 0x1000 | 38 #define IFF_MULTICAST 0x1000 |
| 43 #define IFF_PORTSEL 0x2000 | 39 #define IFF_PORTSEL 0x2000 |
| 44 #define IFF_AUTOMEDIA 0x4000 | 40 #define IFF_AUTOMEDIA 0x4000 |
| 45 #define IFF_DYNAMIC 0x8000 | 41 #define IFF_DYNAMIC 0x8000 |
| 46 #define IFF_LOWER_UP 0x10000 | 42 #define IFF_LOWER_UP 0x10000 |
| 47 #define IFF_DORMANT 0x20000 | 43 #define IFF_DORMANT 0x20000 |
| 48 #define IFF_ECHO 0x40000 | 44 #define IFF_ECHO 0x40000 |
| 49 #define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST| \ | 45 #define IFF_VOLATILE \ |
| 50 IFF_ECHO|IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT) | 46 (IFF_LOOPBACK | IFF_POINTOPOINT | IFF_BROADCAST | IFF_ECHO | IFF_MASTER | \ |
| 47 IFF_SLAVE | IFF_RUNNING | IFF_LOWER_UP | IFF_DORMANT) |
| 51 | 48 |
| 52 struct ifaddr { | 49 struct ifaddr { |
| 53 » struct sockaddr ifa_addr; | 50 struct sockaddr ifa_addr; |
| 54 » union { | 51 union { |
| 55 » » struct sockaddr»ifu_broadaddr; | 52 struct sockaddr ifu_broadaddr; |
| 56 » » struct sockaddr»ifu_dstaddr; | 53 struct sockaddr ifu_dstaddr; |
| 57 » } ifa_ifu; | 54 } ifa_ifu; |
| 58 » struct iface *ifa_ifp; | 55 struct iface* ifa_ifp; |
| 59 » struct ifaddr *ifa_next; | 56 struct ifaddr* ifa_next; |
| 60 }; | 57 }; |
| 61 | 58 |
| 62 #define ifa_broadaddr» ifa_ifu.ifu_broadaddr | 59 #define ifa_broadaddr ifa_ifu.ifu_broadaddr |
| 63 #define ifa_dstaddr» ifa_ifu.ifu_dstaddr | 60 #define ifa_dstaddr ifa_ifu.ifu_dstaddr |
| 64 | 61 |
| 65 struct ifmap { | 62 struct ifmap { |
| 66 » unsigned long int mem_start; | 63 unsigned long int mem_start; |
| 67 » unsigned long int mem_end; | 64 unsigned long int mem_end; |
| 68 » unsigned short int base_addr; | 65 unsigned short int base_addr; |
| 69 » unsigned char irq; | 66 unsigned char irq; |
| 70 » unsigned char dma; | 67 unsigned char dma; |
| 71 » unsigned char port; | 68 unsigned char port; |
| 72 }; | 69 }; |
| 73 | 70 |
| 74 #define IFHWADDRLEN» 6 | 71 #define IFHWADDRLEN 6 |
| 75 #define IFNAMSIZ» IF_NAMESIZE | 72 #define IFNAMSIZ IF_NAMESIZE |
| 76 | 73 |
| 77 struct ifreq { | 74 struct ifreq { |
| 78 » union { | 75 union { |
| 79 » » char ifrn_name[IFNAMSIZ]; | 76 char ifrn_name[IFNAMSIZ]; |
| 80 » } ifr_ifrn; | 77 } ifr_ifrn; |
| 81 » union { | 78 union { |
| 82 » » struct sockaddr ifru_addr; | 79 struct sockaddr ifru_addr; |
| 83 » » struct sockaddr ifru_dstaddr; | 80 struct sockaddr ifru_dstaddr; |
| 84 » » struct sockaddr ifru_broadaddr; | 81 struct sockaddr ifru_broadaddr; |
| 85 » » struct sockaddr ifru_netmask; | 82 struct sockaddr ifru_netmask; |
| 86 » » struct sockaddr ifru_hwaddr; | 83 struct sockaddr ifru_hwaddr; |
| 87 » » short int ifru_flags; | 84 short int ifru_flags; |
| 88 » » int ifru_ivalue; | 85 int ifru_ivalue; |
| 89 » » int ifru_mtu; | 86 int ifru_mtu; |
| 90 » » struct ifmap ifru_map; | 87 struct ifmap ifru_map; |
| 91 » » char ifru_slave[IFNAMSIZ]; | 88 char ifru_slave[IFNAMSIZ]; |
| 92 » » char ifru_newname[IFNAMSIZ]; | 89 char ifru_newname[IFNAMSIZ]; |
| 93 » » void *ifru_data; | 90 void* ifru_data; |
| 94 » } ifr_ifru; | 91 } ifr_ifru; |
| 95 }; | 92 }; |
| 96 | 93 |
| 97 #define ifr_name» ifr_ifrn.ifrn_name | 94 #define ifr_name ifr_ifrn.ifrn_name |
| 98 #define ifr_hwaddr» ifr_ifru.ifru_hwaddr | 95 #define ifr_hwaddr ifr_ifru.ifru_hwaddr |
| 99 #define ifr_addr» ifr_ifru.ifru_addr | 96 #define ifr_addr ifr_ifru.ifru_addr |
| 100 #define ifr_dstaddr» ifr_ifru.ifru_dstaddr | 97 #define ifr_dstaddr ifr_ifru.ifru_dstaddr |
| 101 #define ifr_broadaddr» ifr_ifru.ifru_broadaddr | 98 #define ifr_broadaddr ifr_ifru.ifru_broadaddr |
| 102 #define ifr_netmask» ifr_ifru.ifru_netmask | 99 #define ifr_netmask ifr_ifru.ifru_netmask |
| 103 #define ifr_flags» ifr_ifru.ifru_flags | 100 #define ifr_flags ifr_ifru.ifru_flags |
| 104 #define ifr_metric» ifr_ifru.ifru_ivalue | 101 #define ifr_metric ifr_ifru.ifru_ivalue |
| 105 #define ifr_mtu»» ifr_ifru.ifru_mtu | 102 #define ifr_mtu ifr_ifru.ifru_mtu |
| 106 #define ifr_map»» ifr_ifru.ifru_map | 103 #define ifr_map ifr_ifru.ifru_map |
| 107 #define ifr_slave» ifr_ifru.ifru_slave | 104 #define ifr_slave ifr_ifru.ifru_slave |
| 108 #define ifr_data» ifr_ifru.ifru_data | 105 #define ifr_data ifr_ifru.ifru_data |
| 109 #define ifr_ifindex» ifr_ifru.ifru_ivalue | 106 #define ifr_ifindex ifr_ifru.ifru_ivalue |
| 110 #define ifr_bandwidth» ifr_ifru.ifru_ivalue | 107 #define ifr_bandwidth ifr_ifru.ifru_ivalue |
| 111 #define ifr_qlen» ifr_ifru.ifru_ivalue | 108 #define ifr_qlen ifr_ifru.ifru_ivalue |
| 112 #define ifr_newname» ifr_ifru.ifru_newname | 109 #define ifr_newname ifr_ifru.ifru_newname |
| 113 #define _IOT_ifreq» _IOT(_IOTS(char),IFNAMSIZ,_IOTS(char),16,0,0) | 110 #define _IOT_ifreq _IOT(_IOTS(char), IFNAMSIZ, _IOTS(char), 16, 0, 0) |
| 114 #define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0) | 111 #define _IOT_ifreq_short _IOT(_IOTS(char), IFNAMSIZ, _IOTS(short), 1, 0, 0) |
| 115 #define _IOT_ifreq_int» _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0) | 112 #define _IOT_ifreq_int _IOT(_IOTS(char), IFNAMSIZ, _IOTS(int), 1, 0, 0) |
| 116 | 113 |
| 117 struct ifconf { | 114 struct ifconf { |
| 118 » int ifc_len;» » | 115 int ifc_len; |
| 119 » union { | 116 union { |
| 120 » » void *ifcu_buf; | 117 void* ifcu_buf; |
| 121 » » struct ifreq *ifcu_req; | 118 struct ifreq* ifcu_req; |
| 122 » } ifc_ifcu; | 119 } ifc_ifcu; |
| 123 }; | 120 }; |
| 124 | 121 |
| 125 #define ifc_buf»» ifc_ifcu.ifcu_buf | 122 #define ifc_buf ifc_ifcu.ifcu_buf |
| 126 #define ifc_req»» ifc_ifcu.ifcu_req | 123 #define ifc_req ifc_ifcu.ifcu_req |
| 127 #define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0) | 124 #define _IOT_ifconf _IOT(_IOTS(struct ifconf), 1, 0, 0, 0, 0) |
| 128 | 125 |
| 129 #endif | 126 #endif |
| 130 | 127 |
| 131 #ifdef __cplusplus | 128 #ifdef __cplusplus |
| 132 } | 129 } |
| 133 #endif | 130 #endif |
| 134 | 131 |
| 135 #endif | 132 #endif |
| OLD | NEW |