1 /* 2 server/ip/gen/tcp_hdr.h 3 */ 4 5 #ifndef __SERVER__IP__GEN__TCP_HDR_H__ 6 #define __SERVER__IP__GEN__TCP_HDR_H__ 7 8 typedef struct tcp_hdr 9 { 10 tcpport_t th_srcport; 11 tcpport_t th_dstport; 12 u32_t th_seq_nr; 13 u32_t th_ack_nr; 14 u8_t th_data_off; 15 u8_t th_flags; 16 u16_t th_window; 17 u16_t th_chksum; 18 u16_t th_urgptr; 19 } tcp_hdr_t; 20 21 #define TH_DO_MASK 0xf0 22 23 #define TH_FLAGS_MASK 0x3f 24 #define THF_FIN 0x1 25 #define THF_SYN 0x2 26 #define THF_RST 0x4 27 #define THF_PSH 0x8 28 #define THF_ACK 0x10 29 #define THF_URG 0x20 30 31 typedef struct tcp_hdropt 32 { 33 int tho_opt_siz; 34 u8_t tho_data[TCP_MAX_HDR_SIZE-TCP_MIN_HDR_SIZE]; 35 } tcp_hdropt_t; 36 37 #define TCP_OPT_EOL 0 38 #define TCP_OPT_NOP 1 39 #define TCP_OPT_MSS 2 40 #define TCP_OPT_WSOPT 3 /* RFC-1323, window scale option */ 41 #define TCP_OPT_SACKOK 4 /* RFC-2018, SACK permitted */ 42 #define TCP_OPT_TS 8 /* RFC-1323, Timestamps option */ 43 #define TCP_OPT_CCNEW 12 /* RFC-1644, new connection count */ 44 45 #endif /* __SERVER__IP__GEN__TCP_HDR_H__ */ 46 47 /* 48 * $PchId: tcp_hdr.h,v 1.4 2002/06/10 07:12:22 philip Exp $ 49 */ 50