tcp_states.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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_BOUND_INACTIVE, /* Pseudo-state for inet_diag */
  25. TCP_MAX_STATES /* Leave at the end! */
  26. };
  27. #define TCP_STATE_MASK 0xF
  28. #define TCP_ACTION_FIN (1 << TCP_CLOSE)
  29. enum {
  30. TCPF_ESTABLISHED = (1 << TCP_ESTABLISHED),
  31. TCPF_SYN_SENT = (1 << TCP_SYN_SENT),
  32. TCPF_SYN_RECV = (1 << TCP_SYN_RECV),
  33. TCPF_FIN_WAIT1 = (1 << TCP_FIN_WAIT1),
  34. TCPF_FIN_WAIT2 = (1 << TCP_FIN_WAIT2),
  35. TCPF_TIME_WAIT = (1 << TCP_TIME_WAIT),
  36. TCPF_CLOSE = (1 << TCP_CLOSE),
  37. TCPF_CLOSE_WAIT = (1 << TCP_CLOSE_WAIT),
  38. TCPF_LAST_ACK = (1 << TCP_LAST_ACK),
  39. TCPF_LISTEN = (1 << TCP_LISTEN),
  40. TCPF_CLOSING = (1 << TCP_CLOSING),
  41. TCPF_NEW_SYN_RECV = (1 << TCP_NEW_SYN_RECV),
  42. TCPF_BOUND_INACTIVE = (1 << TCP_BOUND_INACTIVE),
  43. };
  44. #endif /* _LINUX_TCP_STATES_H */