X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Fnetinet%2Ftcp.h;h=584af2f5b92c353c401f50b343b2560bafefe247;hb=f034f145bdf7541995eaf08451275329e09694d8;hp=f9b8464832221473f89a0196a104f82923407f72;hpb=53f41fb568ae43034c9876cc9bd3961fd6d13671;p=musl diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h index f9b84648..584af2f5 100644 --- a/include/netinet/tcp.h +++ b/include/netinet/tcp.h @@ -27,6 +27,19 @@ #define TCP_FASTOPEN 23 #define TCP_TIMESTAMP 24 #define TCP_NOTSENT_LOWAT 25 +#define TCP_CC_INFO 26 +#define TCP_SAVE_SYN 27 +#define TCP_SAVED_SYN 28 +#define TCP_REPAIR_WINDOW 29 +#define TCP_FASTOPEN_CONNECT 30 +#define TCP_ULP 31 +#define TCP_MD5SIG_EXT 32 +#define TCP_FASTOPEN_KEY 33 +#define TCP_FASTOPEN_NO_COOKIE 34 +#define TCP_ZEROCOPY_RECEIVE 35 +#define TCP_INQ 36 + +#define TCP_CM_INQ TCP_INQ #define TCP_ESTABLISHED 1 #define TCP_SYN_SENT 2 @@ -40,6 +53,27 @@ #define TCP_LISTEN 10 #define TCP_CLOSING 11 +enum { + TCP_NLA_PAD, + TCP_NLA_BUSY, + TCP_NLA_RWND_LIMITED, + TCP_NLA_SNDBUF_LIMITED, + TCP_NLA_DATA_SEGS_OUT, + TCP_NLA_TOTAL_RETRANS, + TCP_NLA_PACING_RATE, + TCP_NLA_DELIVERY_RATE, + TCP_NLA_SND_CWND, + TCP_NLA_REORDERING, + TCP_NLA_MIN_RTT, + TCP_NLA_RECUR_RETRANS, + TCP_NLA_DELIVERY_RATE_APP_LMT, + TCP_NLA_SNDQ_SIZE, + TCP_NLA_CA_STATE, + TCP_NLA_SND_SSTHRESH, + TCP_NLA_DELIVERED, + TCP_NLA_DELIVERED_CE, +}; + #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) #define TCPOPT_EOL 0 #define TCPOPT_NOP 1 @@ -142,8 +176,7 @@ struct tcphdr { #define TCP_CA_Recovery 3 #define TCP_CA_Loss 4 -struct tcp_info -{ +struct tcp_info { uint8_t tcpi_state; uint8_t tcpi_ca_state; uint8_t tcpi_retransmits; @@ -151,6 +184,7 @@ struct tcp_info uint8_t tcpi_backoff; uint8_t tcpi_options; uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; + uint8_t tcpi_delivery_rate_app_limited : 1; uint32_t tcpi_rto; uint32_t tcpi_ato; uint32_t tcpi_snd_mss; @@ -177,19 +211,61 @@ struct tcp_info uint32_t tcpi_total_retrans; uint64_t tcpi_pacing_rate; uint64_t tcpi_max_pacing_rate; + uint64_t tcpi_bytes_acked; + uint64_t tcpi_bytes_received; + uint32_t tcpi_segs_out; + uint32_t tcpi_segs_in; + uint32_t tcpi_notsent_bytes; + uint32_t tcpi_min_rtt; + uint32_t tcpi_data_segs_in; + uint32_t tcpi_data_segs_out; + uint64_t tcpi_delivery_rate; + uint64_t tcpi_busy_time; + uint64_t tcpi_rwnd_limited; + uint64_t tcpi_sndbuf_limited; + uint32_t tcpi_delivered; + uint32_t tcpi_delivered_ce; }; #define TCP_MD5SIG_MAXKEYLEN 80 -struct tcp_md5sig -{ +#define TCP_MD5SIG_FLAG_PREFIX 1 + +struct tcp_md5sig { struct sockaddr_storage tcpm_addr; - uint16_t __tcpm_pad1; + uint8_t tcpm_flags; + uint8_t tcpm_prefixlen; uint16_t tcpm_keylen; - uint32_t __tcpm_pad2; + uint32_t __tcpm_pad; uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; }; +struct tcp_diag_md5sig { + uint8_t tcpm_family; + uint8_t tcpm_prefixlen; + uint16_t tcpm_keylen; + uint32_t tcpm_addr[4]; + uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; +}; + +#define TCP_REPAIR_ON 1 +#define TCP_REPAIR_OFF 0 +#define TCP_REPAIR_OFF_NO_WP -1 + +struct tcp_repair_window { + uint32_t snd_wl1; + uint32_t snd_wnd; + uint32_t max_window; + uint32_t rcv_wnd; + uint32_t rcv_wup; +}; + +struct tcp_zerocopy_receive { + uint64_t address; + uint32_t length; + uint32_t recv_skip_hint; +}; + #endif #endif