tcp.h (282f23c6ee343126156dd41218b22ece96d747e3) tcp.h (2100c8d2d9db23c0a09901a782bb4e3b21bee298)
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * Definitions for the TCP module.
7 *
8 * Version: @(#)tcp.h 1.0.5 05/23/93

--- 156 unchanged lines hidden (view full) ---

165#define TCPOPT_EOL 0 /* End of options */
166#define TCPOPT_MSS 2 /* Segment size negotiating */
167#define TCPOPT_WINDOW 3 /* Window scaling */
168#define TCPOPT_SACK_PERM 4 /* SACK Permitted */
169#define TCPOPT_SACK 5 /* SACK Block */
170#define TCPOPT_TIMESTAMP 8 /* Better RTT estimations/PAWS */
171#define TCPOPT_MD5SIG 19 /* MD5 Signature (RFC2385) */
172#define TCPOPT_COOKIE 253 /* Cookie extension (experimental) */
1/*
2 * INET An implementation of the TCP/IP protocol suite for the LINUX
3 * operating system. INET is implemented using the BSD Socket
4 * interface as the means of communication with the user level.
5 *
6 * Definitions for the TCP module.
7 *
8 * Version: @(#)tcp.h 1.0.5 05/23/93

--- 156 unchanged lines hidden (view full) ---

165#define TCPOPT_EOL 0 /* End of options */
166#define TCPOPT_MSS 2 /* Segment size negotiating */
167#define TCPOPT_WINDOW 3 /* Window scaling */
168#define TCPOPT_SACK_PERM 4 /* SACK Permitted */
169#define TCPOPT_SACK 5 /* SACK Block */
170#define TCPOPT_TIMESTAMP 8 /* Better RTT estimations/PAWS */
171#define TCPOPT_MD5SIG 19 /* MD5 Signature (RFC2385) */
172#define TCPOPT_COOKIE 253 /* Cookie extension (experimental) */
173#define TCPOPT_EXP 254 /* Experimental */
174/* Magic number to be after the option value for sharing TCP
175 * experimental options. See draft-ietf-tcpm-experimental-options-00.txt
176 */
177#define TCPOPT_FASTOPEN_MAGIC 0xF989
173
174/*
175 * TCP option lengths
176 */
177
178#define TCPOLEN_MSS 4
179#define TCPOLEN_WINDOW 3
180#define TCPOLEN_SACK_PERM 2
181#define TCPOLEN_TIMESTAMP 10
182#define TCPOLEN_MD5SIG 18
178
179/*
180 * TCP option lengths
181 */
182
183#define TCPOLEN_MSS 4
184#define TCPOLEN_WINDOW 3
185#define TCPOLEN_SACK_PERM 2
186#define TCPOLEN_TIMESTAMP 10
187#define TCPOLEN_MD5SIG 18
188#define TCPOLEN_EXP_FASTOPEN_BASE 4
183#define TCPOLEN_COOKIE_BASE 2 /* Cookie-less header extension */
184#define TCPOLEN_COOKIE_PAIR 3 /* Cookie pair header extension */
185#define TCPOLEN_COOKIE_MIN (TCPOLEN_COOKIE_BASE+TCP_COOKIE_MIN)
186#define TCPOLEN_COOKIE_MAX (TCPOLEN_COOKIE_BASE+TCP_COOKIE_MAX)
187
188/* But this is what stacks really send out. */
189#define TCPOLEN_TSTAMP_ALIGNED 12
190#define TCPOLEN_WSCALE_ALIGNED 4

--- 26 unchanged lines hidden (view full) ---

217extern int sysctl_tcp_keepalive_probes;
218extern int sysctl_tcp_keepalive_intvl;
219extern int sysctl_tcp_syn_retries;
220extern int sysctl_tcp_synack_retries;
221extern int sysctl_tcp_retries1;
222extern int sysctl_tcp_retries2;
223extern int sysctl_tcp_orphan_retries;
224extern int sysctl_tcp_syncookies;
189#define TCPOLEN_COOKIE_BASE 2 /* Cookie-less header extension */
190#define TCPOLEN_COOKIE_PAIR 3 /* Cookie pair header extension */
191#define TCPOLEN_COOKIE_MIN (TCPOLEN_COOKIE_BASE+TCP_COOKIE_MIN)
192#define TCPOLEN_COOKIE_MAX (TCPOLEN_COOKIE_BASE+TCP_COOKIE_MAX)
193
194/* But this is what stacks really send out. */
195#define TCPOLEN_TSTAMP_ALIGNED 12
196#define TCPOLEN_WSCALE_ALIGNED 4

--- 26 unchanged lines hidden (view full) ---

223extern int sysctl_tcp_keepalive_probes;
224extern int sysctl_tcp_keepalive_intvl;
225extern int sysctl_tcp_syn_retries;
226extern int sysctl_tcp_synack_retries;
227extern int sysctl_tcp_retries1;
228extern int sysctl_tcp_retries2;
229extern int sysctl_tcp_orphan_retries;
230extern int sysctl_tcp_syncookies;
231extern int sysctl_tcp_fastopen;
225extern int sysctl_tcp_retrans_collapse;
226extern int sysctl_tcp_stdurg;
227extern int sysctl_tcp_rfc1337;
228extern int sysctl_tcp_abort_on_overflow;
229extern int sysctl_tcp_max_orphans;
230extern int sysctl_tcp_fack;
231extern int sysctl_tcp_reordering;
232extern int sysctl_tcp_ecn;

--- 180 unchanged lines hidden (view full) ---

413extern int compat_tcp_setsockopt(struct sock *sk, int level, int optname,
414 char __user *optval, unsigned int optlen);
415extern void tcp_set_keepalive(struct sock *sk, int val);
416extern void tcp_syn_ack_timeout(struct sock *sk, struct request_sock *req);
417extern int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
418 size_t len, int nonblock, int flags, int *addr_len);
419extern void tcp_parse_options(const struct sk_buff *skb,
420 struct tcp_options_received *opt_rx, const u8 **hvpp,
232extern int sysctl_tcp_retrans_collapse;
233extern int sysctl_tcp_stdurg;
234extern int sysctl_tcp_rfc1337;
235extern int sysctl_tcp_abort_on_overflow;
236extern int sysctl_tcp_max_orphans;
237extern int sysctl_tcp_fack;
238extern int sysctl_tcp_reordering;
239extern int sysctl_tcp_ecn;

--- 180 unchanged lines hidden (view full) ---

420extern int compat_tcp_setsockopt(struct sock *sk, int level, int optname,
421 char __user *optval, unsigned int optlen);
422extern void tcp_set_keepalive(struct sock *sk, int val);
423extern void tcp_syn_ack_timeout(struct sock *sk, struct request_sock *req);
424extern int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
425 size_t len, int nonblock, int flags, int *addr_len);
426extern void tcp_parse_options(const struct sk_buff *skb,
427 struct tcp_options_received *opt_rx, const u8 **hvpp,
421 int estab);
428 int estab, struct tcp_fastopen_cookie *foc);
422extern const u8 *tcp_parse_md5sig_option(const struct tcphdr *th);
423
424/*
425 * TCP v4 functions exported for the inet6 API
426 */
427
428extern void tcp_v4_send_check(struct sock *sk, struct sk_buff *skb);
429extern int tcp_v4_conn_request(struct sock *sk, struct sk_buff *skb);

--- 1198 unchanged lines hidden ---
429extern const u8 *tcp_parse_md5sig_option(const struct tcphdr *th);
430
431/*
432 * TCP v4 functions exported for the inet6 API
433 */
434
435extern void tcp_v4_send_check(struct sock *sk, struct sk_buff *skb);
436extern int tcp_v4_conn_request(struct sock *sk, struct sk_buff *skb);

--- 1198 unchanged lines hidden ---