/* PFLINUX: — OpenBSD 8.0 TCP state machine header * (glibc has no equivalent). Values copied from * _vendor/openbsd/obbsd/sys/netinet/tcp_fsm.h. Kernel-only bodies * (TCPOUTFLAGS/TCPSTATES arrays) dropped; tcpstates[] is declared extern * and defined in tools/compat-user/bsd.c for pf_print_state.c. */ #ifndef _PFLINUX_NETINET_TCP_FSM_H #define _PFLINUX_NETINET_TCP_FSM_H #define TCP_NSTATES 11 #define TCPS_CLOSED 0 /* closed */ #define TCPS_LISTEN 1 /* listening for connection */ #define TCPS_SYN_SENT 2 /* active, have sent syn */ #define TCPS_SYN_RECEIVED 3 /* have sent and received syn */ /* states < TCPS_ESTABLISHED are those where connections not established */ #define TCPS_ESTABLISHED 4 /* established */ #define TCPS_CLOSE_WAIT 5 /* rcvd fin, waiting for close */ /* states > TCPS_CLOSE_WAIT are those where user has closed */ #define TCPS_FIN_WAIT_1 6 /* have closed, sent fin */ #define TCPS_CLOSING 7 /* closed xchd FIN; await FIN ACK */ #define TCPS_LAST_ACK 8 /* had fin and close; await FIN ACK */ /* states > TCPS_CLOSE_WAIT && < TCPS_FIN_WAIT_2 await ACK of FIN */ #define TCPS_FIN_WAIT_2 9 /* have closed, fin is acked */ #define TCPS_TIME_WAIT 10 /* in 2*msl quiet wait after close */ #define TCPS_HAVERCVDSYN(s) ((s) >= TCPS_SYN_RECEIVED) #define TCPS_HAVEESTABLISHED(s) ((s) >= TCPS_ESTABLISHED) #define TCPS_HAVERCVDFIN(s) ((s) >= TCPS_TIME_WAIT) extern const char *const tcpstates[]; #endif /* _PFLINUX_NETINET_TCP_FSM_H */