1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _XT_TCPUDP_H
3#define _XT_TCPUDP_H
4
5#include <linux/types.h>
6
7/* TCP matching stuff */
8struct xt_tcp {
9	__u16 spts[2];			/* Source port range. */
10	__u16 dpts[2];			/* Destination port range. */
11	__u8 option;			/* TCP Option iff non-zero*/
12	__u8 flg_mask;			/* TCP flags mask byte */
13	__u8 flg_cmp;			/* TCP flags compare byte */
14	__u8 invflags;			/* Inverse flags */
15};
16
17/* Values for "inv" field in struct ipt_tcp. */
18#define XT_TCP_INV_SRCPT	0x01	/* Invert the sense of source ports. */
19#define XT_TCP_INV_DSTPT	0x02	/* Invert the sense of dest ports. */
20#define XT_TCP_INV_FLAGS	0x04	/* Invert the sense of TCP flags. */
21#define XT_TCP_INV_OPTION	0x08	/* Invert the sense of option test. */
22#define XT_TCP_INV_MASK		0x0F	/* All possible flags. */
23
24/* UDP matching stuff */
25struct xt_udp {
26	__u16 spts[2];			/* Source port range. */
27	__u16 dpts[2];			/* Destination port range. */
28	__u8 invflags;			/* Inverse flags */
29};
30
31/* Values for "invflags" field in struct ipt_udp. */
32#define XT_UDP_INV_SRCPT	0x01	/* Invert the sense of source ports. */
33#define XT_UDP_INV_DSTPT	0x02	/* Invert the sense of dest ports. */
34#define XT_UDP_INV_MASK	0x03	/* All possible flags. */
35
36
37#endif
38