tcp_states.h 1.2 KB

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