18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * INET		An implementation of the TCP/IP protocol suite for the LINUX
48c2ecf20Sopenharmony_ci *		operating system.  INET is implemented using the  BSD Socket
58c2ecf20Sopenharmony_ci *		interface as the means of communication with the user level.
68c2ecf20Sopenharmony_ci *
78c2ecf20Sopenharmony_ci *		Definitions for the TCP protocol sk_state field.
88c2ecf20Sopenharmony_ci */
98c2ecf20Sopenharmony_ci#ifndef _LINUX_TCP_STATES_H
108c2ecf20Sopenharmony_ci#define _LINUX_TCP_STATES_H
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_cienum {
138c2ecf20Sopenharmony_ci	TCP_ESTABLISHED = 1,
148c2ecf20Sopenharmony_ci	TCP_SYN_SENT,
158c2ecf20Sopenharmony_ci	TCP_SYN_RECV,
168c2ecf20Sopenharmony_ci	TCP_FIN_WAIT1,
178c2ecf20Sopenharmony_ci	TCP_FIN_WAIT2,
188c2ecf20Sopenharmony_ci	TCP_TIME_WAIT,
198c2ecf20Sopenharmony_ci	TCP_CLOSE,
208c2ecf20Sopenharmony_ci	TCP_CLOSE_WAIT,
218c2ecf20Sopenharmony_ci	TCP_LAST_ACK,
228c2ecf20Sopenharmony_ci	TCP_LISTEN,
238c2ecf20Sopenharmony_ci	TCP_CLOSING,	/* Now a valid state */
248c2ecf20Sopenharmony_ci	TCP_NEW_SYN_RECV,
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ci	TCP_MAX_STATES	/* Leave at the end! */
278c2ecf20Sopenharmony_ci};
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci#define TCP_STATE_MASK	0xF
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci#define TCP_ACTION_FIN	(1 << TCP_CLOSE)
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_cienum {
348c2ecf20Sopenharmony_ci	TCPF_ESTABLISHED = (1 << TCP_ESTABLISHED),
358c2ecf20Sopenharmony_ci	TCPF_SYN_SENT	 = (1 << TCP_SYN_SENT),
368c2ecf20Sopenharmony_ci	TCPF_SYN_RECV	 = (1 << TCP_SYN_RECV),
378c2ecf20Sopenharmony_ci	TCPF_FIN_WAIT1	 = (1 << TCP_FIN_WAIT1),
388c2ecf20Sopenharmony_ci	TCPF_FIN_WAIT2	 = (1 << TCP_FIN_WAIT2),
398c2ecf20Sopenharmony_ci	TCPF_TIME_WAIT	 = (1 << TCP_TIME_WAIT),
408c2ecf20Sopenharmony_ci	TCPF_CLOSE	 = (1 << TCP_CLOSE),
418c2ecf20Sopenharmony_ci	TCPF_CLOSE_WAIT	 = (1 << TCP_CLOSE_WAIT),
428c2ecf20Sopenharmony_ci	TCPF_LAST_ACK	 = (1 << TCP_LAST_ACK),
438c2ecf20Sopenharmony_ci	TCPF_LISTEN	 = (1 << TCP_LISTEN),
448c2ecf20Sopenharmony_ci	TCPF_CLOSING	 = (1 << TCP_CLOSING),
458c2ecf20Sopenharmony_ci	TCPF_NEW_SYN_RECV = (1 << TCP_NEW_SYN_RECV),
468c2ecf20Sopenharmony_ci};
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci#endif	/* _LINUX_TCP_STATES_H */
49