xref: /csrg-svn/sys/netinet/tcp.h (revision 17316)
1*17316Skarels /*	tcp.h	6.2	84/11/01	*/
24573Swnj 
35085Swnj typedef	u_long	tcp_seq;
44573Swnj /*
54899Swnj  * TCP header.
64924Swnj  * Per RFC 793, September, 1981.
74573Swnj  */
84899Swnj struct tcphdr {
94899Swnj 	u_short	th_sport;		/* source port */
104899Swnj 	u_short	th_dport;		/* destination port */
115085Swnj 	tcp_seq	th_seq;			/* sequence number */
125085Swnj 	tcp_seq	th_ack;			/* acknowledgement number */
139992Ssam #ifdef vax
149992Ssam 	u_char	th_x2:4,		/* (unused) */
154899Swnj 		th_off:4;		/* data offset */
169992Ssam #endif
174575Swnj 	u_char	th_flags;
185065Swnj #define	TH_FIN	0x01
195065Swnj #define	TH_SYN	0x02
205065Swnj #define	TH_RST	0x04
215065Swnj #define	TH_PUSH	0x08
225065Swnj #define	TH_ACK	0x10
235065Swnj #define	TH_URG	0x20
244899Swnj 	u_short	th_win;			/* window */
254899Swnj 	u_short	th_sum;			/* checksum */
264899Swnj 	u_short	th_urp;			/* urgent pointer */
274499Swnj };
285440Swnj 
295440Swnj #define	TCPOPT_EOL	0
305440Swnj #define	TCPOPT_NOP	1
315440Swnj #define	TCPOPT_MAXSEG	2
32*17316Skarels 
33*17316Skarels /*
34*17316Skarels  *  Default maximum segment size for TCP.
35*17316Skarels  *  With an IP MSS of 576, this is 536,
36*17316Skarels  *  but 512 is probably more convenient.
37*17316Skarels  */
38*17316Skarels #define	TCP_MSS	MIN(512, IP_MSS - sizeof (struct tcpiphdr))
39