minix3/include/net/gen/tcp_hdr.h

50 lines
1.0 KiB
C

/*
server/ip/gen/tcp_hdr.h
*/
#ifndef __SERVER__IP__GEN__TCP_HDR_H__
#define __SERVER__IP__GEN__TCP_HDR_H__
typedef struct tcp_hdr
{
tcpport_t th_srcport;
tcpport_t th_dstport;
u32_t th_seq_nr;
u32_t th_ack_nr;
u8_t th_data_off;
u8_t th_flags;
u16_t th_window;
u16_t th_chksum;
u16_t th_urgptr;
} tcp_hdr_t;
#define TH_DO_MASK 0xf0
#define TH_FLAGS_MASK 0x3f
#define THF_FIN 0x1
#define THF_SYN 0x2
#define THF_RST 0x4
#define THF_PSH 0x8
#define THF_ACK 0x10
#define THF_URG 0x20
typedef struct tcp_hdropt
{
int tho_opt_siz;
u8_t tho_data[TCP_MAX_HDR_SIZE-TCP_MIN_HDR_SIZE];
} tcp_hdropt_t;
#define TCP_OPT_EOL 0
#define TCP_OPT_NOP 1
#define TCP_OPT_MSS 2
#define TCP_OPT_WSOPT 3 /* RFC-1323, window scale option */
#define TCP_OPT_SACKOK 4 /* RFC-2018, SACK permitted */
#define TCP_OPT_TS 8 /* RFC-1323, Timestamps option */
#define TCP_OPT_CCNEW 12 /* RFC-1644, new connection count */
#endif /* __SERVER__IP__GEN__TCP_HDR_H__ */
/*
* $PchId: tcp_hdr.h,v 1.4 2002/06/10 07:12:22 philip Exp $
*/