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