xref: /OK3568_Linux_fs/kernel/include/net/tcp_states.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * INET		An implementation of the TCP/IP protocol suite for the LINUX
4*4882a593Smuzhiyun  *		operating system.  INET is implemented using the  BSD Socket
5*4882a593Smuzhiyun  *		interface as the means of communication with the user level.
6*4882a593Smuzhiyun  *
7*4882a593Smuzhiyun  *		Definitions for the TCP protocol sk_state field.
8*4882a593Smuzhiyun  */
9*4882a593Smuzhiyun #ifndef _LINUX_TCP_STATES_H
10*4882a593Smuzhiyun #define _LINUX_TCP_STATES_H
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun enum {
13*4882a593Smuzhiyun 	TCP_ESTABLISHED = 1,
14*4882a593Smuzhiyun 	TCP_SYN_SENT,
15*4882a593Smuzhiyun 	TCP_SYN_RECV,
16*4882a593Smuzhiyun 	TCP_FIN_WAIT1,
17*4882a593Smuzhiyun 	TCP_FIN_WAIT2,
18*4882a593Smuzhiyun 	TCP_TIME_WAIT,
19*4882a593Smuzhiyun 	TCP_CLOSE,
20*4882a593Smuzhiyun 	TCP_CLOSE_WAIT,
21*4882a593Smuzhiyun 	TCP_LAST_ACK,
22*4882a593Smuzhiyun 	TCP_LISTEN,
23*4882a593Smuzhiyun 	TCP_CLOSING,	/* Now a valid state */
24*4882a593Smuzhiyun 	TCP_NEW_SYN_RECV,
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun 	TCP_MAX_STATES	/* Leave at the end! */
27*4882a593Smuzhiyun };
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun #define TCP_STATE_MASK	0xF
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun #define TCP_ACTION_FIN	(1 << TCP_CLOSE)
32*4882a593Smuzhiyun 
33*4882a593Smuzhiyun enum {
34*4882a593Smuzhiyun 	TCPF_ESTABLISHED = (1 << TCP_ESTABLISHED),
35*4882a593Smuzhiyun 	TCPF_SYN_SENT	 = (1 << TCP_SYN_SENT),
36*4882a593Smuzhiyun 	TCPF_SYN_RECV	 = (1 << TCP_SYN_RECV),
37*4882a593Smuzhiyun 	TCPF_FIN_WAIT1	 = (1 << TCP_FIN_WAIT1),
38*4882a593Smuzhiyun 	TCPF_FIN_WAIT2	 = (1 << TCP_FIN_WAIT2),
39*4882a593Smuzhiyun 	TCPF_TIME_WAIT	 = (1 << TCP_TIME_WAIT),
40*4882a593Smuzhiyun 	TCPF_CLOSE	 = (1 << TCP_CLOSE),
41*4882a593Smuzhiyun 	TCPF_CLOSE_WAIT	 = (1 << TCP_CLOSE_WAIT),
42*4882a593Smuzhiyun 	TCPF_LAST_ACK	 = (1 << TCP_LAST_ACK),
43*4882a593Smuzhiyun 	TCPF_LISTEN	 = (1 << TCP_LISTEN),
44*4882a593Smuzhiyun 	TCPF_CLOSING	 = (1 << TCP_CLOSING),
45*4882a593Smuzhiyun 	TCPF_NEW_SYN_RECV = (1 << TCP_NEW_SYN_RECV),
46*4882a593Smuzhiyun };
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun #endif	/* _LINUX_TCP_STATES_H */
49