/* automatically generated by rust-bindgen 0.59.1 */

pub const LINUX_VERSION_CODE: u32 = 132640;
pub const _K_SS_MAXSIZE: u32 = 128;
pub const __BITS_PER_LONG: u32 = 64;
pub const __FD_SETSIZE: u32 = 1024;
pub const NETLINK_ROUTE: u32 = 0;
pub const NETLINK_UNUSED: u32 = 1;
pub const NETLINK_USERSOCK: u32 = 2;
pub const NETLINK_FIREWALL: u32 = 3;
pub const NETLINK_INET_DIAG: u32 = 4;
pub const NETLINK_NFLOG: u32 = 5;
pub const NETLINK_XFRM: u32 = 6;
pub const NETLINK_SELINUX: u32 = 7;
pub const NETLINK_ISCSI: u32 = 8;
pub const NETLINK_AUDIT: u32 = 9;
pub const NETLINK_FIB_LOOKUP: u32 = 10;
pub const NETLINK_CONNECTOR: u32 = 11;
pub const NETLINK_NETFILTER: u32 = 12;
pub const NETLINK_IP6_FW: u32 = 13;
pub const NETLINK_DNRTMSG: u32 = 14;
pub const NETLINK_KOBJECT_UEVENT: u32 = 15;
pub const NETLINK_GENERIC: u32 = 16;
pub const NETLINK_SCSITRANSPORT: u32 = 18;
pub const NETLINK_ECRYPTFS: u32 = 19;
pub const MAX_LINKS: u32 = 32;
pub const NLM_F_REQUEST: u32 = 1;
pub const NLM_F_MULTI: u32 = 2;
pub const NLM_F_ACK: u32 = 4;
pub const NLM_F_ECHO: u32 = 8;
pub const NLM_F_ROOT: u32 = 256;
pub const NLM_F_MATCH: u32 = 512;
pub const NLM_F_ATOMIC: u32 = 1024;
pub const NLM_F_DUMP: u32 = 768;
pub const NLM_F_REPLACE: u32 = 256;
pub const NLM_F_EXCL: u32 = 512;
pub const NLM_F_CREATE: u32 = 1024;
pub const NLM_F_APPEND: u32 = 2048;
pub const NLMSG_ALIGNTO: u32 = 4;
pub const NLMSG_NOOP: u32 = 1;
pub const NLMSG_ERROR: u32 = 2;
pub const NLMSG_DONE: u32 = 3;
pub const NLMSG_OVERRUN: u32 = 4;
pub const NLMSG_MIN_TYPE: u32 = 16;
pub const NETLINK_ADD_MEMBERSHIP: u32 = 1;
pub const NETLINK_DROP_MEMBERSHIP: u32 = 2;
pub const NETLINK_PKTINFO: u32 = 3;
pub const NETLINK_BROADCAST_ERROR: u32 = 4;
pub const NETLINK_NO_ENOBUFS: u32 = 5;
pub const NET_MAJOR: u32 = 36;
pub const NLA_F_NESTED: u32 = 32768;
pub const NLA_F_NET_BYTEORDER: u32 = 16384;
pub const NLA_TYPE_MASK: i32 = -49153;
pub const NLA_ALIGNTO: u32 = 4;
pub const IFA_F_SECONDARY: u32 = 1;
pub const IFA_F_TEMPORARY: u32 = 1;
pub const IFA_F_NODAD: u32 = 2;
pub const IFA_F_OPTIMISTIC: u32 = 4;
pub const IFA_F_DADFAILED: u32 = 8;
pub const IFA_F_HOMEADDRESS: u32 = 16;
pub const IFA_F_DEPRECATED: u32 = 32;
pub const IFA_F_TENTATIVE: u32 = 64;
pub const IFA_F_PERMANENT: u32 = 128;
pub const NTF_USE: u32 = 1;
pub const NTF_PROXY: u32 = 8;
pub const NTF_ROUTER: u32 = 128;
pub const NUD_INCOMPLETE: u32 = 1;
pub const NUD_REACHABLE: u32 = 2;
pub const NUD_STALE: u32 = 4;
pub const NUD_DELAY: u32 = 8;
pub const NUD_PROBE: u32 = 16;
pub const NUD_FAILED: u32 = 32;
pub const NUD_NOARP: u32 = 64;
pub const NUD_PERMANENT: u32 = 128;
pub const NUD_NONE: u32 = 0;
pub const RTA_ALIGNTO: u32 = 4;
pub const RTPROT_UNSPEC: u32 = 0;
pub const RTPROT_REDIRECT: u32 = 1;
pub const RTPROT_KERNEL: u32 = 2;
pub const RTPROT_BOOT: u32 = 3;
pub const RTPROT_STATIC: u32 = 4;
pub const RTPROT_GATED: u32 = 8;
pub const RTPROT_RA: u32 = 9;
pub const RTPROT_MRT: u32 = 10;
pub const RTPROT_ZEBRA: u32 = 11;
pub const RTPROT_BIRD: u32 = 12;
pub const RTPROT_DNROUTED: u32 = 13;
pub const RTPROT_XORP: u32 = 14;
pub const RTPROT_NTK: u32 = 15;
pub const RTPROT_DHCP: u32 = 16;
pub const RTM_F_NOTIFY: u32 = 256;
pub const RTM_F_CLONED: u32 = 512;
pub const RTM_F_EQUALIZE: u32 = 1024;
pub const RTM_F_PREFIX: u32 = 2048;
pub const RTNH_F_DEAD: u32 = 1;
pub const RTNH_F_PERVASIVE: u32 = 2;
pub const RTNH_F_ONLINK: u32 = 4;
pub const RTNH_ALIGNTO: u32 = 4;
pub const RTNETLINK_HAVE_PEERINFO: u32 = 1;
pub const RTAX_FEATURE_ECN: u32 = 1;
pub const RTAX_FEATURE_SACK: u32 = 2;
pub const RTAX_FEATURE_TIMESTAMP: u32 = 4;
pub const RTAX_FEATURE_ALLFRAG: u32 = 8;
pub const RTMGRP_LINK: u32 = 1;
pub const RTMGRP_NOTIFY: u32 = 2;
pub const RTMGRP_NEIGH: u32 = 4;
pub const RTMGRP_TC: u32 = 8;
pub const RTMGRP_IPV4_IFADDR: u32 = 16;
pub const RTMGRP_IPV4_MROUTE: u32 = 32;
pub const RTMGRP_IPV4_ROUTE: u32 = 64;
pub const RTMGRP_IPV4_RULE: u32 = 128;
pub const RTMGRP_IPV6_IFADDR: u32 = 256;
pub const RTMGRP_IPV6_MROUTE: u32 = 512;
pub const RTMGRP_IPV6_ROUTE: u32 = 1024;
pub const RTMGRP_IPV6_IFINFO: u32 = 2048;
pub const RTMGRP_DECnet_IFADDR: u32 = 4096;
pub const RTMGRP_DECnet_ROUTE: u32 = 16384;
pub const RTMGRP_IPV6_PREFIX: u32 = 131072;
pub const TCA_ACT_TAB: u32 = 1;
pub const TCAA_MAX: u32 = 1;
pub type size_t = crate::ctypes::c_ulong;
pub type ssize_t = crate::ctypes::c_long;
#[repr(C)]
#[repr(align(8))]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_sockaddr_storage {
pub ss_family: crate::ctypes::c_ushort,
pub __data: [crate::ctypes::c_char; 126usize],
}
pub type __s8 = crate::ctypes::c_schar;
pub type __u8 = crate::ctypes::c_uchar;
pub type __s16 = crate::ctypes::c_short;
pub type __u16 = crate::ctypes::c_ushort;
pub type __s32 = crate::ctypes::c_int;
pub type __u32 = crate::ctypes::c_uint;
pub type __s64 = crate::ctypes::c_longlong;
pub type __u64 = crate::ctypes::c_ulonglong;
pub type umode_t = crate::ctypes::c_ushort;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fd_set {
pub fds_bits: [crate::ctypes::c_ulong; 16usize],
}
pub type __kernel_sighandler_t = ::core::option::Option<unsafe extern "C" fn(arg1: crate::ctypes::c_int)>;
pub type __kernel_key_t = crate::ctypes::c_int;
pub type __kernel_mqd_t = crate::ctypes::c_int;
pub type __kernel_ino_t = crate::ctypes::c_ulong;
pub type __kernel_mode_t = crate::ctypes::c_uint;
pub type __kernel_nlink_t = crate::ctypes::c_ulong;
pub type __kernel_off_t = crate::ctypes::c_long;
pub type __kernel_pid_t = crate::ctypes::c_int;
pub type __kernel_ipc_pid_t = crate::ctypes::c_int;
pub type __kernel_uid_t = crate::ctypes::c_uint;
pub type __kernel_gid_t = crate::ctypes::c_uint;
pub type __kernel_size_t = crate::ctypes::c_ulong;
pub type __kernel_ssize_t = crate::ctypes::c_long;
pub type __kernel_ptrdiff_t = crate::ctypes::c_long;
pub type __kernel_time_t = crate::ctypes::c_long;
pub type __kernel_suseconds_t = crate::ctypes::c_long;
pub type __kernel_clock_t = crate::ctypes::c_long;
pub type __kernel_timer_t = crate::ctypes::c_int;
pub type __kernel_clockid_t = crate::ctypes::c_int;
pub type __kernel_daddr_t = crate::ctypes::c_int;
pub type __kernel_caddr_t = *mut crate::ctypes::c_char;
pub type __kernel_uid16_t = crate::ctypes::c_ushort;
pub type __kernel_gid16_t = crate::ctypes::c_ushort;
pub type __kernel_loff_t = crate::ctypes::c_longlong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __kernel_fsid_t {
pub val: [crate::ctypes::c_int; 2usize],
}
pub type __kernel_old_uid_t = crate::ctypes::c_ushort;
pub type __kernel_old_gid_t = crate::ctypes::c_ushort;
pub type __kernel_uid32_t = __kernel_uid_t;
pub type __kernel_gid32_t = __kernel_gid_t;
pub type __kernel_old_dev_t = crate::ctypes::c_ulong;
pub type __le16 = __u16;
pub type __be16 = __u16;
pub type __le32 = __u32;
pub type __be32 = __u32;
pub type __le64 = __u64;
pub type __be64 = __u64;
pub type __sum16 = __u16;
pub type __wsum = __u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct net {
_unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct sockaddr_nl {
pub nl_family: u16,
pub nl_pad: crate::ctypes::c_ushort,
pub nl_pid: __u32,
pub nl_groups: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nlmsghdr {
pub nlmsg_len: __u32,
pub nlmsg_type: __u16,
pub nlmsg_flags: __u16,
pub nlmsg_seq: __u32,
pub nlmsg_pid: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nlmsgerr {
pub error: crate::ctypes::c_int,
pub msg: nlmsghdr,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nl_pktinfo {
pub group: __u32,
}
pub const NETLINK_UNCONNECTED: _bindgen_ty_1 = _bindgen_ty_1::NETLINK_UNCONNECTED;
pub const NETLINK_CONNECTED: _bindgen_ty_1 = _bindgen_ty_1::NETLINK_CONNECTED;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_1 {
NETLINK_UNCONNECTED = 0,
NETLINK_CONNECTED = 1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nlattr {
pub nla_len: __u16,
pub nla_type: __u16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtnl_link_stats {
pub rx_packets: __u32,
pub tx_packets: __u32,
pub rx_bytes: __u32,
pub tx_bytes: __u32,
pub rx_errors: __u32,
pub tx_errors: __u32,
pub rx_dropped: __u32,
pub tx_dropped: __u32,
pub multicast: __u32,
pub collisions: __u32,
pub rx_length_errors: __u32,
pub rx_over_errors: __u32,
pub rx_crc_errors: __u32,
pub rx_frame_errors: __u32,
pub rx_fifo_errors: __u32,
pub rx_missed_errors: __u32,
pub tx_aborted_errors: __u32,
pub tx_carrier_errors: __u32,
pub tx_fifo_errors: __u32,
pub tx_heartbeat_errors: __u32,
pub tx_window_errors: __u32,
pub rx_compressed: __u32,
pub tx_compressed: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtnl_link_ifmap {
pub mem_start: __u64,
pub mem_end: __u64,
pub base_addr: __u64,
pub irq: __u16,
pub dma: __u8,
pub port: __u8,
}
pub const IFLA_UNSPEC: _bindgen_ty_2 = _bindgen_ty_2::IFLA_UNSPEC;
pub const IFLA_ADDRESS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_ADDRESS;
pub const IFLA_BROADCAST: _bindgen_ty_2 = _bindgen_ty_2::IFLA_BROADCAST;
pub const IFLA_IFNAME: _bindgen_ty_2 = _bindgen_ty_2::IFLA_IFNAME;
pub const IFLA_MTU: _bindgen_ty_2 = _bindgen_ty_2::IFLA_MTU;
pub const IFLA_LINK: _bindgen_ty_2 = _bindgen_ty_2::IFLA_LINK;
pub const IFLA_QDISC: _bindgen_ty_2 = _bindgen_ty_2::IFLA_QDISC;
pub const IFLA_STATS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_STATS;
pub const IFLA_COST: _bindgen_ty_2 = _bindgen_ty_2::IFLA_COST;
pub const IFLA_PRIORITY: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PRIORITY;
pub const IFLA_MASTER: _bindgen_ty_2 = _bindgen_ty_2::IFLA_MASTER;
pub const IFLA_WIRELESS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_WIRELESS;
pub const IFLA_PROTINFO: _bindgen_ty_2 = _bindgen_ty_2::IFLA_PROTINFO;
pub const IFLA_TXQLEN: _bindgen_ty_2 = _bindgen_ty_2::IFLA_TXQLEN;
pub const IFLA_MAP: _bindgen_ty_2 = _bindgen_ty_2::IFLA_MAP;
pub const IFLA_WEIGHT: _bindgen_ty_2 = _bindgen_ty_2::IFLA_WEIGHT;
pub const IFLA_OPERSTATE: _bindgen_ty_2 = _bindgen_ty_2::IFLA_OPERSTATE;
pub const IFLA_LINKMODE: _bindgen_ty_2 = _bindgen_ty_2::IFLA_LINKMODE;
pub const IFLA_LINKINFO: _bindgen_ty_2 = _bindgen_ty_2::IFLA_LINKINFO;
pub const IFLA_NET_NS_PID: _bindgen_ty_2 = _bindgen_ty_2::IFLA_NET_NS_PID;
pub const IFLA_IFALIAS: _bindgen_ty_2 = _bindgen_ty_2::IFLA_IFALIAS;
pub const __IFLA_MAX: _bindgen_ty_2 = _bindgen_ty_2::__IFLA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_2 {
IFLA_UNSPEC = 0,
IFLA_ADDRESS = 1,
IFLA_BROADCAST = 2,
IFLA_IFNAME = 3,
IFLA_MTU = 4,
IFLA_LINK = 5,
IFLA_QDISC = 6,
IFLA_STATS = 7,
IFLA_COST = 8,
IFLA_PRIORITY = 9,
IFLA_MASTER = 10,
IFLA_WIRELESS = 11,
IFLA_PROTINFO = 12,
IFLA_TXQLEN = 13,
IFLA_MAP = 14,
IFLA_WEIGHT = 15,
IFLA_OPERSTATE = 16,
IFLA_LINKMODE = 17,
IFLA_LINKINFO = 18,
IFLA_NET_NS_PID = 19,
IFLA_IFALIAS = 20,
__IFLA_MAX = 21,
}
pub const IFLA_INET6_UNSPEC: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_UNSPEC;
pub const IFLA_INET6_FLAGS: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_FLAGS;
pub const IFLA_INET6_CONF: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_CONF;
pub const IFLA_INET6_STATS: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_STATS;
pub const IFLA_INET6_MCAST: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_MCAST;
pub const IFLA_INET6_CACHEINFO: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_CACHEINFO;
pub const IFLA_INET6_ICMP6STATS: _bindgen_ty_3 = _bindgen_ty_3::IFLA_INET6_ICMP6STATS;
pub const __IFLA_INET6_MAX: _bindgen_ty_3 = _bindgen_ty_3::__IFLA_INET6_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_3 {
IFLA_INET6_UNSPEC = 0,
IFLA_INET6_FLAGS = 1,
IFLA_INET6_CONF = 2,
IFLA_INET6_STATS = 3,
IFLA_INET6_MCAST = 4,
IFLA_INET6_CACHEINFO = 5,
IFLA_INET6_ICMP6STATS = 6,
__IFLA_INET6_MAX = 7,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_cacheinfo {
pub max_reasm_len: __u32,
pub tstamp: __u32,
pub reachable_time: __u32,
pub retrans_time: __u32,
}
pub const IFLA_INFO_UNSPEC: _bindgen_ty_4 = _bindgen_ty_4::IFLA_INFO_UNSPEC;
pub const IFLA_INFO_KIND: _bindgen_ty_4 = _bindgen_ty_4::IFLA_INFO_KIND;
pub const IFLA_INFO_DATA: _bindgen_ty_4 = _bindgen_ty_4::IFLA_INFO_DATA;
pub const IFLA_INFO_XSTATS: _bindgen_ty_4 = _bindgen_ty_4::IFLA_INFO_XSTATS;
pub const __IFLA_INFO_MAX: _bindgen_ty_4 = _bindgen_ty_4::__IFLA_INFO_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_4 {
IFLA_INFO_UNSPEC = 0,
IFLA_INFO_KIND = 1,
IFLA_INFO_DATA = 2,
IFLA_INFO_XSTATS = 3,
__IFLA_INFO_MAX = 4,
}
pub const IFLA_VLAN_UNSPEC: _bindgen_ty_5 = _bindgen_ty_5::IFLA_VLAN_UNSPEC;
pub const IFLA_VLAN_ID: _bindgen_ty_5 = _bindgen_ty_5::IFLA_VLAN_ID;
pub const IFLA_VLAN_FLAGS: _bindgen_ty_5 = _bindgen_ty_5::IFLA_VLAN_FLAGS;
pub const IFLA_VLAN_EGRESS_QOS: _bindgen_ty_5 = _bindgen_ty_5::IFLA_VLAN_EGRESS_QOS;
pub const IFLA_VLAN_INGRESS_QOS: _bindgen_ty_5 = _bindgen_ty_5::IFLA_VLAN_INGRESS_QOS;
pub const __IFLA_VLAN_MAX: _bindgen_ty_5 = _bindgen_ty_5::__IFLA_VLAN_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_5 {
IFLA_VLAN_UNSPEC = 0,
IFLA_VLAN_ID = 1,
IFLA_VLAN_FLAGS = 2,
IFLA_VLAN_EGRESS_QOS = 3,
IFLA_VLAN_INGRESS_QOS = 4,
__IFLA_VLAN_MAX = 5,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vlan_flags {
pub flags: __u32,
pub mask: __u32,
}
pub const IFLA_VLAN_QOS_UNSPEC: _bindgen_ty_6 = _bindgen_ty_6::IFLA_VLAN_QOS_UNSPEC;
pub const IFLA_VLAN_QOS_MAPPING: _bindgen_ty_6 = _bindgen_ty_6::IFLA_VLAN_QOS_MAPPING;
pub const __IFLA_VLAN_QOS_MAX: _bindgen_ty_6 = _bindgen_ty_6::__IFLA_VLAN_QOS_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_6 {
IFLA_VLAN_QOS_UNSPEC = 0,
IFLA_VLAN_QOS_MAPPING = 1,
__IFLA_VLAN_QOS_MAX = 2,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifla_vlan_qos_mapping {
pub from: __u32,
pub to: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifaddrmsg {
pub ifa_family: __u8,
pub ifa_prefixlen: __u8,
pub ifa_flags: __u8,
pub ifa_scope: __u8,
pub ifa_index: __u32,
}
pub const IFA_UNSPEC: _bindgen_ty_7 = _bindgen_ty_7::IFA_UNSPEC;
pub const IFA_ADDRESS: _bindgen_ty_7 = _bindgen_ty_7::IFA_ADDRESS;
pub const IFA_LOCAL: _bindgen_ty_7 = _bindgen_ty_7::IFA_LOCAL;
pub const IFA_LABEL: _bindgen_ty_7 = _bindgen_ty_7::IFA_LABEL;
pub const IFA_BROADCAST: _bindgen_ty_7 = _bindgen_ty_7::IFA_BROADCAST;
pub const IFA_ANYCAST: _bindgen_ty_7 = _bindgen_ty_7::IFA_ANYCAST;
pub const IFA_CACHEINFO: _bindgen_ty_7 = _bindgen_ty_7::IFA_CACHEINFO;
pub const IFA_MULTICAST: _bindgen_ty_7 = _bindgen_ty_7::IFA_MULTICAST;
pub const __IFA_MAX: _bindgen_ty_7 = _bindgen_ty_7::__IFA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_7 {
IFA_UNSPEC = 0,
IFA_ADDRESS = 1,
IFA_LOCAL = 2,
IFA_LABEL = 3,
IFA_BROADCAST = 4,
IFA_ANYCAST = 5,
IFA_CACHEINFO = 6,
IFA_MULTICAST = 7,
__IFA_MAX = 8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifa_cacheinfo {
pub ifa_prefered: __u32,
pub ifa_valid: __u32,
pub cstamp: __u32,
pub tstamp: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ndmsg {
pub ndm_family: __u8,
pub ndm_pad1: __u8,
pub ndm_pad2: __u16,
pub ndm_ifindex: __s32,
pub ndm_state: __u16,
pub ndm_flags: __u8,
pub ndm_type: __u8,
}
pub const NDA_UNSPEC: _bindgen_ty_8 = _bindgen_ty_8::NDA_UNSPEC;
pub const NDA_DST: _bindgen_ty_8 = _bindgen_ty_8::NDA_DST;
pub const NDA_LLADDR: _bindgen_ty_8 = _bindgen_ty_8::NDA_LLADDR;
pub const NDA_CACHEINFO: _bindgen_ty_8 = _bindgen_ty_8::NDA_CACHEINFO;
pub const NDA_PROBES: _bindgen_ty_8 = _bindgen_ty_8::NDA_PROBES;
pub const __NDA_MAX: _bindgen_ty_8 = _bindgen_ty_8::__NDA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_8 {
NDA_UNSPEC = 0,
NDA_DST = 1,
NDA_LLADDR = 2,
NDA_CACHEINFO = 3,
NDA_PROBES = 4,
__NDA_MAX = 5,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nda_cacheinfo {
pub ndm_confirmed: __u32,
pub ndm_used: __u32,
pub ndm_updated: __u32,
pub ndm_refcnt: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ndt_stats {
pub ndts_allocs: __u64,
pub ndts_destroys: __u64,
pub ndts_hash_grows: __u64,
pub ndts_res_failed: __u64,
pub ndts_lookups: __u64,
pub ndts_hits: __u64,
pub ndts_rcv_probes_mcast: __u64,
pub ndts_rcv_probes_ucast: __u64,
pub ndts_periodic_gc_runs: __u64,
pub ndts_forced_gc_runs: __u64,
}
pub const NDTPA_UNSPEC: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_UNSPEC;
pub const NDTPA_IFINDEX: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_IFINDEX;
pub const NDTPA_REFCNT: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_REFCNT;
pub const NDTPA_REACHABLE_TIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_REACHABLE_TIME;
pub const NDTPA_BASE_REACHABLE_TIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_BASE_REACHABLE_TIME;
pub const NDTPA_RETRANS_TIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_RETRANS_TIME;
pub const NDTPA_GC_STALETIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_GC_STALETIME;
pub const NDTPA_DELAY_PROBE_TIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_DELAY_PROBE_TIME;
pub const NDTPA_QUEUE_LEN: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_QUEUE_LEN;
pub const NDTPA_APP_PROBES: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_APP_PROBES;
pub const NDTPA_UCAST_PROBES: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_UCAST_PROBES;
pub const NDTPA_MCAST_PROBES: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_MCAST_PROBES;
pub const NDTPA_ANYCAST_DELAY: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_ANYCAST_DELAY;
pub const NDTPA_PROXY_DELAY: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_PROXY_DELAY;
pub const NDTPA_PROXY_QLEN: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_PROXY_QLEN;
pub const NDTPA_LOCKTIME: _bindgen_ty_9 = _bindgen_ty_9::NDTPA_LOCKTIME;
pub const __NDTPA_MAX: _bindgen_ty_9 = _bindgen_ty_9::__NDTPA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_9 {
NDTPA_UNSPEC = 0,
NDTPA_IFINDEX = 1,
NDTPA_REFCNT = 2,
NDTPA_REACHABLE_TIME = 3,
NDTPA_BASE_REACHABLE_TIME = 4,
NDTPA_RETRANS_TIME = 5,
NDTPA_GC_STALETIME = 6,
NDTPA_DELAY_PROBE_TIME = 7,
NDTPA_QUEUE_LEN = 8,
NDTPA_APP_PROBES = 9,
NDTPA_UCAST_PROBES = 10,
NDTPA_MCAST_PROBES = 11,
NDTPA_ANYCAST_DELAY = 12,
NDTPA_PROXY_DELAY = 13,
NDTPA_PROXY_QLEN = 14,
NDTPA_LOCKTIME = 15,
__NDTPA_MAX = 16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ndtmsg {
pub ndtm_family: __u8,
pub ndtm_pad1: __u8,
pub ndtm_pad2: __u16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ndt_config {
pub ndtc_key_len: __u16,
pub ndtc_entry_size: __u16,
pub ndtc_entries: __u32,
pub ndtc_last_flush: __u32,
pub ndtc_last_rand: __u32,
pub ndtc_hash_rnd: __u32,
pub ndtc_hash_mask: __u32,
pub ndtc_hash_chain_gc: __u32,
pub ndtc_proxy_qlen: __u32,
}
pub const NDTA_UNSPEC: _bindgen_ty_10 = _bindgen_ty_10::NDTA_UNSPEC;
pub const NDTA_NAME: _bindgen_ty_10 = _bindgen_ty_10::NDTA_NAME;
pub const NDTA_THRESH1: _bindgen_ty_10 = _bindgen_ty_10::NDTA_THRESH1;
pub const NDTA_THRESH2: _bindgen_ty_10 = _bindgen_ty_10::NDTA_THRESH2;
pub const NDTA_THRESH3: _bindgen_ty_10 = _bindgen_ty_10::NDTA_THRESH3;
pub const NDTA_CONFIG: _bindgen_ty_10 = _bindgen_ty_10::NDTA_CONFIG;
pub const NDTA_PARMS: _bindgen_ty_10 = _bindgen_ty_10::NDTA_PARMS;
pub const NDTA_STATS: _bindgen_ty_10 = _bindgen_ty_10::NDTA_STATS;
pub const NDTA_GC_INTERVAL: _bindgen_ty_10 = _bindgen_ty_10::NDTA_GC_INTERVAL;
pub const __NDTA_MAX: _bindgen_ty_10 = _bindgen_ty_10::__NDTA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_10 {
NDTA_UNSPEC = 0,
NDTA_NAME = 1,
NDTA_THRESH1 = 2,
NDTA_THRESH2 = 3,
NDTA_THRESH3 = 4,
NDTA_CONFIG = 5,
NDTA_PARMS = 6,
NDTA_STATS = 7,
NDTA_GC_INTERVAL = 8,
__NDTA_MAX = 9,
}
pub const RTM_BASE: _bindgen_ty_11 = _bindgen_ty_11::RTM_BASE;
pub const RTM_NEWLINK: _bindgen_ty_11 = _bindgen_ty_11::RTM_BASE;
pub const RTM_DELLINK: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELLINK;
pub const RTM_GETLINK: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETLINK;
pub const RTM_SETLINK: _bindgen_ty_11 = _bindgen_ty_11::RTM_SETLINK;
pub const RTM_NEWADDR: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWADDR;
pub const RTM_DELADDR: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELADDR;
pub const RTM_GETADDR: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETADDR;
pub const RTM_NEWROUTE: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWROUTE;
pub const RTM_DELROUTE: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELROUTE;
pub const RTM_GETROUTE: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETROUTE;
pub const RTM_NEWNEIGH: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWNEIGH;
pub const RTM_DELNEIGH: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELNEIGH;
pub const RTM_GETNEIGH: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETNEIGH;
pub const RTM_NEWRULE: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWRULE;
pub const RTM_DELRULE: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELRULE;
pub const RTM_GETRULE: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETRULE;
pub const RTM_NEWQDISC: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWQDISC;
pub const RTM_DELQDISC: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELQDISC;
pub const RTM_GETQDISC: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETQDISC;
pub const RTM_NEWTCLASS: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWTCLASS;
pub const RTM_DELTCLASS: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELTCLASS;
pub const RTM_GETTCLASS: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETTCLASS;
pub const RTM_NEWTFILTER: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWTFILTER;
pub const RTM_DELTFILTER: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELTFILTER;
pub const RTM_GETTFILTER: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETTFILTER;
pub const RTM_NEWACTION: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWACTION;
pub const RTM_DELACTION: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELACTION;
pub const RTM_GETACTION: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETACTION;
pub const RTM_NEWPREFIX: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWPREFIX;
pub const RTM_GETMULTICAST: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETMULTICAST;
pub const RTM_GETANYCAST: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETANYCAST;
pub const RTM_NEWNEIGHTBL: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWNEIGHTBL;
pub const RTM_GETNEIGHTBL: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETNEIGHTBL;
pub const RTM_SETNEIGHTBL: _bindgen_ty_11 = _bindgen_ty_11::RTM_SETNEIGHTBL;
pub const RTM_NEWNDUSEROPT: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWNDUSEROPT;
pub const RTM_NEWADDRLABEL: _bindgen_ty_11 = _bindgen_ty_11::RTM_NEWADDRLABEL;
pub const RTM_DELADDRLABEL: _bindgen_ty_11 = _bindgen_ty_11::RTM_DELADDRLABEL;
pub const RTM_GETADDRLABEL: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETADDRLABEL;
pub const RTM_GETDCB: _bindgen_ty_11 = _bindgen_ty_11::RTM_GETDCB;
pub const RTM_SETDCB: _bindgen_ty_11 = _bindgen_ty_11::RTM_SETDCB;
pub const __RTM_MAX: _bindgen_ty_11 = _bindgen_ty_11::__RTM_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_11 {
RTM_BASE = 16,
RTM_DELLINK = 17,
RTM_GETLINK = 18,
RTM_SETLINK = 19,
RTM_NEWADDR = 20,
RTM_DELADDR = 21,
RTM_GETADDR = 22,
RTM_NEWROUTE = 24,
RTM_DELROUTE = 25,
RTM_GETROUTE = 26,
RTM_NEWNEIGH = 28,
RTM_DELNEIGH = 29,
RTM_GETNEIGH = 30,
RTM_NEWRULE = 32,
RTM_DELRULE = 33,
RTM_GETRULE = 34,
RTM_NEWQDISC = 36,
RTM_DELQDISC = 37,
RTM_GETQDISC = 38,
RTM_NEWTCLASS = 40,
RTM_DELTCLASS = 41,
RTM_GETTCLASS = 42,
RTM_NEWTFILTER = 44,
RTM_DELTFILTER = 45,
RTM_GETTFILTER = 46,
RTM_NEWACTION = 48,
RTM_DELACTION = 49,
RTM_GETACTION = 50,
RTM_NEWPREFIX = 52,
RTM_GETMULTICAST = 58,
RTM_GETANYCAST = 62,
RTM_NEWNEIGHTBL = 64,
RTM_GETNEIGHTBL = 66,
RTM_SETNEIGHTBL = 67,
RTM_NEWNDUSEROPT = 68,
RTM_NEWADDRLABEL = 72,
RTM_DELADDRLABEL = 73,
RTM_GETADDRLABEL = 74,
RTM_GETDCB = 78,
RTM_SETDCB = 79,
__RTM_MAX = 80,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtattr {
pub rta_len: crate::ctypes::c_ushort,
pub rta_type: crate::ctypes::c_ushort,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtmsg {
pub rtm_family: crate::ctypes::c_uchar,
pub rtm_dst_len: crate::ctypes::c_uchar,
pub rtm_src_len: crate::ctypes::c_uchar,
pub rtm_tos: crate::ctypes::c_uchar,
pub rtm_table: crate::ctypes::c_uchar,
pub rtm_protocol: crate::ctypes::c_uchar,
pub rtm_scope: crate::ctypes::c_uchar,
pub rtm_type: crate::ctypes::c_uchar,
pub rtm_flags: crate::ctypes::c_uint,
}
pub const RTN_UNSPEC: _bindgen_ty_12 = _bindgen_ty_12::RTN_UNSPEC;
pub const RTN_UNICAST: _bindgen_ty_12 = _bindgen_ty_12::RTN_UNICAST;
pub const RTN_LOCAL: _bindgen_ty_12 = _bindgen_ty_12::RTN_LOCAL;
pub const RTN_BROADCAST: _bindgen_ty_12 = _bindgen_ty_12::RTN_BROADCAST;
pub const RTN_ANYCAST: _bindgen_ty_12 = _bindgen_ty_12::RTN_ANYCAST;
pub const RTN_MULTICAST: _bindgen_ty_12 = _bindgen_ty_12::RTN_MULTICAST;
pub const RTN_BLACKHOLE: _bindgen_ty_12 = _bindgen_ty_12::RTN_BLACKHOLE;
pub const RTN_UNREACHABLE: _bindgen_ty_12 = _bindgen_ty_12::RTN_UNREACHABLE;
pub const RTN_PROHIBIT: _bindgen_ty_12 = _bindgen_ty_12::RTN_PROHIBIT;
pub const RTN_THROW: _bindgen_ty_12 = _bindgen_ty_12::RTN_THROW;
pub const RTN_NAT: _bindgen_ty_12 = _bindgen_ty_12::RTN_NAT;
pub const RTN_XRESOLVE: _bindgen_ty_12 = _bindgen_ty_12::RTN_XRESOLVE;
pub const __RTN_MAX: _bindgen_ty_12 = _bindgen_ty_12::__RTN_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_12 {
RTN_UNSPEC = 0,
RTN_UNICAST = 1,
RTN_LOCAL = 2,
RTN_BROADCAST = 3,
RTN_ANYCAST = 4,
RTN_MULTICAST = 5,
RTN_BLACKHOLE = 6,
RTN_UNREACHABLE = 7,
RTN_PROHIBIT = 8,
RTN_THROW = 9,
RTN_NAT = 10,
RTN_XRESOLVE = 11,
__RTN_MAX = 12,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum rt_scope_t {
RT_SCOPE_UNIVERSE = 0,
RT_SCOPE_SITE = 200,
RT_SCOPE_LINK = 253,
RT_SCOPE_HOST = 254,
RT_SCOPE_NOWHERE = 255,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum rt_class_t {
RT_TABLE_UNSPEC = 0,
RT_TABLE_COMPAT = 252,
RT_TABLE_DEFAULT = 253,
RT_TABLE_MAIN = 254,
RT_TABLE_LOCAL = 255,
RT_TABLE_MAX = 4294967295,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum rtattr_type_t {
RTA_UNSPEC = 0,
RTA_DST = 1,
RTA_SRC = 2,
RTA_IIF = 3,
RTA_OIF = 4,
RTA_GATEWAY = 5,
RTA_PRIORITY = 6,
RTA_PREFSRC = 7,
RTA_METRICS = 8,
RTA_MULTIPATH = 9,
RTA_PROTOINFO = 10,
RTA_FLOW = 11,
RTA_CACHEINFO = 12,
RTA_SESSION = 13,
RTA_MP_ALGO = 14,
RTA_TABLE = 15,
__RTA_MAX = 16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtnexthop {
pub rtnh_len: crate::ctypes::c_ushort,
pub rtnh_flags: crate::ctypes::c_uchar,
pub rtnh_hops: crate::ctypes::c_uchar,
pub rtnh_ifindex: crate::ctypes::c_int,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rta_cacheinfo {
pub rta_clntref: __u32,
pub rta_lastuse: __u32,
pub rta_expires: __s32,
pub rta_error: __u32,
pub rta_used: __u32,
pub rta_id: __u32,
pub rta_ts: __u32,
pub rta_tsage: __u32,
}
pub const RTAX_UNSPEC: _bindgen_ty_13 = _bindgen_ty_13::RTAX_UNSPEC;
pub const RTAX_LOCK: _bindgen_ty_13 = _bindgen_ty_13::RTAX_LOCK;
pub const RTAX_MTU: _bindgen_ty_13 = _bindgen_ty_13::RTAX_MTU;
pub const RTAX_WINDOW: _bindgen_ty_13 = _bindgen_ty_13::RTAX_WINDOW;
pub const RTAX_RTT: _bindgen_ty_13 = _bindgen_ty_13::RTAX_RTT;
pub const RTAX_RTTVAR: _bindgen_ty_13 = _bindgen_ty_13::RTAX_RTTVAR;
pub const RTAX_SSTHRESH: _bindgen_ty_13 = _bindgen_ty_13::RTAX_SSTHRESH;
pub const RTAX_CWND: _bindgen_ty_13 = _bindgen_ty_13::RTAX_CWND;
pub const RTAX_ADVMSS: _bindgen_ty_13 = _bindgen_ty_13::RTAX_ADVMSS;
pub const RTAX_REORDERING: _bindgen_ty_13 = _bindgen_ty_13::RTAX_REORDERING;
pub const RTAX_HOPLIMIT: _bindgen_ty_13 = _bindgen_ty_13::RTAX_HOPLIMIT;
pub const RTAX_INITCWND: _bindgen_ty_13 = _bindgen_ty_13::RTAX_INITCWND;
pub const RTAX_FEATURES: _bindgen_ty_13 = _bindgen_ty_13::RTAX_FEATURES;
pub const RTAX_RTO_MIN: _bindgen_ty_13 = _bindgen_ty_13::RTAX_RTO_MIN;
pub const __RTAX_MAX: _bindgen_ty_13 = _bindgen_ty_13::__RTAX_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_13 {
RTAX_UNSPEC = 0,
RTAX_LOCK = 1,
RTAX_MTU = 2,
RTAX_WINDOW = 3,
RTAX_RTT = 4,
RTAX_RTTVAR = 5,
RTAX_SSTHRESH = 6,
RTAX_CWND = 7,
RTAX_ADVMSS = 8,
RTAX_REORDERING = 9,
RTAX_HOPLIMIT = 10,
RTAX_INITCWND = 11,
RTAX_FEATURES = 12,
RTAX_RTO_MIN = 13,
__RTAX_MAX = 14,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct rta_session {
pub proto: __u8,
pub pad1: __u8,
pub pad2: __u16,
pub u: rta_session__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union rta_session__bindgen_ty_1 {
pub ports: rta_session__bindgen_ty_1__bindgen_ty_1,
pub icmpt: rta_session__bindgen_ty_1__bindgen_ty_2,
pub spi: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rta_session__bindgen_ty_1__bindgen_ty_1 {
pub sport: __u16,
pub dport: __u16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rta_session__bindgen_ty_1__bindgen_ty_2 {
pub type_: __u8,
pub code: __u8,
pub ident: __u16,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct rtgenmsg {
pub rtgen_family: crate::ctypes::c_uchar,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifinfomsg {
pub ifi_family: crate::ctypes::c_uchar,
pub __ifi_pad: crate::ctypes::c_uchar,
pub ifi_type: crate::ctypes::c_ushort,
pub ifi_index: crate::ctypes::c_int,
pub ifi_flags: crate::ctypes::c_uint,
pub ifi_change: crate::ctypes::c_uint,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct prefixmsg {
pub prefix_family: crate::ctypes::c_uchar,
pub prefix_pad1: crate::ctypes::c_uchar,
pub prefix_pad2: crate::ctypes::c_ushort,
pub prefix_ifindex: crate::ctypes::c_int,
pub prefix_type: crate::ctypes::c_uchar,
pub prefix_len: crate::ctypes::c_uchar,
pub prefix_flags: crate::ctypes::c_uchar,
pub prefix_pad3: crate::ctypes::c_uchar,
}
pub const PREFIX_UNSPEC: _bindgen_ty_14 = _bindgen_ty_14::PREFIX_UNSPEC;
pub const PREFIX_ADDRESS: _bindgen_ty_14 = _bindgen_ty_14::PREFIX_ADDRESS;
pub const PREFIX_CACHEINFO: _bindgen_ty_14 = _bindgen_ty_14::PREFIX_CACHEINFO;
pub const __PREFIX_MAX: _bindgen_ty_14 = _bindgen_ty_14::__PREFIX_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_14 {
PREFIX_UNSPEC = 0,
PREFIX_ADDRESS = 1,
PREFIX_CACHEINFO = 2,
__PREFIX_MAX = 3,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct prefix_cacheinfo {
pub preferred_time: __u32,
pub valid_time: __u32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tcmsg {
pub tcm_family: crate::ctypes::c_uchar,
pub tcm__pad1: crate::ctypes::c_uchar,
pub tcm__pad2: crate::ctypes::c_ushort,
pub tcm_ifindex: crate::ctypes::c_int,
pub tcm_handle: __u32,
pub tcm_parent: __u32,
pub tcm_info: __u32,
}
pub const TCA_UNSPEC: _bindgen_ty_15 = _bindgen_ty_15::TCA_UNSPEC;
pub const TCA_KIND: _bindgen_ty_15 = _bindgen_ty_15::TCA_KIND;
pub const TCA_OPTIONS: _bindgen_ty_15 = _bindgen_ty_15::TCA_OPTIONS;
pub const TCA_STATS: _bindgen_ty_15 = _bindgen_ty_15::TCA_STATS;
pub const TCA_XSTATS: _bindgen_ty_15 = _bindgen_ty_15::TCA_XSTATS;
pub const TCA_RATE: _bindgen_ty_15 = _bindgen_ty_15::TCA_RATE;
pub const TCA_FCNT: _bindgen_ty_15 = _bindgen_ty_15::TCA_FCNT;
pub const TCA_STATS2: _bindgen_ty_15 = _bindgen_ty_15::TCA_STATS2;
pub const TCA_STAB: _bindgen_ty_15 = _bindgen_ty_15::TCA_STAB;
pub const __TCA_MAX: _bindgen_ty_15 = _bindgen_ty_15::__TCA_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_15 {
TCA_UNSPEC = 0,
TCA_KIND = 1,
TCA_OPTIONS = 2,
TCA_STATS = 3,
TCA_XSTATS = 4,
TCA_RATE = 5,
TCA_FCNT = 6,
TCA_STATS2 = 7,
TCA_STAB = 8,
__TCA_MAX = 9,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct nduseroptmsg {
pub nduseropt_family: crate::ctypes::c_uchar,
pub nduseropt_pad1: crate::ctypes::c_uchar,
pub nduseropt_opts_len: crate::ctypes::c_ushort,
pub nduseropt_ifindex: crate::ctypes::c_int,
pub nduseropt_icmp_type: __u8,
pub nduseropt_icmp_code: __u8,
pub nduseropt_pad2: crate::ctypes::c_ushort,
pub nduseropt_pad3: crate::ctypes::c_uint,
}
pub const NDUSEROPT_UNSPEC: _bindgen_ty_16 = _bindgen_ty_16::NDUSEROPT_UNSPEC;
pub const NDUSEROPT_SRCADDR: _bindgen_ty_16 = _bindgen_ty_16::NDUSEROPT_SRCADDR;
pub const __NDUSEROPT_MAX: _bindgen_ty_16 = _bindgen_ty_16::__NDUSEROPT_MAX;
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum _bindgen_ty_16 {
NDUSEROPT_UNSPEC = 0,
NDUSEROPT_SRCADDR = 1,
__NDUSEROPT_MAX = 2,
}
#[repr(u32)]
#[non_exhaustive]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
pub enum rtnetlink_groups {
RTNLGRP_NONE = 0,
RTNLGRP_LINK = 1,
RTNLGRP_NOTIFY = 2,
RTNLGRP_NEIGH = 3,
RTNLGRP_TC = 4,
RTNLGRP_IPV4_IFADDR = 5,
RTNLGRP_IPV4_MROUTE = 6,
RTNLGRP_IPV4_ROUTE = 7,
RTNLGRP_IPV4_RULE = 8,
RTNLGRP_IPV6_IFADDR = 9,
RTNLGRP_IPV6_MROUTE = 10,
RTNLGRP_IPV6_ROUTE = 11,
RTNLGRP_IPV6_IFINFO = 12,
RTNLGRP_DECnet_IFADDR = 13,
RTNLGRP_NOP2 = 14,
RTNLGRP_DECnet_ROUTE = 15,
RTNLGRP_DECnet_RULE = 16,
RTNLGRP_NOP4 = 17,
RTNLGRP_IPV6_PREFIX = 18,
RTNLGRP_IPV6_RULE = 19,
RTNLGRP_ND_USEROPT = 20,
RTNLGRP_PHONET_IFADDR = 21,
RTNLGRP_PHONET_ROUTE = 22,
__RTNLGRP_MAX = 23,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tcamsg {
pub tca_family: crate::ctypes::c_uchar,
pub tca__pad1: crate::ctypes::c_uchar,
pub tca__pad2: crate::ctypes::c_ushort,
}
