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