Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ****************************************************************************
     11  ****************************************************************************/
     12 #ifndef _LINUX_IF_LINK_H
     13 #define _LINUX_IF_LINK_H
     14 
     15 #include <linux/types.h>
     16 #include <linux/netlink.h>
     17 
     18 struct rtnl_link_stats
     19 {
     20  __u32 rx_packets;
     21  __u32 tx_packets;
     22  __u32 rx_bytes;
     23  __u32 tx_bytes;
     24  __u32 rx_errors;
     25  __u32 tx_errors;
     26  __u32 rx_dropped;
     27  __u32 tx_dropped;
     28  __u32 multicast;
     29  __u32 collisions;
     30 
     31  __u32 rx_length_errors;
     32  __u32 rx_over_errors;
     33  __u32 rx_crc_errors;
     34  __u32 rx_frame_errors;
     35  __u32 rx_fifo_errors;
     36  __u32 rx_missed_errors;
     37 
     38  __u32 tx_aborted_errors;
     39  __u32 tx_carrier_errors;
     40  __u32 tx_fifo_errors;
     41  __u32 tx_heartbeat_errors;
     42  __u32 tx_window_errors;
     43 
     44  __u32 rx_compressed;
     45  __u32 tx_compressed;
     46 };
     47 
     48 struct rtnl_link_ifmap
     49 {
     50  __u64 mem_start;
     51  __u64 mem_end;
     52  __u64 base_addr;
     53  __u16 irq;
     54  __u8 dma;
     55  __u8 port;
     56 };
     57 
     58 enum
     59 {
     60  IFLA_UNSPEC,
     61  IFLA_ADDRESS,
     62  IFLA_BROADCAST,
     63  IFLA_IFNAME,
     64  IFLA_MTU,
     65  IFLA_LINK,
     66  IFLA_QDISC,
     67  IFLA_STATS,
     68  IFLA_COST,
     69 #define IFLA_COST IFLA_COST
     70  IFLA_PRIORITY,
     71 #define IFLA_PRIORITY IFLA_PRIORITY
     72  IFLA_MASTER,
     73 #define IFLA_MASTER IFLA_MASTER
     74  IFLA_WIRELESS,
     75 #define IFLA_WIRELESS IFLA_WIRELESS
     76  IFLA_PROTINFO,
     77 #define IFLA_PROTINFO IFLA_PROTINFO
     78  IFLA_TXQLEN,
     79 #define IFLA_TXQLEN IFLA_TXQLEN
     80  IFLA_MAP,
     81 #define IFLA_MAP IFLA_MAP
     82  IFLA_WEIGHT,
     83 #define IFLA_WEIGHT IFLA_WEIGHT
     84  IFLA_OPERSTATE,
     85  IFLA_LINKMODE,
     86  IFLA_LINKINFO,
     87 #define IFLA_LINKINFO IFLA_LINKINFO
     88  IFLA_NET_NS_PID,
     89  IFLA_IFALIAS,
     90  __IFLA_MAX
     91 };
     92 
     93 #define IFLA_MAX (__IFLA_MAX - 1)
     94 
     95 #define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
     96 #define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg))
     97 
     98 enum
     99 {
    100  IFLA_INET6_UNSPEC,
    101  IFLA_INET6_FLAGS,
    102  IFLA_INET6_CONF,
    103  IFLA_INET6_STATS,
    104  IFLA_INET6_MCAST,
    105  IFLA_INET6_CACHEINFO,
    106  IFLA_INET6_ICMP6STATS,
    107  __IFLA_INET6_MAX
    108 };
    109 
    110 #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
    111 
    112 struct ifla_cacheinfo
    113 {
    114  __u32 max_reasm_len;
    115  __u32 tstamp;
    116  __u32 reachable_time;
    117  __u32 retrans_time;
    118 };
    119 
    120 enum
    121 {
    122  IFLA_INFO_UNSPEC,
    123  IFLA_INFO_KIND,
    124  IFLA_INFO_DATA,
    125  IFLA_INFO_XSTATS,
    126  __IFLA_INFO_MAX,
    127 };
    128 
    129 #define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1)
    130 
    131 enum
    132 {
    133  IFLA_VLAN_UNSPEC,
    134  IFLA_VLAN_ID,
    135  IFLA_VLAN_FLAGS,
    136  IFLA_VLAN_EGRESS_QOS,
    137  IFLA_VLAN_INGRESS_QOS,
    138  __IFLA_VLAN_MAX,
    139 };
    140 
    141 #define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1)
    142 
    143 struct ifla_vlan_flags {
    144  __u32 flags;
    145  __u32 mask;
    146 };
    147 
    148 enum
    149 {
    150  IFLA_VLAN_QOS_UNSPEC,
    151  IFLA_VLAN_QOS_MAPPING,
    152  __IFLA_VLAN_QOS_MAX
    153 };
    154 
    155 #define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1)
    156 
    157 struct ifla_vlan_qos_mapping
    158 {
    159  __u32 from;
    160  __u32 to;
    161 };
    162 
    163 #endif
    164