@@ -344,6 +344,73 @@ s! {
344344 pub len: :: __u32,
345345 pub options: :: __u32,
346346 }
347+
348+ // netinet/tcp.h
349+
350+ pub struct tcp_info {
351+ pub tcpi_state: u8 ,
352+ pub tcpi_ca_state: u8 ,
353+ pub tcpi_retransmits: u8 ,
354+ pub tcpi_probes: u8 ,
355+ pub tcpi_backoff: u8 ,
356+ pub tcpi_options: u8 ,
357+ /*
358+ * FIXME(musl): when musl headers are more up to date
359+ /// This contains the bitfields `tcpi_snd_wscale` and `tcpi_rcv_wscale`.
360+ /// Each is 4 bits.
361+ pub tcpi_snd_rcv_wscale: u8,
362+ /// This contains the bitfields `tcpi_delivery_rate_app_limited` (1 bit) and
363+ /// `tcpi_fastopen_client_fail` (2 bits).
364+ pub tcpi_delivery_fastopen_bitfields: u8,
365+ */
366+ pub tcpi_rto: u32 ,
367+ pub tcpi_ato: u32 ,
368+ pub tcpi_snd_mss: u32 ,
369+ pub tcpi_rcv_mss: u32 ,
370+ pub tcpi_unacked: u32 ,
371+ pub tcpi_sacked: u32 ,
372+ pub tcpi_lost: u32 ,
373+ pub tcpi_retrans: u32 ,
374+ pub tcpi_fackets: u32 ,
375+ pub tcpi_last_data_sent: u32 ,
376+ pub tcpi_last_ack_sent: u32 ,
377+ pub tcpi_last_data_recv: u32 ,
378+ pub tcpi_last_ack_recv: u32 ,
379+ pub tcpi_pmtu: u32 ,
380+ pub tcpi_rcv_ssthresh: u32 ,
381+ pub tcpi_rtt: u32 ,
382+ pub tcpi_rttvar: u32 ,
383+ pub tcpi_snd_ssthresh: u32 ,
384+ pub tcpi_snd_cwnd: u32 ,
385+ pub tcpi_advmss: u32 ,
386+ pub tcpi_reordering: u32 ,
387+ pub tcpi_rcv_rtt: u32 ,
388+ pub tcpi_rcv_space: u32 ,
389+ pub tcpi_total_retrans: u32 ,
390+ pub tcpi_pacing_rate: u64 ,
391+ pub tcpi_max_pacing_rate: u64 ,
392+ pub tcpi_bytes_acked: u64 ,
393+ pub tcpi_bytes_received: u64 ,
394+ pub tcpi_segs_out: u32 ,
395+ pub tcpi_segs_in: u32 ,
396+ pub tcpi_notsent_bytes: u32 ,
397+ pub tcpi_min_rtt: u32 ,
398+ pub tcpi_data_segs_in: u32 ,
399+ pub tcpi_data_segs_out: u32 ,
400+ pub tcpi_delivery_rate: u64 ,
401+ pub tcpi_busy_time: u64 ,
402+ pub tcpi_rwnd_limited: u64 ,
403+ pub tcpi_sndbuf_limited: u64 ,
404+ pub tcpi_delivered: u32 ,
405+ pub tcpi_delivered_ce: u32 ,
406+ pub tcpi_bytes_sent: u64 ,
407+ pub tcpi_bytes_retrans: u64 ,
408+ pub tcpi_dsack_dups: u32 ,
409+ pub tcpi_reord_seen: u32 ,
410+ // FIXME(musl): to uncomment once CI musl is updated
411+ //pub tcpi_rcv_ooopack: u32,
412+ //pub tcpi_snd_wnd: u32,
413+ }
347414}
348415
349416s_no_extra_traits ! {
0 commit comments