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