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