xref: /openbmc/linux/include/net/tcp_states.h (revision 22712813620fa8e682dbfb253a60ca0131da1e07)
1c752f073SArnaldo Carvalho de Melo /*
2c752f073SArnaldo Carvalho de Melo  * INET		An implementation of the TCP/IP protocol suite for the LINUX
3c752f073SArnaldo Carvalho de Melo  *		operating system.  INET is implemented using the  BSD Socket
4c752f073SArnaldo Carvalho de Melo  *		interface as the means of communication with the user level.
5c752f073SArnaldo Carvalho de Melo  *
6c752f073SArnaldo Carvalho de Melo  *		Definitions for the TCP protocol sk_state field.
7c752f073SArnaldo Carvalho de Melo  *
8c752f073SArnaldo Carvalho de Melo  *		This program is free software; you can redistribute it and/or
9c752f073SArnaldo Carvalho de Melo  *		modify it under the terms of the GNU General Public License
10c752f073SArnaldo Carvalho de Melo  *		as published by the Free Software Foundation; either version
11c752f073SArnaldo Carvalho de Melo  *		2 of the License, or (at your option) any later version.
12c752f073SArnaldo Carvalho de Melo  */
13c752f073SArnaldo Carvalho de Melo #ifndef _LINUX_TCP_STATES_H
14c752f073SArnaldo Carvalho de Melo #define _LINUX_TCP_STATES_H
15c752f073SArnaldo Carvalho de Melo 
16c752f073SArnaldo Carvalho de Melo enum {
17c752f073SArnaldo Carvalho de Melo 	TCP_ESTABLISHED = 1,
18c752f073SArnaldo Carvalho de Melo 	TCP_SYN_SENT,
19c752f073SArnaldo Carvalho de Melo 	TCP_SYN_RECV,
20c752f073SArnaldo Carvalho de Melo 	TCP_FIN_WAIT1,
21c752f073SArnaldo Carvalho de Melo 	TCP_FIN_WAIT2,
22c752f073SArnaldo Carvalho de Melo 	TCP_TIME_WAIT,
23c752f073SArnaldo Carvalho de Melo 	TCP_CLOSE,
24c752f073SArnaldo Carvalho de Melo 	TCP_CLOSE_WAIT,
25c752f073SArnaldo Carvalho de Melo 	TCP_LAST_ACK,
26c752f073SArnaldo Carvalho de Melo 	TCP_LISTEN,
27c752f073SArnaldo Carvalho de Melo 	TCP_CLOSING,	/* Now a valid state */
28c752f073SArnaldo Carvalho de Melo 
29c752f073SArnaldo Carvalho de Melo 	TCP_MAX_STATES	/* Leave at the end! */
30c752f073SArnaldo Carvalho de Melo };
31c752f073SArnaldo Carvalho de Melo 
32c752f073SArnaldo Carvalho de Melo #define TCP_STATE_MASK	0xF
33c752f073SArnaldo Carvalho de Melo 
34*22712813SArnaldo Carvalho de Melo #define TCP_ACTION_FIN	(1 << 7)
35*22712813SArnaldo Carvalho de Melo 
36*22712813SArnaldo Carvalho de Melo enum {
37*22712813SArnaldo Carvalho de Melo 	TCPF_ESTABLISHED = (1 << 1),
38*22712813SArnaldo Carvalho de Melo 	TCPF_SYN_SENT	 = (1 << 2),
39*22712813SArnaldo Carvalho de Melo 	TCPF_SYN_RECV	 = (1 << 3),
40*22712813SArnaldo Carvalho de Melo 	TCPF_FIN_WAIT1	 = (1 << 4),
41*22712813SArnaldo Carvalho de Melo 	TCPF_FIN_WAIT2	 = (1 << 5),
42*22712813SArnaldo Carvalho de Melo 	TCPF_TIME_WAIT	 = (1 << 6),
43*22712813SArnaldo Carvalho de Melo 	TCPF_CLOSE	 = (1 << 7),
44*22712813SArnaldo Carvalho de Melo 	TCPF_CLOSE_WAIT	 = (1 << 8),
45*22712813SArnaldo Carvalho de Melo 	TCPF_LAST_ACK	 = (1 << 9),
46*22712813SArnaldo Carvalho de Melo 	TCPF_LISTEN	 = (1 << 10),
47*22712813SArnaldo Carvalho de Melo 	TCPF_CLOSING	 = (1 << 11)
48*22712813SArnaldo Carvalho de Melo };
49*22712813SArnaldo Carvalho de Melo 
50c752f073SArnaldo Carvalho de Melo #endif	/* _LINUX_TCP_STATES_H */
51