X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/1c79356b52d46aa6b508fb032f5ae709b1f2897b..5eebf7385fedb1517b66b53c28e5aa6bb0a2be50:/bsd/netinet/tcp.h diff --git a/bsd/netinet/tcp.h b/bsd/netinet/tcp.h index 5cd425b9c..30479bd88 100644 --- a/bsd/netinet/tcp.h +++ b/bsd/netinet/tcp.h @@ -52,10 +52,12 @@ * SUCH DAMAGE. * * @(#)tcp.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD: src/sys/netinet/tcp.h,v 1.13.2.3 2001/03/01 22:08:42 jlemon Exp $ */ #ifndef _NETINET_TCP_H_ #define _NETINET_TCP_H_ +#include typedef u_int32_t tcp_seq; typedef u_int32_t tcp_cc; /* connection count per rfc1644 */ @@ -87,7 +89,9 @@ struct tcphdr { #define TH_PUSH 0x08 #define TH_ACK 0x10 #define TH_URG 0x20 -#define TH_FLAGS (TH_FIN|TH_SYN|TH_RST|TH_ACK|TH_URG) +#define TH_ECE 0x40 +#define TH_CWR 0x80 +#define TH_FLAGS (TH_FIN|TH_SYN|TH_RST|TH_ACK|TH_URG|TH_ECE|TH_CWR) u_short th_win; /* window */ u_short th_sum; /* checksum */ @@ -119,12 +123,23 @@ struct tcphdr { /* * Default maximum segment size for TCP. - * With an IP MSS of 576, this is 536, + * With an IP MTU of 576, this is 536, * but 512 is probably more convenient. * This should be defined as MIN(512, IP_MSS - sizeof (struct tcpiphdr)). */ #define TCP_MSS 512 +/* + * TCP_MINMSS is defined to be 216 which is fine for the smallest + * link MTU (256 bytes, SLIP interface) in the Internet. + * However it is very unlikely to come across such low MTU interfaces + * these days (anno dato 2004). + * Probably it can be set to 512 without ill effects. But we play safe. + * See tcp_subr.c tcp_minmss SYSCTL declaration for more comments. + * Setting this to "0" disables the minmss check. + */ +#define TCP_MINMSS 216 + /* * Default maximum segment size for TCP6. * With an IP6 MSS of 1280, this is 1220, @@ -138,6 +153,8 @@ struct tcphdr { #define TCP_MAX_WINSHIFT 14 /* maximum window shift */ +#define TCP_MAXBURST 4 /* maximum segments in a burst */ + #define TCP_MAXHLEN (0xf<<2) /* max length of header in bytes */ #define TCP_MAXOLEN (TCP_MAXHLEN - sizeof(struct tcphdr)) /* max space left for options */ @@ -149,5 +166,6 @@ struct tcphdr { #define TCP_MAXSEG 0x02 /* set maximum segment size */ #define TCP_NOPUSH 0x04 /* don't push last block of write */ #define TCP_NOOPT 0x08 /* don't use TCP options */ +#define TCP_KEEPALIVE 0x10 /* idle time used when SO_KEEPALIVE is enabled */ #endif