1#ifndef XT_HMARK_H_ 2#define XT_HMARK_H_ 3 4#include <linux/types.h> 5#include <linux/netfilter.h> 6 7enum { 8 XT_HMARK_SADDR_MASK, 9 XT_HMARK_DADDR_MASK, 10 XT_HMARK_SPI, 11 XT_HMARK_SPI_MASK, 12 XT_HMARK_SPORT, 13 XT_HMARK_DPORT, 14 XT_HMARK_SPORT_MASK, 15 XT_HMARK_DPORT_MASK, 16 XT_HMARK_PROTO_MASK, 17 XT_HMARK_RND, 18 XT_HMARK_MODULUS, 19 XT_HMARK_OFFSET, 20 XT_HMARK_CT, 21 XT_HMARK_METHOD_L3, 22 XT_HMARK_METHOD_L3_4, 23}; 24#define XT_HMARK_FLAG(flag) (1 << flag) 25 26union hmark_ports { 27 struct { 28 __u16 src; 29 __u16 dst; 30 } p16; 31 struct { 32 __be16 src; 33 __be16 dst; 34 } b16; 35 __u32 v32; 36 __be32 b32; 37}; 38 39struct xt_hmark_info { 40 union nf_inet_addr src_mask; 41 union nf_inet_addr dst_mask; 42 union hmark_ports port_mask; 43 union hmark_ports port_set; 44 __u32 flags; 45 __u16 proto_mask; 46 __u32 hashrnd; 47 __u32 hmodulus; 48 __u32 hoffset; /* Mark offset to start from */ 49}; 50 51#endif /* XT_HMARK_H_ */ 52