| /* |
| * INET An implementation of the TCP/IP protocol suite for the LINUX |
| * operating system. INET is implemented using the BSD Socket |
| * interface as the means of communication with the user level. |
| * |
| * Definitions for the TCP protocol. |
| * |
| * Version: @(#)tcp.h 1.0.2 04/28/93 |
| * |
| * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License |
| * as published by the Free Software Foundation; either version |
| * 2 of the License, or (at your option) any later version. |
| */ |
| #ifndef _LINUX_TCP_H |
| #define _LINUX_TCP_H |
| |
| |
| #define HEADER_SIZE 64 /* maximum header size */ |
| |
| |
| struct tcphdr { |
| unsigned short source; |
| unsigned short dest; |
| unsigned long seq; |
| unsigned long ack_seq; |
| unsigned short res1:4, |
| doff:4, |
| fin:1, |
| syn:1, |
| rst:1, |
| psh:1, |
| ack:1, |
| urg:1, |
| res2:2; |
| unsigned short window; |
| unsigned short check; |
| unsigned short urg_ptr; |
| }; |
| |
| |
| enum { |
| TCP_ESTABLISHED = 1, |
| TCP_SYN_SENT, |
| TCP_SYN_RECV, |
| #if 0 |
| TCP_CLOSING, /* not a valid state, just a seperator so we can use |
| < tcp_closing or > tcp_closing for checks. */ |
| #endif |
| TCP_FIN_WAIT1, |
| TCP_FIN_WAIT2, |
| TCP_TIME_WAIT, |
| TCP_CLOSE, |
| TCP_CLOSE_WAIT, |
| TCP_LAST_ACK, |
| TCP_LISTEN |
| }; |
| |
| #endif /* _LINUX_TCP_H */ |