| /* |
| * Copyright (C) 2001-2002 by Darren Reed. |
| * |
| * See the IPFILTER.LICENCE file for details on licencing. |
| * |
| * $Id$ |
| */ |
| |
| #include "ipf.h" |
| |
| |
| /* |
| * ECN is a new addition to TCP - RFC 2481 |
| */ |
| #ifndef TH_ECN |
| # define TH_ECN 0x40 |
| #endif |
| #ifndef TH_CWR |
| # define TH_CWR 0x80 |
| #endif |
| |
| extern char flagset[]; |
| extern u_char flags[]; |
| |
| |
| u_char tcpflags(flgs) |
| char *flgs; |
| { |
| u_char tcpf = 0; |
| char *s, *t; |
| |
| for (s = flgs; *s; s++) { |
| if (*s == 'W') |
| tcpf |= TH_CWR; |
| else { |
| if (!(t = strchr(flagset, *s))) { |
| return 0; |
| } |
| tcpf |= flags[t - flagset]; |
| } |
| } |
| return tcpf; |
| } |