#include <netinet/tcp_fsm.h>
netinet/tcp_fsm.h
macroTCP_NSTATES
#define TCP_NSTATES 11
macroTCPS_ESTABLISHED
states < TCPS_ESTABLISHED are those where connections not established
#define TCPS_ESTABLISHED 4
established
macroTCPS_FIN_WAIT_1
states > TCPS_CLOSE_WAIT are those where user has closed
#define TCPS_FIN_WAIT_1 6
have closed, sent fin
macroTCPS_FIN_WAIT_2
states > TCPS_CLOSE_WAIT && < TCPS_FIN_WAIT_2 await ACK of FIN
#define TCPS_FIN_WAIT_2 9
have closed, fin is acked
macroTCP6S_CLOSED
#define TCP6S_CLOSED TCPS_CLOSED
macroTCP6S_LISTEN
#define TCP6S_LISTEN TCPS_LISTEN
macroTCP6S_SYN_SENT
#define TCP6S_SYN_SENT TCPS_SYN_SENT
macroTCP6S_SYN_RECEIVED
#define TCP6S_SYN_RECEIVED TCPS_SYN_RECEIVED
macroTCP6S_ESTABLISHED
#define TCP6S_ESTABLISHED TCPS_ESTABLISHED
macroTCP6S_CLOSE_WAIT
#define TCP6S_CLOSE_WAIT TCPS_CLOSE_WAIT
macroTCP6S_FIN_WAIT_1
#define TCP6S_FIN_WAIT_1 TCPS_FIN_WAIT_1
macroTCP6S_CLOSING
#define TCP6S_CLOSING TCPS_CLOSING
macroTCP6S_LAST_ACK
#define TCP6S_LAST_ACK TCPS_LAST_ACK
macroTCP6S_FIN_WAIT_2
#define TCP6S_FIN_WAIT_2 TCPS_FIN_WAIT_2
macroTCP6S_TIME_WAIT
#define TCP6S_TIME_WAIT TCPS_TIME_WAIT
macroTCPS_HAVERCVDSYN
#define TCPS_HAVERCVDSYN(s) ((s) >= TCPS_SYN_RECEIVED)
macroTCPS_HAVEESTABLISHED
#define TCPS_HAVEESTABLISHED(s) ((s) >= TCPS_ESTABLISHED)
macroTCPS_HAVERCVDFIN
#define TCPS_HAVERCVDFIN(s) ((s) >= TCPS_TIME_WAIT)
macroTCPS_HAVERCVDFIN2
#define TCPS_HAVERCVDFIN2(s) ((s) == TCPS_CLOSE_WAIT || (s) == TCPS_CLOSING || (s) == TCPS_LAST_ACK || (s) == TCPS_TIME_WAIT)