• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 			/* Used internally by the kernel */
27 			u_int32_t	count;
28 		} nth;
29 	} u;
30 	struct xt_statistic_info	*master __attribute__((aligned(8)));
31 };
32 
33 #endif /* _XT_STATISTIC_H */
34