/* automatically generated by rust-bindgen 0.72.1 */
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 = 8 ;
pub type __int32_t = ::std::os::raw::c_int;
pub type __int64_t = ::std::os::raw::c_long;
pub type __time_t = __int64_t;
pub type __pid_t = __int32_t;
pub type __suseconds_t = ::std::os::raw::c_long;
pub type u_char = ::std::os::raw::c_uchar;
pub type u_short = ::std::os::raw::c_ushort;
pub type u_long = ::std::os::raw::c_ulong;
pub type pid_t = __pid_t;
pub type suseconds_t = __suseconds_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>() - 16 usize];
["Alignment of timeval" ][::std::mem::align_of::<timeval>() - 8 usize];
["Offset of field: timeval::tv_sec" ][::std::mem::offset_of!(timeval, tv_sec) - 0 usize];
["Offset of field: timeval::tv_usec" ][::std::mem::offset_of!(timeval, tv_usec) - 8 usize];
};
#[ repr(C)]
#[ derive(Debug, Default, Copy, Clone)]
pub struct rt_metrics {
pub rmx_locks: u_long,
pub rmx_mtu: u_long,
pub rmx_hopcount: u_long,
pub rmx_expire: u_long,
pub rmx_recvpipe: u_long,
pub rmx_sendpipe: u_long,
pub rmx_ssthresh: u_long,
pub rmx_rtt: u_long,
pub rmx_rttvar: u_long,
pub rmx_pksent: u_long,
pub rmx_weight: u_long,
pub rmx_nhidx: u_long,
pub rmx_filler: [u_long; 2 usize],
}
#[ allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of rt_metrics" ][::std::mem::size_of::<rt_metrics>() - 112 usize];
["Alignment of rt_metrics" ][::std::mem::align_of::<rt_metrics>() - 8 usize];
["Offset of field: rt_metrics::rmx_locks" ]
[::std::mem::offset_of!(rt_metrics, rmx_locks) - 0 usize];
["Offset of field: rt_metrics::rmx_mtu" ][::std::mem::offset_of!(rt_metrics, rmx_mtu) - 8 usize];
["Offset of field: rt_metrics::rmx_hopcount" ]
[::std::mem::offset_of!(rt_metrics, rmx_hopcount) - 16 usize];
["Offset of field: rt_metrics::rmx_expire" ]
[::std::mem::offset_of!(rt_metrics, rmx_expire) - 24 usize];
["Offset of field: rt_metrics::rmx_recvpipe" ]
[::std::mem::offset_of!(rt_metrics, rmx_recvpipe) - 32 usize];
["Offset of field: rt_metrics::rmx_sendpipe" ]
[::std::mem::offset_of!(rt_metrics, rmx_sendpipe) - 40 usize];
["Offset of field: rt_metrics::rmx_ssthresh" ]
[::std::mem::offset_of!(rt_metrics, rmx_ssthresh) - 48 usize];
["Offset of field: rt_metrics::rmx_rtt" ][::std::mem::offset_of!(rt_metrics, rmx_rtt) - 56 usize];
["Offset of field: rt_metrics::rmx_rttvar" ]
[::std::mem::offset_of!(rt_metrics, rmx_rttvar) - 64 usize];
["Offset of field: rt_metrics::rmx_pksent" ]
[::std::mem::offset_of!(rt_metrics, rmx_pksent) - 72 usize];
["Offset of field: rt_metrics::rmx_weight" ]
[::std::mem::offset_of!(rt_metrics, rmx_weight) - 80 usize];
["Offset of field: rt_metrics::rmx_nhidx" ]
[::std::mem::offset_of!(rt_metrics, rmx_nhidx) - 88 usize];
["Offset of field: rt_metrics::rmx_filler" ]
[::std::mem::offset_of!(rt_metrics, rmx_filler) - 96 usize];
};
#[ 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_index: u_short,
pub _rtm_spare1: u_short,
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_fmask: ::std::os::raw::c_int,
pub rtm_inits: u_long,
pub rtm_rmx: rt_metrics,
}
#[ allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of rt_msghdr" ][::std::mem::size_of::<rt_msghdr>() - 152 usize];
["Alignment of rt_msghdr" ][::std::mem::align_of::<rt_msghdr>() - 8 usize];
["Offset of field: rt_msghdr::rtm_msglen" ]
[::std::mem::offset_of!(rt_msghdr, rtm_msglen) - 0 usize];
["Offset of field: rt_msghdr::rtm_version" ]
[::std::mem::offset_of!(rt_msghdr, rtm_version) - 2 usize];
["Offset of field: rt_msghdr::rtm_type" ][::std::mem::offset_of!(rt_msghdr, rtm_type) - 3 usize];
["Offset of field: rt_msghdr::rtm_index" ]
[::std::mem::offset_of!(rt_msghdr, rtm_index) - 4 usize];
["Offset of field: rt_msghdr::_rtm_spare1" ]
[::std::mem::offset_of!(rt_msghdr, _rtm_spare1) - 6 usize];
["Offset of field: rt_msghdr::rtm_flags" ]
[::std::mem::offset_of!(rt_msghdr, rtm_flags) - 8 usize];
["Offset of field: rt_msghdr::rtm_addrs" ]
[::std::mem::offset_of!(rt_msghdr, rtm_addrs) - 12 usize];
["Offset of field: rt_msghdr::rtm_pid" ][::std::mem::offset_of!(rt_msghdr, rtm_pid) - 16 usize];
["Offset of field: rt_msghdr::rtm_seq" ][::std::mem::offset_of!(rt_msghdr, rtm_seq) - 20 usize];
["Offset of field: rt_msghdr::rtm_errno" ]
[::std::mem::offset_of!(rt_msghdr, rtm_errno) - 24 usize];
["Offset of field: rt_msghdr::rtm_fmask" ]
[::std::mem::offset_of!(rt_msghdr, rtm_fmask) - 28 usize];
["Offset of field: rt_msghdr::rtm_inits" ]
[::std::mem::offset_of!(rt_msghdr, rtm_inits) - 32 usize];
["Offset of field: rt_msghdr::rtm_rmx" ][::std::mem::offset_of!(rt_msghdr, rtm_rmx) - 40 usize];
};
#[ repr(C)]
#[ derive(Copy, Clone)]
pub struct if_data {
pub ifi_type: u8,
pub ifi_physical: u8,
pub ifi_addrlen: u8,
pub ifi_hdrlen: u8,
pub ifi_link_state: u8,
pub ifi_vhid: u8,
pub ifi_datalen: u16,
pub ifi_mtu: u32,
pub ifi_metric: u32,
pub ifi_baudrate: u64,
pub ifi_ipackets: u64,
pub ifi_ierrors: u64,
pub ifi_opackets: u64,
pub ifi_oerrors: u64,
pub ifi_collisions: u64,
pub ifi_ibytes: u64,
pub ifi_obytes: u64,
pub ifi_imcasts: u64,
pub ifi_omcasts: u64,
pub ifi_iqdrops: u64,
pub ifi_oqdrops: u64,
pub ifi_noproto: u64,
pub ifi_hwassist: u64,
pub __ifi_epoch: if_data__bindgen_ty_1,
pub __ifi_lastchange: if_data__bindgen_ty_2,
}
#[ repr(C)]
#[ derive(Copy, Clone)]
pub union if_data__bindgen_ty_1 {
pub tt: time_t,
pub ph: u64,
}
#[ allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of if_data__bindgen_ty_1" ][::std::mem::size_of::<if_data__bindgen_ty_1>() - 8 usize];
["Alignment of if_data__bindgen_ty_1" ]
[::std::mem::align_of::<if_data__bindgen_ty_1>() - 8 usize];
["Offset of field: if_data__bindgen_ty_1::tt" ]
[::std::mem::offset_of!(if_data__bindgen_ty_1, tt) - 0 usize];
["Offset of field: if_data__bindgen_ty_1::ph" ]
[::std::mem::offset_of!(if_data__bindgen_ty_1, ph) - 0 usize];
};
impl Default for if_data__bindgen_ty_1 {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self >::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0 , 1 );
s.assume_init()
}
}
}
#[ repr(C)]
#[ derive(Copy, Clone)]
pub union if_data__bindgen_ty_2 {
pub tv: timeval,
pub ph: if_data__bindgen_ty_2__bindgen_ty_1,
}
#[ repr(C)]
#[ derive(Debug, Default, Copy, Clone)]
pub struct if_data__bindgen_ty_2__bindgen_ty_1 {
pub ph1: u64,
pub ph2: u64,
}
#[ allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of if_data__bindgen_ty_2__bindgen_ty_1" ]
[::std::mem::size_of::<if_data__bindgen_ty_2__bindgen_ty_1>() - 16 usize];
["Alignment of if_data__bindgen_ty_2__bindgen_ty_1" ]
[::std::mem::align_of::<if_data__bindgen_ty_2__bindgen_ty_1>() - 8 usize];
["Offset of field: if_data__bindgen_ty_2__bindgen_ty_1::ph1" ]
[::std::mem::offset_of!(if_data__bindgen_ty_2__bindgen_ty_1, ph1) - 0 usize];
["Offset of field: if_data__bindgen_ty_2__bindgen_ty_1::ph2" ]
[::std::mem::offset_of!(if_data__bindgen_ty_2__bindgen_ty_1, ph2) - 8 usize];
};
#[ allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of if_data__bindgen_ty_2" ][::std::mem::size_of::<if_data__bindgen_ty_2>() - 16 usize];
["Alignment of if_data__bindgen_ty_2" ]
[::std::mem::align_of::<if_data__bindgen_ty_2>() - 8 usize];
["Offset of field: if_data__bindgen_ty_2::tv" ]
[::std::mem::offset_of!(if_data__bindgen_ty_2, tv) - 0 usize];
["Offset of field: if_data__bindgen_ty_2::ph" ]
[::std::mem::offset_of!(if_data__bindgen_ty_2, ph) - 0 usize];
};
impl Default for if_data__bindgen_ty_2 {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self >::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0 , 1 );
s.assume_init()
}
}
}
#[ allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
["Size of if_data" ][::std::mem::size_of::<if_data>() - 152 usize];
["Alignment of if_data" ][::std::mem::align_of::<if_data>() - 8 usize];
["Offset of field: if_data::ifi_type" ][::std::mem::offset_of!(if_data, ifi_type) - 0 usize];
["Offset of field: if_data::ifi_physical" ]
[::std::mem::offset_of!(if_data, ifi_physical) - 1 usize];
["Offset of field: if_data::ifi_addrlen" ]
[::std::mem::offset_of!(if_data, ifi_addrlen) - 2 usize];
["Offset of field: if_data::ifi_hdrlen" ][::std::mem::offset_of!(if_data, ifi_hdrlen) - 3 usize];
["Offset of field: if_data::ifi_link_state" ]
[::std::mem::offset_of!(if_data, ifi_link_state) - 4 usize];
["Offset of field: if_data::ifi_vhid" ][::std::mem::offset_of!(if_data, ifi_vhid) - 5 usize];
["Offset of field: if_data::ifi_datalen" ]
[::std::mem::offset_of!(if_data, ifi_datalen) - 6 usize];
["Offset of field: if_data::ifi_mtu" ][::std::mem::offset_of!(if_data, ifi_mtu) - 8 usize];
["Offset of field: if_data::ifi_metric" ][::std::mem::offset_of!(if_data, ifi_metric) - 12 usize];
["Offset of field: if_data::ifi_baudrate" ]
[::std::mem::offset_of!(if_data, ifi_baudrate) - 16 usize];
["Offset of field: if_data::ifi_ipackets" ]
[::std::mem::offset_of!(if_data, ifi_ipackets) - 24 usize];
["Offset of field: if_data::ifi_ierrors" ]
[::std::mem::offset_of!(if_data, ifi_ierrors) - 32 usize];
["Offset of field: if_data::ifi_opackets" ]
[::std::mem::offset_of!(if_data, ifi_opackets) - 40 usize];
["Offset of field: if_data::ifi_oerrors" ]
[::std::mem::offset_of!(if_data, ifi_oerrors) - 48 usize];
["Offset of field: if_data::ifi_collisions" ]
[::std::mem::offset_of!(if_data, ifi_collisions) - 56 usize];
["Offset of field: if_data::ifi_ibytes" ][::std::mem::offset_of!(if_data, ifi_ibytes) - 64 usize];
["Offset of field: if_data::ifi_obytes" ][::std::mem::offset_of!(if_data, ifi_obytes) - 72 usize];
["Offset of field: if_data::ifi_imcasts" ]
[::std::mem::offset_of!(if_data, ifi_imcasts) - 80 usize];
["Offset of field: if_data::ifi_omcasts" ]
[::std::mem::offset_of!(if_data, ifi_omcasts) - 88 usize];
["Offset of field: if_data::ifi_iqdrops" ]
[::std::mem::offset_of!(if_data, ifi_iqdrops) - 96 usize];
["Offset of field: if_data::ifi_oqdrops" ]
[::std::mem::offset_of!(if_data, ifi_oqdrops) - 104 usize];
["Offset of field: if_data::ifi_noproto" ]
[::std::mem::offset_of!(if_data, ifi_noproto) - 112 usize];
["Offset of field: if_data::ifi_hwassist" ]
[::std::mem::offset_of!(if_data, ifi_hwassist) - 120 usize];
["Offset of field: if_data::__ifi_epoch" ]
[::std::mem::offset_of!(if_data, __ifi_epoch) - 128 usize];
["Offset of field: if_data::__ifi_lastchange" ]
[::std::mem::offset_of!(if_data, __ifi_lastchange) - 136 usize];
};
impl Default for if_data {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self >::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0 , 1 );
s.assume_init()
}
}
}
Messung V0.5 in Prozent C=86 H=98 G=91
¤ Dauer der Verarbeitung: 0.6 Sekunden
¤
*© Formatika GbR, Deutschland