aboutsummaryrefslogtreecommitdiffstats
path: root/main/musl/1005-add-TCP_INFO-and-TCP_MD5SIG-socket-option-related-st.patch
blob: 7af697cdc307df0402f9602d24ca162917953d1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
From 38c01bb8b97d911d3eb5d1ab48ad40c0857f78cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
Date: Wed, 18 Dec 2013 13:53:11 +0200
Subject: [PATCH] add TCP_INFO and TCP_MD5SIG socket option related structures

---
 include/netinet/tcp.h | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)

diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
index 5212ef7..5639b89 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
-- 
1.8.5.1