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