Xinu7/contrib/ether.monitor/h/tcp.h

Compare this file to the similar file:
Show the results in this format:


/* tcp.h */

/* TCP protocol constants and datagram format */

struct tcp {
	unsigned	tc_sport;		/* source port */
	unsigned	tc_dport;		/* destination port */
	long		tc_seq;			/* sequence number */
	long		tc_ack;			/* acknowledgement number */
	char		tc_x2:4,		/* (unused) */
			tc_off:4;		/* data offset */
	char		tc_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
	unsigned	tc_win;			/* window */
	unsigned	tc_sum;			/* checksum */
	unsigned	tc_urp;			/* urgent pointer */
	char		tc_data[1];		/* tcp data area */
};

#define	TCPOPT_EOL	0
#define	TCPOPT_NOP	1
#define	TCPOPT_MAXSEG	2

/*
 * Default maximum segment size for TCP.
 * Witc an IP MSS of 576, this is 536,
 * but 512 is probably more convenient.
 */
#ifdef	lint
#define	TCP_MSS	536
#else
#define	TCP_MSS	MIN(512, IP_MSS - sizeof (struct tcpiphdr))
#endif

/*
 * User-settable options (used witc setsockopt).
 */
#define	TCP_NODELAY	0x01	/* don't delay send to coalesce packets */
#define	TCP_MAXSEG	0x02	/* set maximum segment size */