1/*
2 * Copyright (C) 1993-2001 by Darren Reed.
3 *
4 * See the IPFILTER.LICENCE file for details on licencing.
5 *
6 * $Id: tcpflags.c,v 1.3 2002/11/02 07:18:01 darrenr Exp $
7 */
8
9#include "ipf.h"
10
11
12/*
13 * ECN is a new addition to TCP - RFC 2481
14 */
15#ifndef TH_ECN
16# define	TH_ECN  0x40
17#endif
18#ifndef TH_CWR
19# define	TH_CWR  0x80
20#endif
21
22extern	char	flagset[];
23extern	u_char	flags[];
24
25
26u_char tcpflags(flgs)
27char *flgs;
28{
29	u_char tcpf = 0;
30	char *s, *t;
31
32	for (s = flgs; *s; s++) {
33		if (*s == 'W')
34			tcpf |= TH_CWR;
35		else {
36			if (!(t = strchr(flagset, *s))) {
37				return 0;
38			}
39			tcpf |= flags[t - flagset];
40		}
41	}
42	return tcpf;
43}
44