Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations
tcp.h File Reference
#include <linux/types.h>
#include <asm/byteorder.h>
#include <linux/socket.h>

Go to the source code of this file.

Data Structures

struct  tcphdr
 
union  tcp_word_hdr
 
struct  tcp_repair_opt
 
struct  tcp_info
 
struct  tcp_md5sig
 
struct  tcp_cookie_transactions
 

Macros

#define tcp_flag_word(tp)   ( ((union tcp_word_hdr *)(tp))->words [3])
 
#define TCP_MSS_DEFAULT   536U /* IPv4 (RFC1122, RFC2581) */
 
#define TCP_MSS_DESIRED   1220U /* IPv6 (tunneled), EDNS0 (RFC3226) */
 
#define TCP_NODELAY   1 /* Turn off Nagle's algorithm. */
 
#define TCP_MAXSEG   2 /* Limit MSS */
 
#define TCP_CORK   3 /* Never send partially complete segments */
 
#define TCP_KEEPIDLE   4 /* Start keeplives after this period */
 
#define TCP_KEEPINTVL   5 /* Interval between keepalives */
 
#define TCP_KEEPCNT   6 /* Number of keepalives before death */
 
#define TCP_SYNCNT   7 /* Number of SYN retransmits */
 
#define TCP_LINGER2   8 /* Life time of orphaned FIN-WAIT-2 state */
 
#define TCP_DEFER_ACCEPT   9 /* Wake up listener only when data arrive */
 
#define TCP_WINDOW_CLAMP   10 /* Bound advertised window */
 
#define TCP_INFO   11 /* Information about this connection. */
 
#define TCP_QUICKACK   12 /* Block/reenable quick acks */
 
#define TCP_CONGESTION   13 /* Congestion control algorithm */
 
#define TCP_MD5SIG   14 /* TCP MD5 Signature (RFC2385) */
 
#define TCP_COOKIE_TRANSACTIONS   15 /* TCP Cookie Transactions */
 
#define TCP_THIN_LINEAR_TIMEOUTS   16 /* Use linear timeouts for thin streams*/
 
#define TCP_THIN_DUPACK   17 /* Fast retrans. after 1 dupack */
 
#define TCP_USER_TIMEOUT   18 /* How long for loss retry before timeout */
 
#define TCP_REPAIR   19 /* TCP sock is under repair right now */
 
#define TCP_REPAIR_QUEUE   20
 
#define TCP_QUEUE_SEQ   21
 
#define TCP_REPAIR_OPTIONS   22
 
#define TCP_FASTOPEN   23 /* Enable FastOpen on listeners */
 
#define TCPI_OPT_TIMESTAMPS   1
 
#define TCPI_OPT_SACK   2
 
#define TCPI_OPT_WSCALE   4
 
#define TCPI_OPT_ECN   8 /* ECN was negociated at TCP session init */
 
#define TCPI_OPT_ECN_SEEN   16 /* we received at least one packet with ECT */
 
#define TCPI_OPT_SYN_DATA   32 /* SYN-ACK acked data in SYN sent or rcvd */
 
#define TCPF_CA_Open   (1<<TCP_CA_Open)
 
#define TCPF_CA_Disorder   (1<<TCP_CA_Disorder)
 
#define TCPF_CA_CWR   (1<<TCP_CA_CWR)
 
#define TCPF_CA_Recovery   (1<<TCP_CA_Recovery)
 
#define TCPF_CA_Loss   (1<<TCP_CA_Loss)
 
#define TCP_MD5SIG_MAXKEYLEN   80
 
#define TCP_COOKIE_MIN   8 /* 64-bits */
 
#define TCP_COOKIE_MAX   16 /* 128-bits */
 
#define TCP_COOKIE_PAIR_SIZE   (2*TCP_COOKIE_MAX)
 
#define TCP_COOKIE_IN_ALWAYS   (1 << 0) /* Discard SYN without cookie */
 
#define TCP_COOKIE_OUT_NEVER
 
#define TCP_S_DATA_IN   (1 << 2) /* Was data received? */
 
#define TCP_S_DATA_OUT   (1 << 3) /* Was data sent? */
 

Enumerations

enum  {
  TCP_FLAG_CWR = __constant_cpu_to_be32(0x00800000), TCP_FLAG_ECE = __constant_cpu_to_be32(0x00400000), TCP_FLAG_URG = __constant_cpu_to_be32(0x00200000), TCP_FLAG_ACK = __constant_cpu_to_be32(0x00100000),
  TCP_FLAG_PSH = __constant_cpu_to_be32(0x00080000), TCP_FLAG_RST = __constant_cpu_to_be32(0x00040000), TCP_FLAG_SYN = __constant_cpu_to_be32(0x00020000), TCP_FLAG_FIN = __constant_cpu_to_be32(0x00010000),
  TCP_RESERVED_BITS = __constant_cpu_to_be32(0x0F000000), TCP_DATA_OFFSET = __constant_cpu_to_be32(0xF0000000)
}
 
enum  { TCP_NO_QUEUE, TCP_RECV_QUEUE, TCP_SEND_QUEUE, TCP_QUEUES_NR }
 
enum  tcp_ca_state {
  TCP_CA_Open = 0, TCP_CA_Disorder = 1, TCP_CA_CWR = 2, TCP_CA_Recovery = 3,
  TCP_CA_Loss
}
 

Macro Definition Documentation

#define TCP_CONGESTION   13 /* Congestion control algorithm */

Definition at line 103 of file tcp.h.

#define TCP_COOKIE_IN_ALWAYS   (1 << 0) /* Discard SYN without cookie */

Definition at line 207 of file tcp.h.

#define TCP_COOKIE_MAX   16 /* 128-bits */

Definition at line 203 of file tcp.h.

#define TCP_COOKIE_MIN   8 /* 64-bits */

Definition at line 202 of file tcp.h.

#define TCP_COOKIE_OUT_NEVER
Value:
(1 << 1) /* Prohibit outgoing cookies,
* supercedes everything. */

Definition at line 208 of file tcp.h.

#define TCP_COOKIE_PAIR_SIZE   (2*TCP_COOKIE_MAX)

Definition at line 204 of file tcp.h.

#define TCP_COOKIE_TRANSACTIONS   15 /* TCP Cookie Transactions */

Definition at line 105 of file tcp.h.

#define TCP_CORK   3 /* Never send partially complete segments */

Definition at line 93 of file tcp.h.

#define TCP_DEFER_ACCEPT   9 /* Wake up listener only when data arrive */

Definition at line 99 of file tcp.h.

#define TCP_FASTOPEN   23 /* Enable FastOpen on listeners */

Definition at line 113 of file tcp.h.

#define tcp_flag_word (   tp)    ( ((union tcp_word_hdr *)(tp))->words [3])

Definition at line 69 of file tcp.h.

#define TCP_INFO   11 /* Information about this connection. */

Definition at line 101 of file tcp.h.

#define TCP_KEEPCNT   6 /* Number of keepalives before death */

Definition at line 96 of file tcp.h.

#define TCP_KEEPIDLE   4 /* Start keeplives after this period */

Definition at line 94 of file tcp.h.

#define TCP_KEEPINTVL   5 /* Interval between keepalives */

Definition at line 95 of file tcp.h.

#define TCP_LINGER2   8 /* Life time of orphaned FIN-WAIT-2 state */

Definition at line 98 of file tcp.h.

#define TCP_MAXSEG   2 /* Limit MSS */

Definition at line 92 of file tcp.h.

#define TCP_MD5SIG   14 /* TCP MD5 Signature (RFC2385) */

Definition at line 104 of file tcp.h.

#define TCP_MD5SIG_MAXKEYLEN   80

Definition at line 191 of file tcp.h.

#define TCP_MSS_DEFAULT   536U /* IPv4 (RFC1122, RFC2581) */

Definition at line 87 of file tcp.h.

#define TCP_MSS_DESIRED   1220U /* IPv6 (tunneled), EDNS0 (RFC3226) */

Definition at line 88 of file tcp.h.

#define TCP_NODELAY   1 /* Turn off Nagle's algorithm. */

Definition at line 91 of file tcp.h.

#define TCP_QUEUE_SEQ   21

Definition at line 111 of file tcp.h.

#define TCP_QUICKACK   12 /* Block/reenable quick acks */

Definition at line 102 of file tcp.h.

#define TCP_REPAIR   19 /* TCP sock is under repair right now */

Definition at line 109 of file tcp.h.

#define TCP_REPAIR_OPTIONS   22

Definition at line 112 of file tcp.h.

#define TCP_REPAIR_QUEUE   20

Definition at line 110 of file tcp.h.

#define TCP_S_DATA_IN   (1 << 2) /* Was data received? */

Definition at line 211 of file tcp.h.

#define TCP_S_DATA_OUT   (1 << 3) /* Was data sent? */

Definition at line 212 of file tcp.h.

#define TCP_SYNCNT   7 /* Number of SYN retransmits */

Definition at line 97 of file tcp.h.

#define TCP_THIN_DUPACK   17 /* Fast retrans. after 1 dupack */

Definition at line 107 of file tcp.h.

#define TCP_THIN_LINEAR_TIMEOUTS   16 /* Use linear timeouts for thin streams*/

Definition at line 106 of file tcp.h.

#define TCP_USER_TIMEOUT   18 /* How long for loss retry before timeout */

Definition at line 108 of file tcp.h.

#define TCP_WINDOW_CLAMP   10 /* Bound advertised window */

Definition at line 100 of file tcp.h.

#define TCPF_CA_CWR   (1<<TCP_CA_CWR)

Definition at line 141 of file tcp.h.

#define TCPF_CA_Disorder   (1<<TCP_CA_Disorder)

Definition at line 139 of file tcp.h.

#define TCPF_CA_Loss   (1<<TCP_CA_Loss)
#define TCPF_CA_Open   (1<<TCP_CA_Open)

Definition at line 137 of file tcp.h.

#define TCPF_CA_Recovery   (1<<TCP_CA_Recovery)

Definition at line 143 of file tcp.h.

#define TCPI_OPT_ECN   8 /* ECN was negociated at TCP session init */

Definition at line 131 of file tcp.h.

#define TCPI_OPT_ECN_SEEN   16 /* we received at least one packet with ECT */

Definition at line 132 of file tcp.h.

#define TCPI_OPT_SACK   2

Definition at line 129 of file tcp.h.

#define TCPI_OPT_SYN_DATA   32 /* SYN-ACK acked data in SYN sent or rcvd */

Definition at line 133 of file tcp.h.

#define TCPI_OPT_TIMESTAMPS   1

Definition at line 128 of file tcp.h.

#define TCPI_OPT_WSCALE   4

Definition at line 130 of file tcp.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
TCP_FLAG_CWR 
TCP_FLAG_ECE 
TCP_FLAG_URG 
TCP_FLAG_ACK 
TCP_FLAG_PSH 
TCP_FLAG_RST 
TCP_FLAG_SYN 
TCP_FLAG_FIN 
TCP_RESERVED_BITS 
TCP_DATA_OFFSET 

Definition at line 71 of file tcp.h.

anonymous enum
Enumerator:
TCP_NO_QUEUE 
TCP_RECV_QUEUE 
TCP_SEND_QUEUE 
TCP_QUEUES_NR 

Definition at line 120 of file tcp.h.

Enumerator:
TCP_CA_Open 
TCP_CA_Disorder 
TCP_CA_CWR 
TCP_CA_Recovery 
TCP_CA_Loss 

Definition at line 135 of file tcp.h.