36 #ifndef _NETINET_TCP_FSM_H_ 37 #define _NETINET_TCP_FSM_H_ 44 #define TCP_NSTATES 11 48 #define TCPS_SYN_SENT 2 49 #define TCPS_SYN_RECEIVED 3 51 #define TCPS_ESTABLISHED 4 52 #define TCPS_CLOSE_WAIT 5 54 #define TCPS_FIN_WAIT_1 6 55 #define TCPS_CLOSING 7 56 #define TCPS_LAST_ACK 8 58 #define TCPS_FIN_WAIT_2 9 59 #define TCPS_TIME_WAIT 10 61 #define TCPS_HAVERCVDSYN(s) ((s) >= TCPS_SYN_RECEIVED) 62 #define TCPS_HAVEESTABLISHED(s) ((s) >= TCPS_ESTABLISHED) 63 #define TCPS_HAVERCVDFIN(s) ((s) >= TCPS_TIME_WAIT) 72 static u_char tcp_outflags[TCP_NSTATES] = {
73 TH_RST|TH_ACK, 0, TH_SYN, TH_SYN|TH_ACK,
75 TH_FIN|TH_ACK, TH_FIN|TH_ACK, TH_FIN|TH_ACK, TH_ACK, TH_ACK,
80 int tcp_acounts[TCP_NSTATES][PRU_NREQ];
85 "CLOSED",
"LISTEN",
"SYN_SENT",
"SYN_RCVD",
86 "ESTABLISHED",
"CLOSE_WAIT",
"FIN_WAIT_1",
"CLOSING",
87 "LAST_ACK",
"FIN_WAIT_2",
"TIME_WAIT",