out-of-band fixed up
[unix-history] / usr / src / sys / netinet / tcp.h
/* tcp.h 1.21 82/01/18 */
typedef u_long tcp_seq;
/*
* TCP header.
* Per RFC 793, September, 1981.
*/
struct tcphdr {
u_short th_sport; /* source port */
u_short th_dport; /* destination port */
tcp_seq th_seq; /* sequence number */
tcp_seq th_ack; /* acknowledgement number */
u_char
th_x2:4, /* (unused) */
th_off:4; /* data offset */
u_char th_flags;
#define TH_FIN 0x01
#define TH_SYN 0x02
#define TH_RST 0x04
#define TH_PUSH 0x08
#define TH_ACK 0x10
#define TH_URG 0x20
u_short th_win; /* window */
u_short th_sum; /* checksum */
u_short th_urp; /* urgent pointer */
};
#define TCPOPT_EOL 0
#define TCPOPT_NOP 1
#define TCPOPT_MAXSEG 2
#ifdef TCPTRUEOOB
/*
* True out-of-band as value added option.
* Advertise willingness with TCPOPT_WILOOB in
* initial segment. If peer is willing, will receive
* such also. Then can send TCPOPT_OOBDATA whenever oob data
* exists; peer should ack with TCPOPT_OOBACK in segment.
*/
#define TCPOPT_WILLOOB 64 /* bytes: 64, 2 */
#define TCPOPT_OOBDATA 65 /* bytes: 65, 8, seq#, data, markseq */
#define TCPOPT_OOBACK 66 /* bytes: 66, 3, ack# */
#endif