//! Header: `uapi/linux/if_link.h`

use crate::prelude::*;

c_enum! {
    #[repr(c_ushort)]
    pub enum #anon {
        pub IFLA_UNSPEC,
        pub IFLA_ADDRESS,
        pub IFLA_BROADCAST,
        pub IFLA_IFNAME,
        pub IFLA_MTU,
        pub IFLA_LINK,
        pub IFLA_QDISC,
        pub IFLA_STATS,
        pub IFLA_COST,
        pub IFLA_PRIORITY,
        pub IFLA_MASTER,
        pub IFLA_WIRELESS,
        pub IFLA_PROTINFO,
        pub IFLA_TXQLEN,
        pub IFLA_MAP,
        pub IFLA_WEIGHT,
        pub IFLA_OPERSTATE,
        pub IFLA_LINKMODE,
        pub IFLA_LINKINFO,
        pub IFLA_NET_NS_PID,
        pub IFLA_IFALIAS,
        pub IFLA_NUM_VF,
        pub IFLA_VFINFO_LIST,
        pub IFLA_STATS64,
        pub IFLA_VF_PORTS,
        pub IFLA_PORT_SELF,
        pub IFLA_AF_SPEC,
        pub IFLA_GROUP,
        pub IFLA_NET_NS_FD,
        pub IFLA_EXT_MASK,
        pub IFLA_PROMISCUITY,
        pub IFLA_NUM_TX_QUEUES,
        pub IFLA_NUM_RX_QUEUES,
        pub IFLA_CARRIER,
        pub IFLA_PHYS_PORT_ID,
        pub IFLA_CARRIER_CHANGES,
        pub IFLA_PHYS_SWITCH_ID,
        pub IFLA_LINK_NETNSID,
        pub IFLA_PHYS_PORT_NAME,
        pub IFLA_PROTO_DOWN,
        pub IFLA_GSO_MAX_SEGS,
        pub IFLA_GSO_MAX_SIZE,
        pub IFLA_PAD,
        pub IFLA_XDP,
        pub IFLA_EVENT,
        pub IFLA_NEW_NETNSID,
        pub IFLA_IF_NETNSID,
        pub IFLA_TARGET_NETNSID = IFLA_IF_NETNSID,
        pub IFLA_CARRIER_UP_COUNT,
        pub IFLA_CARRIER_DOWN_COUNT,
        pub IFLA_NEW_IFINDEX,
        pub IFLA_MIN_MTU,
        pub IFLA_MAX_MTU,
        pub IFLA_PROP_LIST,
        pub IFLA_ALT_IFNAME,
        pub IFLA_PERM_ADDRESS,
        pub IFLA_PROTO_DOWN_REASON,

        pub IFLA_PARENT_DEV_NAME,
        pub IFLA_PARENT_DEV_BUS_NAME,
        pub IFLA_GRO_MAX_SIZE,
        pub IFLA_TSO_MAX_SIZE,
        pub IFLA_TSO_MAX_SEGS,
        pub IFLA_ALLMULTI,
    }

    #[repr(c_ushort)]
    pub enum #anon {
        pub IFLA_INFO_UNSPEC,
        pub IFLA_INFO_KIND,
        pub IFLA_INFO_DATA,
        pub IFLA_INFO_XSTATS,
        pub IFLA_INFO_SLAVE_KIND,
        pub IFLA_INFO_SLAVE_DATA,
    }
}
