mtu 0.4.1

Obtain the local network interface MTU towards a given IP address.
Documentation
/* automatically generated by rust-bindgen 0.72.1 */

pub const RTM_VERSION: u32 = 3;
pub const RTM_GET: u32 = 4;
pub const RTA_DST: u32 = 1;
pub const RTA_IFP: u32 = 16;
pub const RTAX_MAX: u32 = 9;
pub type uchar_t = ::std::os::raw::c_uchar;
pub type ushort_t = ::std::os::raw::c_ushort;
pub type uint_t = ::std::os::raw::c_uint;
pub type pid_t = ::std::os::raw::c_int;
pub type time32_t = i32;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct timeval32 {
    pub tv_sec: time32_t,
    pub tv_usec: i32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of timeval32"][::std::mem::size_of::<timeval32>() - 8usize];
    ["Alignment of timeval32"][::std::mem::align_of::<timeval32>() - 4usize];
    ["Offset of field: timeval32::tv_sec"][::std::mem::offset_of!(timeval32, tv_sec) - 0usize];
    ["Offset of field: timeval32::tv_usec"][::std::mem::offset_of!(timeval32, tv_usec) - 4usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct rt_metrics {
    pub rmx_locks: u32,
    pub rmx_mtu: u32,
    pub rmx_hopcount: u32,
    pub rmx_expire: u32,
    pub rmx_recvpipe: u32,
    pub rmx_sendpipe: u32,
    pub rmx_ssthresh: u32,
    pub rmx_rtt: u32,
    pub rmx_rttvar: u32,
    pub rmx_pksent: u32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of rt_metrics"][::std::mem::size_of::<rt_metrics>() - 40usize];
    ["Alignment of rt_metrics"][::std::mem::align_of::<rt_metrics>() - 4usize];
    ["Offset of field: rt_metrics::rmx_locks"]
        [::std::mem::offset_of!(rt_metrics, rmx_locks) - 0usize];
    ["Offset of field: rt_metrics::rmx_mtu"][::std::mem::offset_of!(rt_metrics, rmx_mtu) - 4usize];
    ["Offset of field: rt_metrics::rmx_hopcount"]
        [::std::mem::offset_of!(rt_metrics, rmx_hopcount) - 8usize];
    ["Offset of field: rt_metrics::rmx_expire"]
        [::std::mem::offset_of!(rt_metrics, rmx_expire) - 12usize];
    ["Offset of field: rt_metrics::rmx_recvpipe"]
        [::std::mem::offset_of!(rt_metrics, rmx_recvpipe) - 16usize];
    ["Offset of field: rt_metrics::rmx_sendpipe"]
        [::std::mem::offset_of!(rt_metrics, rmx_sendpipe) - 20usize];
    ["Offset of field: rt_metrics::rmx_ssthresh"]
        [::std::mem::offset_of!(rt_metrics, rmx_ssthresh) - 24usize];
    ["Offset of field: rt_metrics::rmx_rtt"][::std::mem::offset_of!(rt_metrics, rmx_rtt) - 28usize];
    ["Offset of field: rt_metrics::rmx_rttvar"]
        [::std::mem::offset_of!(rt_metrics, rmx_rttvar) - 32usize];
    ["Offset of field: rt_metrics::rmx_pksent"]
        [::std::mem::offset_of!(rt_metrics, rmx_pksent) - 36usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct rt_msghdr {
    pub rtm_msglen: ushort_t,
    pub rtm_version: uchar_t,
    pub rtm_type: uchar_t,
    pub rtm_index: ushort_t,
    pub __bindgen_padding_0: [u8; 2usize],
    pub rtm_flags: ::std::os::raw::c_int,
    pub rtm_addrs: ::std::os::raw::c_int,
    pub rtm_pid: pid_t,
    pub rtm_seq: ::std::os::raw::c_int,
    pub rtm_errno: ::std::os::raw::c_int,
    pub rtm_use: ::std::os::raw::c_int,
    pub rtm_inits: uint_t,
    pub rtm_rmx: rt_metrics,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of rt_msghdr"][::std::mem::size_of::<rt_msghdr>() - 76usize];
    ["Alignment of rt_msghdr"][::std::mem::align_of::<rt_msghdr>() - 4usize];
    ["Offset of field: rt_msghdr::rtm_msglen"]
        [::std::mem::offset_of!(rt_msghdr, rtm_msglen) - 0usize];
    ["Offset of field: rt_msghdr::rtm_version"]
        [::std::mem::offset_of!(rt_msghdr, rtm_version) - 2usize];
    ["Offset of field: rt_msghdr::rtm_type"][::std::mem::offset_of!(rt_msghdr, rtm_type) - 3usize];
    ["Offset of field: rt_msghdr::rtm_index"]
        [::std::mem::offset_of!(rt_msghdr, rtm_index) - 4usize];
    ["Offset of field: rt_msghdr::rtm_flags"]
        [::std::mem::offset_of!(rt_msghdr, rtm_flags) - 8usize];
    ["Offset of field: rt_msghdr::rtm_addrs"]
        [::std::mem::offset_of!(rt_msghdr, rtm_addrs) - 12usize];
    ["Offset of field: rt_msghdr::rtm_pid"][::std::mem::offset_of!(rt_msghdr, rtm_pid) - 16usize];
    ["Offset of field: rt_msghdr::rtm_seq"][::std::mem::offset_of!(rt_msghdr, rtm_seq) - 20usize];
    ["Offset of field: rt_msghdr::rtm_errno"]
        [::std::mem::offset_of!(rt_msghdr, rtm_errno) - 24usize];
    ["Offset of field: rt_msghdr::rtm_use"][::std::mem::offset_of!(rt_msghdr, rtm_use) - 28usize];
    ["Offset of field: rt_msghdr::rtm_inits"]
        [::std::mem::offset_of!(rt_msghdr, rtm_inits) - 32usize];
    ["Offset of field: rt_msghdr::rtm_rmx"][::std::mem::offset_of!(rt_msghdr, rtm_rmx) - 36usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct if_data {
    pub ifi_type: uchar_t,
    pub ifi_addrlen: uchar_t,
    pub ifi_hdrlen: uchar_t,
    pub __bindgen_padding_0: u8,
    pub ifi_mtu: uint_t,
    pub ifi_metric: uint_t,
    pub ifi_baudrate: uint_t,
    pub ifi_ipackets: uint_t,
    pub ifi_ierrors: uint_t,
    pub ifi_opackets: uint_t,
    pub ifi_oerrors: uint_t,
    pub ifi_collisions: uint_t,
    pub ifi_ibytes: uint_t,
    pub ifi_obytes: uint_t,
    pub ifi_imcasts: uint_t,
    pub ifi_omcasts: uint_t,
    pub ifi_iqdrops: uint_t,
    pub ifi_noproto: uint_t,
    pub ifi_lastchange: timeval32,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
    ["Size of if_data"][::std::mem::size_of::<if_data>() - 68usize];
    ["Alignment of if_data"][::std::mem::align_of::<if_data>() - 4usize];
    ["Offset of field: if_data::ifi_type"][::std::mem::offset_of!(if_data, ifi_type) - 0usize];
    ["Offset of field: if_data::ifi_addrlen"]
        [::std::mem::offset_of!(if_data, ifi_addrlen) - 1usize];
    ["Offset of field: if_data::ifi_hdrlen"][::std::mem::offset_of!(if_data, ifi_hdrlen) - 2usize];
    ["Offset of field: if_data::ifi_mtu"][::std::mem::offset_of!(if_data, ifi_mtu) - 4usize];
    ["Offset of field: if_data::ifi_metric"][::std::mem::offset_of!(if_data, ifi_metric) - 8usize];
    ["Offset of field: if_data::ifi_baudrate"]
        [::std::mem::offset_of!(if_data, ifi_baudrate) - 12usize];
    ["Offset of field: if_data::ifi_ipackets"]
        [::std::mem::offset_of!(if_data, ifi_ipackets) - 16usize];
    ["Offset of field: if_data::ifi_ierrors"]
        [::std::mem::offset_of!(if_data, ifi_ierrors) - 20usize];
    ["Offset of field: if_data::ifi_opackets"]
        [::std::mem::offset_of!(if_data, ifi_opackets) - 24usize];
    ["Offset of field: if_data::ifi_oerrors"]
        [::std::mem::offset_of!(if_data, ifi_oerrors) - 28usize];
    ["Offset of field: if_data::ifi_collisions"]
        [::std::mem::offset_of!(if_data, ifi_collisions) - 32usize];
    ["Offset of field: if_data::ifi_ibytes"][::std::mem::offset_of!(if_data, ifi_ibytes) - 36usize];
    ["Offset of field: if_data::ifi_obytes"][::std::mem::offset_of!(if_data, ifi_obytes) - 40usize];
    ["Offset of field: if_data::ifi_imcasts"]
        [::std::mem::offset_of!(if_data, ifi_imcasts) - 44usize];
    ["Offset of field: if_data::ifi_omcasts"]
        [::std::mem::offset_of!(if_data, ifi_omcasts) - 48usize];
    ["Offset of field: if_data::ifi_iqdrops"]
        [::std::mem::offset_of!(if_data, ifi_iqdrops) - 52usize];
    ["Offset of field: if_data::ifi_noproto"]
        [::std::mem::offset_of!(if_data, ifi_noproto) - 56usize];
    ["Offset of field: if_data::ifi_lastchange"]
        [::std::mem::offset_of!(if_data, ifi_lastchange) - 60usize];
};