Source code

Revision control

Copy as Markdown

Other Tools

/* automatically generated by rust-bindgen 0.72.0 */
pub const RTM_VERSION: u32 = 5;
pub const RTM_GET: u32 = 4;
pub const RTA_DST: u32 = 1;
pub const RTA_IFP: u32 = 16;
pub const RTAX_MAX: u32 = 15;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_longlong;
pub type __uint64_t = ::std::os::raw::c_ulonglong;
pub type __pid_t = __int32_t;
pub type __suseconds_t = ::std::os::raw::c_long;
pub type __time_t = __int64_t;
pub type u_char = ::std::os::raw::c_uchar;
pub type u_short = ::std::os::raw::c_ushort;
pub type u_int = ::std::os::raw::c_uint;
pub type u_int32_t = __uint32_t;
pub type u_int64_t = __uint64_t;
pub type suseconds_t = __suseconds_t;
pub type pid_t = __pid_t;
pub type time_t = __time_t;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct timeval {
pub tv_sec: time_t,
pub tv_usec: suseconds_t,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of timeval"][::std::mem::size_of::<timeval>() - 16usize];
["Alignment of timeval"][::std::mem::align_of::<timeval>() - 8usize];
["Offset of field: timeval::tv_sec"][::std::mem::offset_of!(timeval, tv_sec) - 0usize];
["Offset of field: timeval::tv_usec"][::std::mem::offset_of!(timeval, tv_usec) - 8usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct rt_metrics {
pub rmx_pksent: u_int64_t,
pub rmx_expire: i64,
pub rmx_locks: u_int,
pub rmx_mtu: u_int,
pub rmx_refcnt: u_int,
pub rmx_hopcount: u_int,
pub rmx_recvpipe: u_int,
pub rmx_sendpipe: u_int,
pub rmx_ssthresh: u_int,
pub rmx_rtt: u_int,
pub rmx_rttvar: u_int,
pub rmx_pad: u_int,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of rt_metrics"][::std::mem::size_of::<rt_metrics>() - 56usize];
["Alignment of rt_metrics"][::std::mem::align_of::<rt_metrics>() - 8usize];
["Offset of field: rt_metrics::rmx_pksent"]
[::std::mem::offset_of!(rt_metrics, rmx_pksent) - 0usize];
["Offset of field: rt_metrics::rmx_expire"]
[::std::mem::offset_of!(rt_metrics, rmx_expire) - 8usize];
["Offset of field: rt_metrics::rmx_locks"]
[::std::mem::offset_of!(rt_metrics, rmx_locks) - 16usize];
["Offset of field: rt_metrics::rmx_mtu"][::std::mem::offset_of!(rt_metrics, rmx_mtu) - 20usize];
["Offset of field: rt_metrics::rmx_refcnt"]
[::std::mem::offset_of!(rt_metrics, rmx_refcnt) - 24usize];
["Offset of field: rt_metrics::rmx_hopcount"]
[::std::mem::offset_of!(rt_metrics, rmx_hopcount) - 28usize];
["Offset of field: rt_metrics::rmx_recvpipe"]
[::std::mem::offset_of!(rt_metrics, rmx_recvpipe) - 32usize];
["Offset of field: rt_metrics::rmx_sendpipe"]
[::std::mem::offset_of!(rt_metrics, rmx_sendpipe) - 36usize];
["Offset of field: rt_metrics::rmx_ssthresh"]
[::std::mem::offset_of!(rt_metrics, rmx_ssthresh) - 40usize];
["Offset of field: rt_metrics::rmx_rtt"][::std::mem::offset_of!(rt_metrics, rmx_rtt) - 44usize];
["Offset of field: rt_metrics::rmx_rttvar"]
[::std::mem::offset_of!(rt_metrics, rmx_rttvar) - 48usize];
["Offset of field: rt_metrics::rmx_pad"][::std::mem::offset_of!(rt_metrics, rmx_pad) - 52usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct rt_msghdr {
pub rtm_msglen: u_short,
pub rtm_version: u_char,
pub rtm_type: u_char,
pub rtm_hdrlen: u_short,
pub rtm_index: u_short,
pub rtm_tableid: u_short,
pub rtm_priority: u_char,
pub rtm_mpls: u_char,
pub rtm_addrs: ::std::os::raw::c_int,
pub rtm_flags: ::std::os::raw::c_int,
pub rtm_fmask: ::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_inits: u_int,
pub rtm_rmx: rt_metrics,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of rt_msghdr"][::std::mem::size_of::<rt_msghdr>() - 96usize];
["Alignment of rt_msghdr"][::std::mem::align_of::<rt_msghdr>() - 8usize];
["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_hdrlen"]
[::std::mem::offset_of!(rt_msghdr, rtm_hdrlen) - 4usize];
["Offset of field: rt_msghdr::rtm_index"]
[::std::mem::offset_of!(rt_msghdr, rtm_index) - 6usize];
["Offset of field: rt_msghdr::rtm_tableid"]
[::std::mem::offset_of!(rt_msghdr, rtm_tableid) - 8usize];
["Offset of field: rt_msghdr::rtm_priority"]
[::std::mem::offset_of!(rt_msghdr, rtm_priority) - 10usize];
["Offset of field: rt_msghdr::rtm_mpls"][::std::mem::offset_of!(rt_msghdr, rtm_mpls) - 11usize];
["Offset of field: rt_msghdr::rtm_addrs"]
[::std::mem::offset_of!(rt_msghdr, rtm_addrs) - 12usize];
["Offset of field: rt_msghdr::rtm_flags"]
[::std::mem::offset_of!(rt_msghdr, rtm_flags) - 16usize];
["Offset of field: rt_msghdr::rtm_fmask"]
[::std::mem::offset_of!(rt_msghdr, rtm_fmask) - 20usize];
["Offset of field: rt_msghdr::rtm_pid"][::std::mem::offset_of!(rt_msghdr, rtm_pid) - 24usize];
["Offset of field: rt_msghdr::rtm_seq"][::std::mem::offset_of!(rt_msghdr, rtm_seq) - 28usize];
["Offset of field: rt_msghdr::rtm_errno"]
[::std::mem::offset_of!(rt_msghdr, rtm_errno) - 32usize];
["Offset of field: rt_msghdr::rtm_inits"]
[::std::mem::offset_of!(rt_msghdr, rtm_inits) - 36usize];
["Offset of field: rt_msghdr::rtm_rmx"][::std::mem::offset_of!(rt_msghdr, rtm_rmx) - 40usize];
};
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct if_data {
pub ifi_type: u_char,
pub ifi_addrlen: u_char,
pub ifi_hdrlen: u_char,
pub ifi_link_state: u_char,
pub ifi_mtu: u_int32_t,
pub ifi_metric: u_int32_t,
pub ifi_rdomain: u_int32_t,
pub ifi_baudrate: u_int64_t,
pub ifi_ipackets: u_int64_t,
pub ifi_ierrors: u_int64_t,
pub ifi_opackets: u_int64_t,
pub ifi_oerrors: u_int64_t,
pub ifi_collisions: u_int64_t,
pub ifi_ibytes: u_int64_t,
pub ifi_obytes: u_int64_t,
pub ifi_imcasts: u_int64_t,
pub ifi_omcasts: u_int64_t,
pub ifi_iqdrops: u_int64_t,
pub ifi_oqdrops: u_int64_t,
pub ifi_noproto: u_int64_t,
pub ifi_capabilities: u_int32_t,
pub __bindgen_padding_0: [u8; 4usize],
pub ifi_lastchange: timeval,
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of if_data"][::std::mem::size_of::<if_data>() - 144usize];
["Alignment of if_data"][::std::mem::align_of::<if_data>() - 8usize];
["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_link_state"]
[::std::mem::offset_of!(if_data, ifi_link_state) - 3usize];
["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_rdomain"]
[::std::mem::offset_of!(if_data, ifi_rdomain) - 12usize];
["Offset of field: if_data::ifi_baudrate"]
[::std::mem::offset_of!(if_data, ifi_baudrate) - 16usize];
["Offset of field: if_data::ifi_ipackets"]
[::std::mem::offset_of!(if_data, ifi_ipackets) - 24usize];
["Offset of field: if_data::ifi_ierrors"]
[::std::mem::offset_of!(if_data, ifi_ierrors) - 32usize];
["Offset of field: if_data::ifi_opackets"]
[::std::mem::offset_of!(if_data, ifi_opackets) - 40usize];
["Offset of field: if_data::ifi_oerrors"]
[::std::mem::offset_of!(if_data, ifi_oerrors) - 48usize];
["Offset of field: if_data::ifi_collisions"]
[::std::mem::offset_of!(if_data, ifi_collisions) - 56usize];
["Offset of field: if_data::ifi_ibytes"][::std::mem::offset_of!(if_data, ifi_ibytes) - 64usize];
["Offset of field: if_data::ifi_obytes"][::std::mem::offset_of!(if_data, ifi_obytes) - 72usize];
["Offset of field: if_data::ifi_imcasts"]
[::std::mem::offset_of!(if_data, ifi_imcasts) - 80usize];
["Offset of field: if_data::ifi_omcasts"]
[::std::mem::offset_of!(if_data, ifi_omcasts) - 88usize];
["Offset of field: if_data::ifi_iqdrops"]
[::std::mem::offset_of!(if_data, ifi_iqdrops) - 96usize];
["Offset of field: if_data::ifi_oqdrops"]
[::std::mem::offset_of!(if_data, ifi_oqdrops) - 104usize];
["Offset of field: if_data::ifi_noproto"]
[::std::mem::offset_of!(if_data, ifi_noproto) - 112usize];
["Offset of field: if_data::ifi_capabilities"]
[::std::mem::offset_of!(if_data, ifi_capabilities) - 120usize];
["Offset of field: if_data::ifi_lastchange"]
[::std::mem::offset_of!(if_data, ifi_lastchange) - 128usize];
};