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