1#ifndef _XT_STATISTIC_H 2#define _XT_STATISTIC_H 3 4#include <linux/types.h> 5 6enum 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 13enum xt_statistic_flags { 14 XT_STATISTIC_INVERT = 0x1, 15}; 16#define XT_STATISTIC_MASK 0x1 17 18struct xt_statistic_priv; 19 20struct 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