tcpflags
YY_STR { $$ = tcpflags($1); free($1); }
int ackskew, tcpflags;
tcpflags = tcp->th_flags;
if (tcpflags & TH_SYN)
((tcpflags & TH_SYN) ? 1 : 0) + ((tcpflags & TH_FIN) ? 1 : 0);
if (!(tcpflags & TH_SYN) && (fdata->td_winflags & TCP_WSCALE_FIRST)) {
((tcpflags & TH_OPENING) == TH_OPENING))) {
if (!(tcpflags & TH_ACK)) { /* Pretend an ack was sent */
} else if (((tcpflags & (TH_ACK|TH_RST)) == (TH_ACK|TH_RST)) &&
} else if ((seq == 0) && (tcpflags == (TH_RST|TH_ACK)) &&
u_char tcpflags;
tcpflags = tcp->th_flags;
u_char, tcpflags
if (tcpflags & TH_RST) {
if (!(tcpflags & TH_PUSH) && !dlen)
if ((tcpflags & TH_OPENING) == TH_OPENING) {
} else if ((tcpflags & TH_OPENING) == TH_SYN) {
((tcpflags & TH_ACKMASK) == TH_ACK)) {
if ((tcpflags & ~(TH_ECN|TH_CWR)) == TH_SYN) {
} else if ((tcpflags & (TH_SYN|TH_FIN|TH_ACK)) ==
} else if (tcpflags & TH_FIN) {
} else if ((tcpflags & TH_OPENING) == TH_OPENING) {
if ((tcpflags & (TH_SYN|TH_FIN|TH_ACK)) == TH_ACK) {
} else if ((tcpflags & ~(TH_ECN|TH_CWR)) ==
} else if (tcpflags & TH_FIN) {
if (tcpflags & TH_FIN) {
} else if ((tcpflags & TH_ACKMASK) == TH_ACK) {
if (tcpflags & TH_FIN) {
} else if (tcpflags & TH_ACK) {
if (tcpflags & TH_FIN) {
if ((tcpflags & TH_ACK) &&
if ((tcpflags & (TH_FIN|TH_ACK)) == TH_ACK) {
extern u_char tcpflags __P((char *));