1*5065Swnj /* tcp_fsm.h 4.7 81/11/24 */ 24725Swnj 34725Swnj /* 44924Swnj * TCP FSM state definitions. 5*5065Swnj * Per RFC793, September, 1981. 64725Swnj */ 74725Swnj 8*5065Swnj #define TCP_NSTATES 11 94725Swnj 10*5065Swnj #define TCPS_CLOSED 0 /* closed */ 11*5065Swnj #define TCPS_LISTEN 1 /* listening for connection */ 12*5065Swnj #define TCPS_SYN_SENT 2 /* active, have sent syn */ 13*5065Swnj #define TCPS_SYN_RCVD 3 /* have send and received syn */ 14*5065Swnj #define TCPS_ESTABLISHED 4 /* established */ 15*5065Swnj #define TCPS_FIN_WAIT_1 5 /* have closed, sent fin */ 16*5065Swnj #define TCPS_FIN_WAIT_2 6 /* have closed, fin is acked */ 17*5065Swnj #define TCPS_TIME_WAIT 7 /* in 2*msl quiet wait after close */ 18*5065Swnj #define TCPS_CLOSE_WAIT 8 /* rcvd fin, waiting for close */ 19*5065Swnj #define TCPS_CLOSING 9 /* closed xchd FIN; await FIN ACK */ 20*5065Swnj #define TCPS_LAST_ACK 10 /* had fin and close; await FIN ACK */ 214725Swnj 22*5065Swnj #define TCPS_HAVERCVDSYN(s) ((s) >= TCPS_SYN_RCVD) 23*5065Swnj #define TCPS_HAVERCVDFIN(s) ((s) >= TCPS_TIME_WAIT) 24*5065Swnj 254730Swnj #ifdef KPROF 264899Swnj int tcp_acounts[TCP_NSTATES][PRU_NREQ]; 274725Swnj #endif 284725Swnj 294725Swnj #ifdef TCPSTATES 304725Swnj char *tcpstates[] = { 31*5065Swnj "CLOSED", "LISTEN", "SYN_SENT", "SYN_RCVD", 32*5065Swnj "ESTABLISHED", "FIN_WAIT1", "FIN_WAIT2", "TIME_WAIT", 33*5065Swnj "CLOSE_WAIT", "CLOSING", "LAST_ACK", 344725Swnj }; 354725Swnj #endif 36