1 #ifndef _XT_STATISTIC_H 2 #define _XT_STATISTIC_H 3 4 #include <linux/types.h> 5 6 enum xt_statistic_mode { 7 XT_STATISTIC_MODE_RANDOM, 8 XT_STATISTIC_MODE_NTH, 9 __XT_STATISTIC_MODE_MAX 10 }; 11 #define XT_STATISTIC_MODE_MAX (__XT_STATISTIC_MODE_MAX - 1) 12 13 enum xt_statistic_flags { 14 XT_STATISTIC_INVERT = 0x1, 15 }; 16 #define XT_STATISTIC_MASK 0x1 17 18 struct xt_statistic_priv; 19 20 struct xt_statistic_info { 21 __u16 mode; 22 __u16 flags; 23 union { 24 struct { 25 __u32 probability; 26 } random; 27 struct { 28 __u32 every; 29 __u32 packet; 30 __u32 count; /* unused */ 31 } nth; 32 } u; 33 struct xt_statistic_priv *master __attribute__((aligned(8))); 34 }; 35 36 #endif /* _XT_STATISTIC_H */ 37