Project

General

Profile

Statistics
| Revision:

root / lab4 / .minix-src / include / net / gen / tcp_hdr.h @ 14

History | View | Annotate | Download (1.01 KB)

1 13 up20180614
/*
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
 */