about summary refs log tree commit diff
path: root/include/netinet/tcp.h
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2013-12-18 13:53:11 +0200
committerRich Felker <dalias@aerifal.cx>2013-12-20 11:36:26 -0500
commite2b4525e3bb50acdfe095e6829b040636d37a295 (patch)
tree8fb1c0a5709375c910b33c55903e0ce8d7206d28 /include/netinet/tcp.h
parent65ea604c74f3fecbc61a266a22fdf527764995b6 (diff)
downloadmusl-e2b4525e3bb50acdfe095e6829b040636d37a295.tar.gz
musl-e2b4525e3bb50acdfe095e6829b040636d37a295.tar.xz
musl-e2b4525e3bb50acdfe095e6829b040636d37a295.zip
add TCP_INFO and TCP_MD5SIG socket option related structures
Diffstat (limited to 'include/netinet/tcp.h')
-rw-r--r--include/netinet/tcp.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
index 5212ef71..5639b89a 100644
--- a/include/netinet/tcp.h
+++ b/include/netinet/tcp.h
@@ -79,6 +79,64 @@ struct tcphdr
 	u_int16_t check;
 	u_int16_t urg_ptr;
 };
+
+#define TCPI_OPT_TIMESTAMPS	1
+#define TCPI_OPT_SACK		2
+#define TCPI_OPT_WSCALE		4
+#define TCPI_OPT_ECN		8
+
+#define TCP_CA_Open		0
+#define TCP_CA_Disorder		1
+#define TCP_CA_CWR		2
+#define TCP_CA_Recovery		3
+#define TCP_CA_Loss		4
+
+struct tcp_info
+{
+	u_int8_t tcpi_state;
+	u_int8_t tcpi_ca_state;
+	u_int8_t tcpi_retransmits;
+	u_int8_t tcpi_probes;
+	u_int8_t tcpi_backoff;
+	u_int8_t tcpi_options;
+	u_int8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
+	u_int32_t tcpi_rto;
+	u_int32_t tcpi_ato;
+	u_int32_t tcpi_snd_mss;
+	u_int32_t tcpi_rcv_mss;
+	u_int32_t tcpi_unacked;
+	u_int32_t tcpi_sacked;
+	u_int32_t tcpi_lost;
+	u_int32_t tcpi_retrans;
+	u_int32_t tcpi_fackets;
+	u_int32_t tcpi_last_data_sent;
+	u_int32_t tcpi_last_ack_sent;
+	u_int32_t tcpi_last_data_recv;
+	u_int32_t tcpi_last_ack_recv;
+	u_int32_t tcpi_pmtu;
+	u_int32_t tcpi_rcv_ssthresh;
+	u_int32_t tcpi_rtt;
+	u_int32_t tcpi_rttvar;
+	u_int32_t tcpi_snd_ssthresh;
+	u_int32_t tcpi_snd_cwnd;
+	u_int32_t tcpi_advmss;
+	u_int32_t tcpi_reordering;
+	u_int32_t tcpi_rcv_rtt;
+	u_int32_t tcpi_rcv_space;
+	u_int32_t tcpi_total_retrans;
+};
+
+#define TCP_MD5SIG_MAXKEYLEN    80
+
+struct tcp_md5sig
+{
+	struct sockaddr_storage tcpm_addr;
+	u_int16_t __tcpm_pad1;
+	u_int16_t tcpm_keylen;
+	u_int32_t __tcpm_pad2;
+	u_int8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN];
+};
+
 #endif
 
 #endif