pub const SOCK_DIAG_BY_FAMILY: u16 = 20;
pub const INET_DIAG_NONE: u16 = 0;
pub const INET_DIAG_MEMINFO: u16 = 1;
pub const INET_DIAG_INFO: u16 = 2;
pub const INET_DIAG_VEGASINFO: u16 = 3;
pub const INET_DIAG_CONG: u16 = 4;
pub const INET_DIAG_TOS: u16 = 5;
pub const INET_DIAG_TCLASS: u16 = 6;
pub const INET_DIAG_SKMEMINFO: u16 = 7;
pub const INET_DIAG_SHUTDOWN: u16 = 8;
pub const INET_DIAG_DCTCPINFO: u16 = 9;
pub const INET_DIAG_PROTOCOL: u16 = 10;
pub const INET_DIAG_SKV6ONLY: u16 = 11;
pub const INET_DIAG_LOCALS: u16 = 12;
pub const INET_DIAG_PEERS: u16 = 13;
pub const INET_DIAG_PAD: u16 = 14;
pub const INET_DIAG_MARK: u16 = 15;
pub const INET_DIAG_BBRINFO: u16 = 16;
#[repr(C)]
#[derive(Clone, Debug, Default)]
pub struct inet_diag_sockid {
pub idiag_sport: u16,
pub idiag_dport: u16,
pub idiag_src: [u32; 4],
pub idiag_dst: [u32; 4],
pub idiag_if: u32,
pub idiag_cookie: [u32; 2],
}
#[repr(C)]
#[derive(Clone, Debug, Default)]
pub struct inet_diag_req_v2 {
pub sdiag_family: u8,
pub sdiag_protocol: u8,
pub idiag_ext: u8,
pub _pad: u8,
pub idiag_states: u32,
pub id: inet_diag_sockid,
}
#[repr(C)]
#[derive(Clone, Debug, Default)]
pub struct inet_diag_msg {
pub idiag_family: u8,
pub idiag_state: u8,
pub idiag_timer: u8,
pub idiag_retrans: u8,
pub id: inet_diag_sockid,
pub idiag_expires: u32,
pub idiag_rqueue: u32,
pub idiag_wqueue: u32,
pub idiag_uid: u32,
pub idiag_inode: u32,
}
#[repr(C)]
#[derive(Clone, Debug, Default)]
pub struct tcp_info {
pub tcpi_state: u8,
pub tcpi_ca_state: u8,
pub tcpi_retransmits: u8,
pub tcpi_probes: u8,
pub tcpi_backoff: u8,
pub tcpi_options: u8,
pub _bitfield_1: [u8; 2usize],
pub tcpi_rto: u32,
pub tcpi_ato: u32,
pub tcpi_snd_mss: u32,
pub tcpi_rcv_mss: u32,
pub tcpi_unacked: u32,
pub tcpi_sacked: u32,
pub tcpi_lost: u32,
pub tcpi_retrans: u32,
pub tcpi_fackets: u32,
pub tcpi_last_data_sent: u32,
pub tcpi_last_ack_sent: u32,
pub tcpi_last_data_recv: u32,
pub tcpi_last_ack_recv: u32,
pub tcpi_pmtu: u32,
pub tcpi_rcv_ssthresh: u32,
pub tcpi_rtt: u32,
pub tcpi_rttvar: u32,
pub tcpi_snd_ssthresh: u32,
pub tcpi_snd_cwnd: u32,
pub tcpi_advmss: u32,
pub tcpi_reordering: u32,
pub tcpi_rcv_rtt: u32,
pub tcpi_rcv_space: u32,
pub tcpi_total_retrans: u32,
pub tcpi_pacing_rate: u64,
pub tcpi_max_pacing_rate: u64,
pub tcpi_bytes_acked: u64,
pub tcpi_bytes_received: u64,
pub tcpi_segs_out: u32,
pub tcpi_segs_in: u32,
pub tcpi_notsent_bytes: u32,
pub tcpi_min_rtt: u32,
pub tcpi_data_segs_in: u32,
pub tcpi_data_segs_out: u32,
pub tcpi_delivery_rate: u64,
pub tcpi_busy_time: u64,
pub tcpi_rwnd_limited: u64,
}