diff options
| author | David Howells <dhowells@redhat.com> | 2012-10-13 05:46:48 -0400 |
|---|---|---|
| committer | David Howells <dhowells@redhat.com> | 2012-10-13 05:46:48 -0400 |
| commit | 607ca46e97a1b6594b29647d98a32d545c24bdff (patch) | |
| tree | 30f4c0784bfddb57332cdc0678bd06d1e77fa185 /include/linux/tcp.h | |
| parent | 08cce05c5a91f5017f4edc9866cf026908c73f9f (diff) | |
UAPI: (Scripted) Disintegrate include/linux
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'include/linux/tcp.h')
| -rw-r--r-- | include/linux/tcp.h | 208 |
1 files changed, 1 insertions, 207 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index 67c789ae719c..8a7fc4be2d75 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
| @@ -17,217 +17,13 @@ | |||
| 17 | #ifndef _LINUX_TCP_H | 17 | #ifndef _LINUX_TCP_H |
| 18 | #define _LINUX_TCP_H | 18 | #define _LINUX_TCP_H |
| 19 | 19 | ||
| 20 | #include <linux/types.h> | ||
| 21 | #include <asm/byteorder.h> | ||
| 22 | #include <linux/socket.h> | ||
| 23 | |||
| 24 | struct tcphdr { | ||
| 25 | __be16 source; | ||
| 26 | __be16 dest; | ||
| 27 | __be32 seq; | ||
| 28 | __be32 ack_seq; | ||
| 29 | #if defined(__LITTLE_ENDIAN_BITFIELD) | ||
| 30 | __u16 res1:4, | ||
| 31 | doff:4, | ||
| 32 | fin:1, | ||
| 33 | syn:1, | ||
| 34 | rst:1, | ||
| 35 | psh:1, | ||
| 36 | ack:1, | ||
| 37 | urg:1, | ||
| 38 | ece:1, | ||
| 39 | cwr:1; | ||
| 40 | #elif defined(__BIG_ENDIAN_BITFIELD) | ||
| 41 | __u16 doff:4, | ||
| 42 | res1:4, | ||
| 43 | cwr:1, | ||
| 44 | ece:1, | ||
| 45 | urg:1, | ||
| 46 | ack:1, | ||
| 47 | psh:1, | ||
| 48 | rst:1, | ||
| 49 | syn:1, | ||
| 50 | fin:1; | ||
| 51 | #else | ||
| 52 | #error "Adjust your <asm/byteorder.h> defines" | ||
| 53 | #endif | ||
| 54 | __be16 window; | ||
| 55 | __sum16 check; | ||
| 56 | __be16 urg_ptr; | ||
| 57 | }; | ||
| 58 | |||
| 59 | /* | ||
| 60 | * The union cast uses a gcc extension to avoid aliasing problems | ||
| 61 | * (union is compatible to any of its members) | ||
| 62 | * This means this part of the code is -fstrict-aliasing safe now. | ||
| 63 | */ | ||
| 64 | union tcp_word_hdr { | ||
| 65 | struct tcphdr hdr; | ||
| 66 | __be32 words[5]; | ||
| 67 | }; | ||
| 68 | |||
| 69 | #define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3]) | ||
| 70 | |||
| 71 | enum { | ||
| 72 | TCP_FLAG_CWR = __constant_cpu_to_be32(0x00800000), | ||
| 73 | TCP_FLAG_ECE = __constant_cpu_to_be32(0x00400000), | ||
| 74 | TCP_FLAG_URG = __constant_cpu_to_be32(0x00200000), | ||
| 75 | TCP_FLAG_ACK = __constant_cpu_to_be32(0x00100000), | ||
| 76 | TCP_FLAG_PSH = __constant_cpu_to_be32(0x00080000), | ||
| 77 | TCP_FLAG_RST = __constant_cpu_to_be32(0x00040000), | ||
| 78 | TCP_FLAG_SYN = __constant_cpu_to_be32(0x00020000), | ||
| 79 | TCP_FLAG_FIN = __constant_cpu_to_be32(0x00010000), | ||
| 80 | TCP_RESERVED_BITS = __constant_cpu_to_be32(0x0F000000), | ||
| 81 | TCP_DATA_OFFSET = __constant_cpu_to_be32(0xF0000000) | ||
| 82 | }; | ||
| 83 | |||
| 84 | /* | ||
| 85 | * TCP general constants | ||
| 86 | */ | ||
| 87 | #define TCP_MSS_DEFAULT 536U /* IPv4 (RFC1122, RFC2581) */ | ||
| 88 | #define TCP_MSS_DESIRED 1220U /* IPv6 (tunneled), EDNS0 (RFC3226) */ | ||
| 89 | |||
| 90 | /* TCP socket options */ | ||
| 91 | #define TCP_NODELAY 1 /* Turn off Nagle's algorithm. */ | ||
| 92 | #define TCP_MAXSEG 2 /* Limit MSS */ | ||
| 93 | #define TCP_CORK 3 /* Never send partially complete segments */ | ||
| 94 | #define TCP_KEEPIDLE 4 /* Start keeplives after this period */ | ||
| 95 | #define TCP_KEEPINTVL 5 /* Interval between keepalives */ | ||
| 96 | #define TCP_KEEPCNT 6 /* Number of keepalives before death */ | ||
| 97 | #define TCP_SYNCNT 7 /* Number of SYN retransmits */ | ||
| 98 | #define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */ | ||
| 99 | #define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */ | ||
| 100 | #define TCP_WINDOW_CLAMP 10 /* Bound advertised window */ | ||
| 101 | #define TCP_INFO 11 /* Information about this connection. */ | ||
| 102 | #define TCP_QUICKACK 12 /* Block/reenable quick acks */ | ||
| 103 | #define TCP_CONGESTION 13 /* Congestion control algorithm */ | ||
| 104 | #define TCP_MD5SIG 14 /* TCP MD5 Signature (RFC2385) */ | ||
| 105 | #define TCP_COOKIE_TRANSACTIONS 15 /* TCP Cookie Transactions */ | ||
| 106 | #define TCP_THIN_LINEAR_TIMEOUTS 16 /* Use linear timeouts for thin streams*/ | ||
| 107 | #define TCP_THIN_DUPACK 17 /* Fast retrans. after 1 dupack */ | ||
| 108 | #define TCP_USER_TIMEOUT 18 /* How long for loss retry before timeout */ | ||
| 109 | #define TCP_REPAIR 19 /* TCP sock is under repair right now */ | ||
| 110 | #define TCP_REPAIR_QUEUE 20 | ||
| 111 | #define TCP_QUEUE_SEQ 21 | ||
| 112 | #define TCP_REPAIR_OPTIONS 22 | ||
| 113 | #define TCP_FASTOPEN 23 /* Enable FastOpen on listeners */ | ||
| 114 | |||
| 115 | struct tcp_repair_opt { | ||
| 116 | __u32 opt_code; | ||
| 117 | __u32 opt_val; | ||
| 118 | }; | ||
| 119 | |||
| 120 | enum { | ||
| 121 | TCP_NO_QUEUE, | ||
| 122 | TCP_RECV_QUEUE, | ||
| 123 | TCP_SEND_QUEUE, | ||
| 124 | TCP_QUEUES_NR, | ||
| 125 | }; | ||
| 126 | |||
| 127 | /* for TCP_INFO socket option */ | ||
| 128 | #define TCPI_OPT_TIMESTAMPS 1 | ||
| 129 | #define TCPI_OPT_SACK 2 | ||
| 130 | #define TCPI_OPT_WSCALE 4 | ||
| 131 | #define TCPI_OPT_ECN 8 /* ECN was negociated at TCP session init */ | ||
| 132 | #define TCPI_OPT_ECN_SEEN 16 /* we received at least one packet with ECT */ | ||
| 133 | |||
| 134 | enum tcp_ca_state { | ||
| 135 | TCP_CA_Open = 0, | ||
| 136 | #define TCPF_CA_Open (1<<TCP_CA_Open) | ||
| 137 | TCP_CA_Disorder = 1, | ||
| 138 | #define TCPF_CA_Disorder (1<<TCP_CA_Disorder) | ||
| 139 | TCP_CA_CWR = 2, | ||
| 140 | #define TCPF_CA_CWR (1<<TCP_CA_CWR) | ||
| 141 | TCP_CA_Recovery = 3, | ||
| 142 | #define TCPF_CA_Recovery (1<<TCP_CA_Recovery) | ||
| 143 | TCP_CA_Loss = 4 | ||
| 144 | #define TCPF_CA_Loss (1<<TCP_CA_Loss) | ||
| 145 | }; | ||
| 146 | |||
| 147 | struct tcp_info { | ||
| 148 | __u8 tcpi_state; | ||
| 149 | __u8 tcpi_ca_state; | ||
| 150 | __u8 tcpi_retransmits; | ||
| 151 | __u8 tcpi_probes; | ||
| 152 | __u8 tcpi_backoff; | ||
| 153 | __u8 tcpi_options; | ||
| 154 | __u8 tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; | ||
| 155 | |||
| 156 | __u32 tcpi_rto; | ||
| 157 | __u32 tcpi_ato; | ||
| 158 | __u32 tcpi_snd_mss; | ||
| 159 | __u32 tcpi_rcv_mss; | ||
| 160 | |||
| 161 | __u32 tcpi_unacked; | ||
| 162 | __u32 tcpi_sacked; | ||
| 163 | __u32 tcpi_lost; | ||
| 164 | __u32 tcpi_retrans; | ||
| 165 | __u32 tcpi_fackets; | ||
| 166 | |||
| 167 | /* Times. */ | ||
| 168 | __u32 tcpi_last_data_sent; | ||
| 169 | __u32 tcpi_last_ack_sent; /* Not remembered, sorry. */ | ||
| 170 | __u32 tcpi_last_data_recv; | ||
| 171 | __u32 tcpi_last_ack_recv; | ||
| 172 | |||
| 173 | /* Metrics. */ | ||
| 174 | __u32 tcpi_pmtu; | ||
| 175 | __u32 tcpi_rcv_ssthresh; | ||
| 176 | __u32 tcpi_rtt; | ||
| 177 | __u32 tcpi_rttvar; | ||
| 178 | __u32 tcpi_snd_ssthresh; | ||
| 179 | __u32 tcpi_snd_cwnd; | ||
| 180 | __u32 tcpi_advmss; | ||
| 181 | __u32 tcpi_reordering; | ||
| 182 | |||
| 183 | __u32 tcpi_rcv_rtt; | ||
| 184 | __u32 tcpi_rcv_space; | ||
| 185 | |||
| 186 | __u32 tcpi_total_retrans; | ||
| 187 | }; | ||
| 188 | |||
| 189 | /* for TCP_MD5SIG socket option */ | ||
| 190 | #define TCP_MD5SIG_MAXKEYLEN 80 | ||
| 191 | |||
| 192 | struct tcp_md5sig { | ||
| 193 | struct __kernel_sockaddr_storage tcpm_addr; /* address associated */ | ||
| 194 | __u16 __tcpm_pad1; /* zero */ | ||
| 195 | __u16 tcpm_keylen; /* key length */ | ||
| 196 | __u32 __tcpm_pad2; /* zero */ | ||
| 197 | __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* key (binary) */ | ||
| 198 | }; | ||
| 199 | |||
| 200 | /* for TCP_COOKIE_TRANSACTIONS (TCPCT) socket option */ | ||
| 201 | #define TCP_COOKIE_MIN 8 /* 64-bits */ | ||
| 202 | #define TCP_COOKIE_MAX 16 /* 128-bits */ | ||
| 203 | #define TCP_COOKIE_PAIR_SIZE (2*TCP_COOKIE_MAX) | ||
| 204 | |||
| 205 | /* Flags for both getsockopt and setsockopt */ | ||
| 206 | #define TCP_COOKIE_IN_ALWAYS (1 << 0) /* Discard SYN without cookie */ | ||
| 207 | #define TCP_COOKIE_OUT_NEVER (1 << 1) /* Prohibit outgoing cookies, | ||
| 208 | * supercedes everything. */ | ||
| 209 | |||
| 210 | /* Flags for getsockopt */ | ||
| 211 | #define TCP_S_DATA_IN (1 << 2) /* Was data received? */ | ||
| 212 | #define TCP_S_DATA_OUT (1 << 3) /* Was data sent? */ | ||
| 213 | |||
| 214 | /* TCP_COOKIE_TRANSACTIONS data */ | ||
| 215 | struct tcp_cookie_transactions { | ||
| 216 | __u16 tcpct_flags; /* see above */ | ||
| 217 | __u8 __tcpct_pad1; /* zero */ | ||
| 218 | __u8 tcpct_cookie_desired; /* bytes */ | ||
| 219 | __u16 tcpct_s_data_desired; /* bytes of variable data */ | ||
| 220 | __u16 tcpct_used; /* bytes in value */ | ||
| 221 | __u8 tcpct_value[TCP_MSS_DEFAULT]; | ||
| 222 | }; | ||
| 223 | |||
| 224 | #ifdef __KERNEL__ | ||
| 225 | 20 | ||
| 226 | #include <linux/skbuff.h> | 21 | #include <linux/skbuff.h> |
| 227 | #include <linux/dmaengine.h> | 22 | #include <linux/dmaengine.h> |
| 228 | #include <net/sock.h> | 23 | #include <net/sock.h> |
| 229 | #include <net/inet_connection_sock.h> | 24 | #include <net/inet_connection_sock.h> |
| 230 | #include <net/inet_timewait_sock.h> | 25 | #include <net/inet_timewait_sock.h> |
| 26 | #include <uapi/linux/tcp.h> | ||
| 231 | 27 | ||
| 232 | static inline struct tcphdr *tcp_hdr(const struct sk_buff *skb) | 28 | static inline struct tcphdr *tcp_hdr(const struct sk_buff *skb) |
| 233 | { | 29 | { |
| @@ -595,6 +391,4 @@ static inline int fastopen_init_queue(struct sock *sk, int backlog) | |||
| 595 | return 0; | 391 | return 0; |
| 596 | } | 392 | } |
| 597 | 393 | ||
| 598 | #endif /* __KERNEL__ */ | ||
| 599 | |||
| 600 | #endif /* _LINUX_TCP_H */ | 394 | #endif /* _LINUX_TCP_H */ |
