xt_tcpudp.h revision ab4c2f14fb93700c9aefeb02ed9918565ba332a1
15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#ifndef _XT_TCPUDP_H
25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define _XT_TCPUDP_H
35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/* TCP matching stuff */
55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)struct xt_tcp
65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)	u_int16_t spts[2];			/* Source port range. */
85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)	u_int16_t dpts[2];			/* Destination port range. */
95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)	u_int8_t option;			/* TCP Option iff non-zero*/
105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)	u_int8_t flg_mask;			/* TCP flags mask byte */
115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)	u_int8_t flg_cmp;			/* TCP flags compare byte */
125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)	u_int8_t invflags;			/* Inverse flags */
135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)};
145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/* Values for "inv" field in struct ipt_tcp. */
165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define XT_TCP_INV_SRCPT	0x01	/* Invert the sense of source ports. */
175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define XT_TCP_INV_DSTPT	0x02	/* Invert the sense of dest ports. */
185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define XT_TCP_INV_FLAGS	0x04	/* Invert the sense of TCP flags. */
195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define XT_TCP_INV_OPTION	0x08	/* Invert the sense of option test. */
205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define XT_TCP_INV_MASK		0x0F	/* All possible flags. */
215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/* UDP matching stuff */
235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)struct xt_udp
245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles){
255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)	u_int16_t spts[2];			/* Source port range. */
265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)	u_int16_t dpts[2];			/* Destination port range. */
275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)	u_int8_t invflags;			/* Inverse flags */
285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)};
295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)
305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/* Values for "invflags" field in struct ipt_udp. */
31d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#define XT_UDP_INV_SRCPT	0x01	/* Invert the sense of source ports. */
32d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#define XT_UDP_INV_DSTPT	0x02	/* Invert the sense of dest ports. */
33d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)#define XT_UDP_INV_MASK	0x03	/* All possible flags. */
34d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)
35d5428f32f5d1719f774f62e19147104ca245a3abTorne (Richard Coles)
365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#endif
375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)